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

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