View
1.503
Download
2
Category
Preview:
DESCRIPTION
1980年代からのソフトウェア開発の歴史振り返り。ネタ&主観多めで
Citation preview
ソフトウェア開発の歴史を振り返る
でむら なりかず
13/08/04
自己紹介
13/08/04
この本の著者です
13/08/04
で、本題
13/08/04
今回はネタ&主観の成分多めで
13/08/04
ソフトウェア開発の遍歴をたどってみる
13/08/04
温故知新。歴史を知っておくと後で役立つよ
13/08/04
1980年代
13/08/04
8ビットCPU搭載のコンピュータが主流
13/08/04
PC88MSXX1MZ
FM77
13/08/04
CPUはZ80、6809
13/08/04
この頃、大半のパソコン少年が読んでた
雑誌は
13/08/04
マイコンBASICマガジン
(通称ベーマガ)
13/08/04http://replayburners.web.fc2.com/ab2/info_spthanks.html
13/08/04
掲載されているソースコードを写経
して実行
13/08/04
入力がすべて完了しても、正しく動作す
るとは限らない
13/08/04
この時代の開発スタイル
13/08/04
BASICが主。高速に処理する箇所のみ
機械語
13/08/04
市販ソフトでも珍しくない手法(大戦略とか)
13/08/04
アセンブリ言語
機械語
LD A, 23HLD B, 30HADD A,B 人が読みやすいINC ASUB C
CE23063080 人が読みにくい3C CPUは読みやすい90
13/08/04
機械語のコードはどのように用意する
のか?
13/08/04
アセンブラを使うハンドアセンブル
13/08/04
「俺がアセンブラだ!」という開発手法
13/08/04
詳しく書くと
13/08/04
(1)アセンブリコードを紙に書く
13/08/04
(2)オペコード表を見ながら、自分で機械
語に置き換える
13/08/04http://map.grauw.nl/resources/z80instr.php
13/08/04
なんでそんなに面倒くさいことする
のか?
13/08/04
アセンブラ(ソフトウェア)は高級品。パソコン少年には
買えない
13/08/04
そんな金あったらゲーム買ってるわ!
13/08/04
この頃のパソコン少年はアセンブリ言語が使える人が多い
13/08/04
機械語からアセンブリコードへの
脳内変換も可能(ただしZ80限定)
13/08/04
今では冗談のようなホントの話
13/08/04
なぜBASICと機械語のみで開発するの
か?
13/08/04
- 実行速度的な理由- 開発環境的な理由
13/08/04
C言語はワークステーションなどの特権階級向け
の言語
13/08/04
大学などの教育機関でしか使えない
13/08/04
1980年代はこんな感じ
13/08/04
1990年代
13/08/04
パソコンのCPUは32ビット化が進む
13/08/04
i386
13/08/04
Windows 3.1Windows 95
OS/2
13/08/04
この頃の(個人的な)愛読書
13/08/04
C ManagineOh! X
出版社はどちらもソフトバンク系列ですね
13/08/04
13/08/04
X68kユーザではなかったがプログラミングの勉強になった
13/08/04
閑話休題
13/08/04
画期的なソフトウェアが登場する
13/08/04
PC-UNIX
13/08/04
386BSD(後のFreeBSD)
Linux
13/08/04
無償で利用できる本格的なOS
13/08/04
Linux を本格OSなんて言うと無茶苦茶怒られた時代
13/08/04
開発環境も無償で入手可能
13/08/04
C言語が気軽にPCで使える様になった
13/08/04
ほかにもいろんなパソコンが
ありましたね
13/08/04
PC9801Mac
AMIGAX68000
13/08/04
一方、組み込み系開発では
13/08/04
このころのCPU
13/08/04
Z8068000ARMMIPS
あたりがメインだったような
13/08/04
開発スタイル
13/08/04
8~16bit CPU = アセンブリ言語のみ
13/08/04
32bit CPU = C言語
+ アセンブリ言語
13/08/04
基本はC言語。高速化が必要な箇所のみア
センブリ言語
13/08/04
H/WC言語 アセンブラ
13/08/04
この流れでMIPS(R3000)のアセンブリコードを
書きまくった...
13/08/04
2000年代
13/08/04
32~64ビットCPU
13/08/04
64ビットCPUは存在したが移行は遅々
として進まず...
13/08/04
Windows 2000Windows XP
13/08/04
Linuxの地位向上。サーバー用途で利用
されるようになった。
13/08/04
ソフトウェア開発
13/08/04
特定OS向けソフトウェアから
Webを媒体にしたソフトウェアが増える
13/08/04
H/W
インタプリタスクリプト言語
ブラウザJavaScript
OS
JavaScript / C#
13/08/04
ソフトウェア開発の傾向
13/08/04
プラットフォームがネイティブ
からWebへ
13/08/04
動作環境がネイティブ
からVirutualMachine
へ
13/08/04
H/Wからアプリまでのレイヤー(層)が増加の一途
13/08/04
一方で
13/08/04
C言語が分からない人が増えている(らしい)
13/08/04
一因として教える学校が減っている
(某高専生からの情報)
13/08/04
C言語で開発されるソフトウェアは依然として多い
(Linuxカーネルなど)
13/08/04
ましてやアセンブリ言語は...
13/08/04
アセンブリ言語が必要な場面は、開発全体の比率で見る
と、年々減少してる
13/08/04
ただ、ゼロとなることはない。いつの時
代も必要な知識
13/08/04
低レイヤーができる=
他のエンジニアと差がつく
13/08/04そこでこの本をオススメ
13/08/04
ご静聴ありがとうございました
Recommended