ソフトウェア開発の
歴史を振り返る
でむら なりかず
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
PC88
MSX
X1
MZ
FM77
13/08/04
CPUは
Z80、6809
13/08/04
この頃、大半のパソ
コン少年が読んでた
雑誌は
13/08/04
マイコンBASIC
マガジン
(通称ベーマガ)
13/08/04
http://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, 23H
LD B, 30H
ADD A,B 人が読みやすい
INC A
SUB C
CE23
0630
80      人が読みにくい
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/04
http://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.1
Windows 95
OS/2
13/08/04
この頃の
(個人的な)愛読書
13/08/04
C Managine
Oh! 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
PC9801
Mac
AMIGA
X68000
13/08/04
一方、組み込み系
開発では
13/08/04
このころのCPU
13/08/04
Z80
68000
ARM
MIPS
あたりがメインだったような
13/08/04
開発スタイル
13/08/04
8~16bit CPU =
アセンブリ言語のみ
13/08/04
32bit CPU =
C言語
+ アセンブリ言語
13/08/04
基本はC言語。高速化
が必要な箇所のみア
センブリ言語
13/08/04
H/W
C言語 アセンブラ
13/08/04
この流れで
MIPS(R3000)の
アセンブリコードを
書きまくった...
13/08/04
2000年代
13/08/04
32~64ビットCPU
13/08/04
64ビットCPUは存
在したが移行は遅々
として進まず...
13/08/04
Windows 2000
Windows 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
ご静聴ありがとうご
ざいました

ソフトウェア開発の歴史を振り返る