SlideShare a Scribd company logo
1 of 51
Download to read offline
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 1
Happy Creation, Play the Development!
ソフトウェア開発30年史
プログラマにとって変わらないもの
2018 02/16 D4
エンバカデロ・テクノロジーズ Delphi MVP
株式会社シリアルゲームズ 取締役
細川 淳
【16-D-4】
#devsumiD
#インターネット老人会
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 2
Happy Creation, Play the Development!
このセッションは…
• エンバカデロ・テクノロジーズのスポンサーセッションですが…
開発者が興味を持ち、面白いと思ってもらえることを
自由にしゃべってよいと言われています。
本日のおみあげはこちら。Delphi版の小型書籍が
ほしい方はコンポーネントソースブースへ
Delphiキャラクター
神野甘音
エンバカデロは ボーランドの開発ツール部門を引き継ぎ
Delphiをはじめとする開発ツールを提供しています。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 3
Happy Creation, Play the Development!
あんた誰?
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 4
Happy Creation, Play the Development!
細川 淳 (Twitter: @pik)
• 株式会社シリアルゲームズ
• エンバカデロ・テクノロジーズ Delphi MVP
• 最初に触ったマイコン: MZ-80K
• 最初に触った言語: SHARP BASIC
• 最初に触った統合開発環境:Turbo Pascal 5.0
https://edn.embarcadero.com/museum/antiquesoftware
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 5
Happy Creation, Play the Development!
• 学生時代に使った機種:PC-E500, FM-TOWNS II UX20, AT&T Globalyst 200
• 学生時代に使った言語:BASIC, MASM, C, Pascal, Object Pascal
• 学生時代に使ったエディタ:RED2, WZ-Editor
• 欲しかったマシン:DEC digital Hinote Ultra
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 6
Happy Creation, Play the Development!
シリアルゲームズ
• ゲームのサーバー・クライアント両方をワンストップで!
• 自社タイトル ピタッチ
• http://pitacchi.com/
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 7
Happy Creation, Play the Development!
混沌があった
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 8
Happy Creation, Play the Development!
• 低レベル言語の時代
– 機械語
– アセンブリ言語
• 研究の時代
• 高級言語の実用化
– FORTRAN
– LISP
– COBOL
– ALGOL
1950 • メインフレーム
– UNIVAC
– IBM 70x / 70xx シリーズなど
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 9
Happy Creation, Play the Development!
• 言語の発展
– CPL → BCPL → B → C
– BASIC
• オブジェクト指向
– Simula
• C の登場
– C
– Pascal
• 実用的なオブジェクト指向
– Smalltalk
– C++
– Objective-C
• 個人で使える開発環境の登場
– 各社 BASIC
– Borland Turbo シリーズ
– LSI-C
– Microsoft Basic / C など
1960
1970
1980
• ハードウェアアーキテクチャ確定へ
– IBM System/360
– 8bit = 1byte
– 2の補数
– マイクロコード
• ミニコンの誕生
– DEC PDP / VAX シリーズ
• Unix の誕生
• マイクロコンピュータの誕生
– マイコン
• パーソナルコンピュータの誕生
– CP/M, MS-DOS
– IBM PC/AT
– PC 8801 / 9801
– MZ / X1 / X68000
– FM / FM Towns
– MSX
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 10
Happy Creation, Play the Development!
未来を感じさせたワード達
• ニューメディア
– ビデオテックス
– CAPTAIN System
• マルチメディア
• テレビ電話
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 11
Happy Creation, Play the Development!
ジョン・バッカスは
「FORTRANあれ」と言われた。
するとFORTRANがあった。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 12
Happy Creation, Play the Development!
初期の言語
• FORTRAN
– 初期のコンピュータの目的でもあった弾道計算を簡単にするた
めに企図された言語。
– そのため、現在も科学技術計算用途として優れている。
• LISP
– 数学的な表記法をプログラムに持ち込むために考え出された)
– 人工知能系のプログラミングによく使われていた
• ALGOL
– 欧州の計算機科学者達が米国に対抗するために生まれた。
– アルゴリズム記述によく用いられた
• COBOL
– 事務処理システムの統一言語として誕生した
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 13
Happy Creation, Play the Development!
• どれも実際的な目的を持って開発されています
• ジョン・ワーナー・バッカスは「プログラムが嫌いだったので、
簡単にプログラムするために FORTRAN を作った」と言っていま
す。
• 今も受け継がれているプログラマの美徳「怠惰」
めんどくせー
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 14
Happy Creation, Play the Development!
研究の時代
• 当時、アセンブリ言語での記述が現実的な方法で、高級言語は現
実的ではないと考えられていました。
• FORTRAN は、最初から最適化コンパイラとして設計されていま
す。
• LISP も、また元々は「超循環評価器」の論文からスタートしてい
ます。
• ALGOL に至っては、そもそもアルゴリズム言語の略称でアルゴリ
ズムの研究に使われました。
– ALGOL から抽象的な概念や技法や記法が生み出されました。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 15
Happy Creation, Play the Development!
この時代は、新しい技術である高級言語に対する研究、そして新たな研究・探求、といった
サイクルを通して、次の時代へ繋がって行ったのです。
言語
探求発展
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 16
Happy Creation, Play the Development!
はじめに C ありき
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 17
Happy Creation, Play the Development!
C の誕生
• アセンブリ言語が主流だった時代に FORTRAN が誕生し、高級言
語が次々と誕生しました。
• そんな中 CPL, BCPL, B と続いた系列から遂に「C言語」が誕生し
ます。
• 汎用性・移植性の高さから C の文法を受け継いだ様々な言語が誕
生しました。
– もちろん C 系列ではない言語も誕生します。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 18
Happy Creation, Play the Development!
誕生した言語
• C 言語以降も様々な言語が誕生します。
• 特に 1990 年代は現代でも使われる多くの言語が誕生します。
• Python, Haskell, VisualBasic, Ruby また中でも 1995 年は Delphi(Object
Pascal), Java, PHP, JavaScript といった言語が誕生しています。
Delphi だって
現役だし!!
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 19
Happy Creation, Play the Development!
オブジェクト指向
• C とは別にオブジェクト指向という考え方も登場しました。
• 後の言語に大きな影響を与えた言語としては Simula, Smalltalk
があります。
• C と Simula, Smalltalk のオブジェクト指向を融合させた C++
と Objective-C が誕生します。
• 以降、多くのオブジェクト指向言語が続々と誕生します。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 20
Happy Creation, Play the Development!
スクリプト言語の隆盛
• コンピューティングパワーが上がるに連れてスクリプト言語も発
展しました。
• 面白い事に当初の高級言語と同様、スクリプト言語は速度の観点
から使い物にならないと考えられていました。
• それらを覆したのはインターネットの進展によってサーバ側の需
要が増したからかも知れません。
– スクリプト言語は、プログラムミスがあってもサーバそのものは落ちづら
いからです。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 21
Happy Creation, Play the Development!
Java の誕生
• そんな中ついに Java が誕生します。
– 元々は STB 用言語として開発されたことから、プログラムミスによる高
障害耐性がありました。
• Java によって現実的な実行環境としての Virtual Machine が実現
します。
Android のアプリは Java のハズなのに
良く落ちるって?
Android の Java は Java じゃないし…
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 22
Happy Creation, Play the Development!
VM の活用
• この Java の Virtual Machine の成功で、色々な VM が出てきま
す。
– C# CLR, ActionScript VM などです。
• さらに Java ではなく、他の言語をコンパイルし Java byte code
を出力するタイプの言語が出てきます。
• Scala, Kotlin, Groovy や、Clojure 等です。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 23
Happy Creation, Play the Development!
言語の変遷
• AI では従来 Lisp や Prolog といった言語が使われてきました。しかし、
Google が AI 分野でも Python を利用している事から、近年では
Python が AI 用の言語として台頭しています。
• JavaScript も元々のブラウザ上で動く、という枠から飛び出してサー
バサイドやクライアントのアプリも記述できるようになりました。
• C# は元々は Windows のアプリを作るための言語でしたが、近年では
モバイルやサーバサイドにも使われるようになっています。
• Delphi も元々は Windows アプリを作るための言語と環境でしたが、
現在は macOS, iOS, Android, Linux のアプリケーションを製作でき
るように発展しています。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 24
Happy Creation, Play the Development!
言語の探求から新しい言語が生まれ、さらに新しい考え方が誕生し、そしてさらに新しい言語
が登場します。言語はスパイラルで発展しました。
言語
探求解決
問題
応用
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 25
Happy Creation, Play the Development!
ハードウェアとともに
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 26
Happy Creation, Play the Development!
• コンピューターハードウェアの発展とともに OS も
進化を繰り返しました。
• 様々な概念や技術革新がハードウェアを発展させて
いきます。
• CPU では、CISC / RISC の戦いが起こったり、
キャッシュやクロック数を増大させたり、省電力化
のためのコードモーフィング(Transmeta
Crusoe)といった新しい技術が数多く生まれまし
た。
• ハードウェアの発展に合わせて OS も進化しました。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 27
Happy Creation, Play the Development!
色々な OS
• UNIX
– 言わずと知れた最も歴史がありコンピュータ
カルチャーそのもの
– Free BSD
• macOS などに
– Linux
• Android などに
• CP/M, MS-DOS
– パーソナルコンピュータ用の代表的なOS
• System, 漢字 Talk, Mac OS
– Apple Macintosh 用の OS
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 28
Happy Creation, Play the Development!
現代でコンシューマーよりの OS
• MS-Windows
– Microsoft 社の OS
• MacOS X, OS X, macOS
– Apple Macintosh 用 OS
• iOS
– Apple iPhone 用 OS
• Android
– Android Smart Phone 用 OS
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 29
Happy Creation, Play the Development!
覇権を争った?OS
• OS/2
– IBM PS/2のOSとしてIBMとマイクロソフトが
共同で開発
• NeXTSTEP, OPENSTEP
– スティーブ・ジョブズ率いる NeXT 社の OS
– Objective-C によるオブジェクト指向の OS
– Apple に買収された
• BeOS
– C++ によるオブジェクト指向の OS
• 現在 Haiku プロジェクトとして継続中
– Apple が採用を見送った
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 30
Happy Creation, Play the Development!
モバイル用 OS
• Newton OS
– Apple が作った世界初の PDA の Newton に
搭載された OS です。
– この時の経験が iOS にも生きています。
• Magic Cap
– General Magic 社が作った OS
– General Magic は、Apple や Microsoft と
いった様々な企業の出資で設立されました。
ここには後に Android を製作したアン
ディー・ルービンもいました。
• Palm OS
– PDA として最も成功した OS だと思います。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 31
Happy Creation, Play the Development!
• 様々な OS の試行錯誤によって遂にモバイルの時代が来ます。皆
さんご存じ iOS, Android です。
– Windows CE, Windows Phone, FireFox OS …
• iOS, Android については、またの機会に。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 32
Happy Creation, Play the Development!
OS / ハードウェアの仮想化
• 少し前までは仮想化というのは速度的にあり得ないという意見が
大勢でしたが、ハードウェアの進化で可能になりました。
• VMware や Hyper-V などの仮想化ソフトが出てきました。
– その他にも例えば BlueStack などのエミュレータもあります。
• Docker といったコンテナ技術も出てきました。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 33
Happy Creation, Play the Development!
ハードウェアの発展に伴って OS も発展を続けてきました。
その OS を知ることはハードウェアを知ることにもなり、また物理的な変化も訪れました。
OS
探求発展
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 34
Happy Creation, Play the Development!
開発環境?
秀丸だよ
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 35
Happy Creation, Play the Development!
エディタについて
• パンチカード
– 流石に読めませんが…
– 当然ですが磁気記録媒体やモニタの出現以前と以後でエディタが変わりま
す。
• ラインエディタ
– ed, edlin など
– 実際にこれでプログラム組むのはすごい辛い…
• テキストエディタ
– 高機能なエディタではなく、本当に初期のテキストを打つだけのもの
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 36
Happy Creation, Play the Development!
• ソースコードエディタ
– 色分けや補完などできるようになっているもの
– 有名処では vi / Vim, Emacs など
– 最近は、Sublime Text, Atom, Visual Studio Code と
いった新しい勢力が盛り上がってきて「マルチプラッ
トフォーム対応」や「ミニマップ」「マルチカーソ
ル」といった新しい機能も追加されたりしています。
ビルド環境
– テキストエディタでコードを書き、コンパイラ、リン
カ、を経て実行ファイルができあがりました。
– 1977 に make がリリースされます。
– CMake や Ninja, Bazel, MSBuild といったビルドシス
テムが今でも開発されています
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 37
Happy Creation, Play the Development!
バージョン管理
• 現代のプログラムにはバージョン管理システムも重要なファク
ターです
• Git, Mercurial, Subversion など、特に Git は人気のツールです
ね
パッケージマネージャ
• librarian といった *.obj を *.lib 化するツールもありました。
• 現代的なパッケージマネージャは依存関係を自動的に解決したり
する高機能なモノが多いです。
– NuGet, CocoaPods, GetIt など
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 38
Happy Creation, Play the Development!
ドキュメント生成ツール
– プログラム制作が大規模化するにつれてドキュメントについても重視され
るようになりました。
– ツールとしては、JavaDoc, Doxygen, JSDoc など様々なモノがあります。
トランスレーションツール
– マーケットが自国のみで閉じている時代から AppStore や Play Store と
いった全世界に展開されているマーケットに移行したことで多言語対応が
必須になってきました。
– Android のように文字列リソースを多言語化するアプローチや、Delphi
FireMonkey のようにコンポーネントとして多言語化するアプローチなど
様々なモノがあります。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 39
Happy Creation, Play the Development!
統合開発環境
• 開発が大規模になるに従い旧来のビルドツールでは不満な事や GUI 構
築の必要性から新しい形のツールが出てきました。
• それが統合開発環境です。
• コードの記述、コンパイル、リンク、を一括で実行し、さらにはデバッ
グ(統合デバッガ)まで出来るものです。
• 最初期の統合開発環境としては Borland の Turbo Pascal や Microsoft
の Programmer’s Workbench などがありました。
– Delphi は Turbo Pascal の進化形です。
• 現代では様々な統合開発環境があり、様々な言語や環境で使用されてい
ます。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 40
Happy Creation, Play the Development!
アプリケーション開発としての JavaScript
• JavaScript を使用したアプリ開発フレームワークも色々と出てい
ます。
– Apache Cordova
– Sencha
先日、エンバカデロ・テクノロジーズの
親会社 IDERA に買収されました
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 41
Happy Creation, Play the Development!
パンチカードからモニタへの移行などハードウェアの物理的変更から、開発環境もドラス
ティックに変化していきました。
環境
開発発展
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 42
Happy Creation, Play the Development!
アプセトネデブ
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 43
Happy Creation, Play the Development!
Internet 前夜
• ARPANET などで今のインターネットに繋がる技術が多く開発されました。
• また、個人間では Nifty-Serve や PC-VAN といったパソコン通信サービスが発達
しました。
– 猫の手スクロール
– 「やめろよな、あの半角カナ口調! 俺達のとこは禁止してるんだよ!!」
– You’ve Got mail
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 44
Happy Creation, Play the Development!
インターネットの登場
• インターネットの登場でソフトウェア開発にも多きな変革が起き
ます。
• WWW が誕生し様々なウェブブラウザが誕生しました。
• そこで、ブラウザをクライアントとして使ったり、サーバ側で多
くの処理を実行するなど、新しい考え方・技術が発展します。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 45
Happy Creation, Play the Development!
WWW
• ブラウザでは VB Script や JavaScript といったブラウザ上で動く
スクリプト言語が誕生します。
• Flash も登場しました。
– Future Splash を Macromedia が買収して、さらに Macromedia を
Adobe が買収して、ジョブズが殺しました。
– 他にも Director とか ActiveX という技術も誕生しました。
• 既に述べましたがサーバ側では Java や PHP, Python, Ruby と
いった言語が新しく誕生しました。
– Java は当初、サーバサイドではありませんでしたが…
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 46
Happy Creation, Play the Development!
クラウドの登場
• Amazon AWS, Google GCP, Microsoft Azure など
• OS の仮想化、SaaS (Software as a Service), ASP など様々な
サービスが展開されています。
• WebAPI とのやり取りなどで使う XML や JSON, BSON などの
データ形式も登場しました。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 47
Happy Creation, Play the Development!
IoT
• Internet Of Things で、色々なものがネットに繋がるように
• Raspberry Pi, mBed, IchigoJam などのワンボードコンピュータが登場しま
した
– 言語は C や BASIC といった往年の言語
– OS は Linux だったり、Android を載せたりできます。
• ワンボードコンピュータから IoT 機器を制御できます
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 48
Happy Creation, Play the Development!
スマートスピーカー
• 近年急速に存在感を増しているのがス
マートスピーカーです。
– Alexa, Google Home, Clova, HomePod
• 言語としては、JavaScript を使うことが
多いようです。
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 49
Happy Creation, Play the Development!
インターネットによって必要な技術も変わり新しい言語や技術が誕生しました
Web
探求発展
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 50
Happy Creation, Play the Development!
2018年
Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 51
Happy Creation, Play the Development!
• プログラマにとって変わらないモノ、それは「探究心・好奇心」ではないで
しょうか?これらが発展をもたらし新しい技術を生んで行きます。
• 2018 年には何が起きるのでしょう?
?
探求発展

More Related Content

What's hot

スマートフォンアプリ企画書ver.0.1
スマートフォンアプリ企画書ver.0.1スマートフォンアプリ企画書ver.0.1
スマートフォンアプリ企画書ver.0.1tmr2013
 
続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」
続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」
続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」Michiyo Fukada
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!Unity Technologies Japan K.K.
 
E-mail Restart 2023: Ondřej Kužílek - Budování značky v e-mail marketingu
E-mail Restart 2023: Ondřej Kužílek - Budování značky v e-mail marketinguE-mail Restart 2023: Ondřej Kužílek - Budování značky v e-mail marketingu
E-mail Restart 2023: Ondřej Kužílek - Budování značky v e-mail marketinguTaste
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話torisoup
 
ノンデザイナーのための配色理論
ノンデザイナーのための配色理論ノンデザイナーのための配色理論
ノンデザイナーのための配色理論tsukasa obara
 
チャットボットのUXと、導入現場のリアル:Webmaster Camp: 企業サイトの担当者が考えておきたい、AIとUIの今。
チャットボットのUXと、導入現場のリアル:Webmaster Camp: 企業サイトの担当者が考えておきたい、AIとUIの今。 チャットボットのUXと、導入現場のリアル:Webmaster Camp: 企業サイトの担当者が考えておきたい、AIとUIの今。
チャットボットのUXと、導入現場のリアル:Webmaster Camp: 企業サイトの担当者が考えておきたい、AIとUIの今。 Yoshiki Hayama
 
UIと2D/3Dと私 ~2D/3Dを混在させたUIを作ったら、とてもめんどくさかった話~
UIと2D/3Dと私 ~2D/3Dを混在させたUIを作ったら、とてもめんどくさかった話~ UIと2D/3Dと私 ~2D/3Dを混在させたUIを作ったら、とてもめんどくさかった話~
UIと2D/3Dと私 ~2D/3Dを混在させたUIを作ったら、とてもめんどくさかった話~ masayahamazaki
 
自律的なチームを作るために —組織心理学・臨床心理学の応用—
自律的なチームを作るために —組織心理学・臨床心理学の応用—自律的なチームを作るために —組織心理学・臨床心理学の応用—
自律的なチームを作るために —組織心理学・臨床心理学の応用—MILI-LLC
 
Data Restart 2022: Marina Mchedlishvili - How to build strong data strategies...
Data Restart 2022: Marina Mchedlishvili - How to build strong data strategies...Data Restart 2022: Marina Mchedlishvili - How to build strong data strategies...
Data Restart 2022: Marina Mchedlishvili - How to build strong data strategies...Taste
 
プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料Jun Chiba
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはKatsutoshi Makino
 
Startup Scienceの要諦 ①
Startup Scienceの要諦 ①Startup Scienceの要諦 ①
Startup Scienceの要諦 ①Masa Tadokoro
 
Test & Learn: How to Find Your Product's North Star Metric
Test & Learn: How to Find Your Product's North Star Metric Test & Learn: How to Find Your Product's North Star Metric
Test & Learn: How to Find Your Product's North Star Metric Optimizely
 
7 Habits of Breakthrough Entrepreneurs - Casual Connect 2015
7 Habits of Breakthrough Entrepreneurs - Casual Connect 20157 Habits of Breakthrough Entrepreneurs - Casual Connect 2015
7 Habits of Breakthrough Entrepreneurs - Casual Connect 2015Amy Jo Kim
 
【Unity道場】初心者のためのゲームジャムの心得
【Unity道場】初心者のためのゲームジャムの心得【Unity道場】初心者のためのゲームジャムの心得
【Unity道場】初心者のためのゲームジャムの心得Unity Technologies Japan K.K.
 
Budowanie Personal Brandingu na LinkedIn || Autokreacja || Anna Ledwoń 2019
Budowanie Personal Brandingu na LinkedIn || Autokreacja || Anna Ledwoń 2019Budowanie Personal Brandingu na LinkedIn || Autokreacja || Anna Ledwoń 2019
Budowanie Personal Brandingu na LinkedIn || Autokreacja || Anna Ledwoń 2019Anna Ledwoń-Blacha
 
【Gap】 リーン的ux開発最初の7つ。
【Gap】 リーン的ux開発最初の7つ。 【Gap】 リーン的ux開発最初の7つ。
【Gap】 リーン的ux開発最初の7つ。 Growth_Action_Program_Japan
 
正しくプロダクトを作り、リリースプランニングするためのプロダクトオーナーの役割とは
正しくプロダクトを作り、リリースプランニングするためのプロダクトオーナーの役割とは正しくプロダクトを作り、リリースプランニングするためのプロダクトオーナーの役割とは
正しくプロダクトを作り、リリースプランニングするためのプロダクトオーナーの役割とはNarichika Kajihara
 

What's hot (20)

スマートフォンアプリ企画書ver.0.1
スマートフォンアプリ企画書ver.0.1スマートフォンアプリ企画書ver.0.1
スマートフォンアプリ企画書ver.0.1
 
続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」
続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」
続・パワポは「最後」に開く-もっとみがく!プレゼン資料作成術「大掃除編」
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!
 
E-mail Restart 2023: Ondřej Kužílek - Budování značky v e-mail marketingu
E-mail Restart 2023: Ondřej Kužílek - Budování značky v e-mail marketinguE-mail Restart 2023: Ondřej Kužílek - Budování značky v e-mail marketingu
E-mail Restart 2023: Ondřej Kužílek - Budování značky v e-mail marketingu
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
ノンデザイナーのための配色理論
ノンデザイナーのための配色理論ノンデザイナーのための配色理論
ノンデザイナーのための配色理論
 
チャットボットのUXと、導入現場のリアル:Webmaster Camp: 企業サイトの担当者が考えておきたい、AIとUIの今。
チャットボットのUXと、導入現場のリアル:Webmaster Camp: 企業サイトの担当者が考えておきたい、AIとUIの今。 チャットボットのUXと、導入現場のリアル:Webmaster Camp: 企業サイトの担当者が考えておきたい、AIとUIの今。
チャットボットのUXと、導入現場のリアル:Webmaster Camp: 企業サイトの担当者が考えておきたい、AIとUIの今。
 
UIと2D/3Dと私 ~2D/3Dを混在させたUIを作ったら、とてもめんどくさかった話~
UIと2D/3Dと私 ~2D/3Dを混在させたUIを作ったら、とてもめんどくさかった話~ UIと2D/3Dと私 ~2D/3Dを混在させたUIを作ったら、とてもめんどくさかった話~
UIと2D/3Dと私 ~2D/3Dを混在させたUIを作ったら、とてもめんどくさかった話~
 
自律的なチームを作るために —組織心理学・臨床心理学の応用—
自律的なチームを作るために —組織心理学・臨床心理学の応用—自律的なチームを作るために —組織心理学・臨床心理学の応用—
自律的なチームを作るために —組織心理学・臨床心理学の応用—
 
Data Restart 2022: Marina Mchedlishvili - How to build strong data strategies...
Data Restart 2022: Marina Mchedlishvili - How to build strong data strategies...Data Restart 2022: Marina Mchedlishvili - How to build strong data strategies...
Data Restart 2022: Marina Mchedlishvili - How to build strong data strategies...
 
プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料プロジェクトテーマパーク説明資料
プロジェクトテーマパーク説明資料
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
 
Pivotの極意
Pivotの極意Pivotの極意
Pivotの極意
 
Startup Scienceの要諦 ①
Startup Scienceの要諦 ①Startup Scienceの要諦 ①
Startup Scienceの要諦 ①
 
Test & Learn: How to Find Your Product's North Star Metric
Test & Learn: How to Find Your Product's North Star Metric Test & Learn: How to Find Your Product's North Star Metric
Test & Learn: How to Find Your Product's North Star Metric
 
7 Habits of Breakthrough Entrepreneurs - Casual Connect 2015
7 Habits of Breakthrough Entrepreneurs - Casual Connect 20157 Habits of Breakthrough Entrepreneurs - Casual Connect 2015
7 Habits of Breakthrough Entrepreneurs - Casual Connect 2015
 
【Unity道場】初心者のためのゲームジャムの心得
【Unity道場】初心者のためのゲームジャムの心得【Unity道場】初心者のためのゲームジャムの心得
【Unity道場】初心者のためのゲームジャムの心得
 
Budowanie Personal Brandingu na LinkedIn || Autokreacja || Anna Ledwoń 2019
Budowanie Personal Brandingu na LinkedIn || Autokreacja || Anna Ledwoń 2019Budowanie Personal Brandingu na LinkedIn || Autokreacja || Anna Ledwoń 2019
Budowanie Personal Brandingu na LinkedIn || Autokreacja || Anna Ledwoń 2019
 
【Gap】 リーン的ux開発最初の7つ。
【Gap】 リーン的ux開発最初の7つ。 【Gap】 リーン的ux開発最初の7つ。
【Gap】 リーン的ux開発最初の7つ。
 
正しくプロダクトを作り、リリースプランニングするためのプロダクトオーナーの役割とは
正しくプロダクトを作り、リリースプランニングするためのプロダクトオーナーの役割とは正しくプロダクトを作り、リリースプランニングするためのプロダクトオーナーの役割とは
正しくプロダクトを作り、リリースプランニングするためのプロダクトオーナーの役割とは
 

Similar to ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの

Delphi Community Edition Meet up !
Delphi Community Edition Meet up !Delphi Community Edition Meet up !
Delphi Community Edition Meet up !Jun Hosokawa
 
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術Toru Yamaguchi
 
いまさら聞けない!HTML5超入門
いまさら聞けない!HTML5超入門いまさら聞けない!HTML5超入門
いまさら聞けない!HTML5超入門Monaca
 
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”Drecom Co., Ltd.
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングRyohei Kamiya
 
エヌビディアのディープラーニング戦略
エヌビディアのディープラーニング戦略エヌビディアのディープラーニング戦略
エヌビディアのディープラーニング戦略NVIDIA Japan
 
Kansumi2013 tamagawa
Kansumi2013 tamagawaKansumi2013 tamagawa
Kansumi2013 tamagawaSORACOM, INC
 
iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流Rakuten Group, Inc.
 
Sencha & Delphi Ready Studiy
Sencha & Delphi Ready StudiySencha & Delphi Ready Studiy
Sencha & Delphi Ready StudiyJun Hosokawa
 
Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論Akio Hoshi
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術kazuya noshiro
 
ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布
ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布
ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布Tomokazu Kizawa
 
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜Kazuho Oku
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方dena_study
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconDeNA
 
ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」Tomokazu Kizawa
 
事例で学ぶHTML5スマフォアプリ開発セミナー
事例で学ぶHTML5スマフォアプリ開発セミナー事例で学ぶHTML5スマフォアプリ開発セミナー
事例で学ぶHTML5スマフォアプリ開発セミナーMonaca
 

Similar to ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの (20)

Delphi Community Edition Meet up !
Delphi Community Edition Meet up !Delphi Community Edition Meet up !
Delphi Community Edition Meet up !
 
革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術革新的ブラウザゲームを支えるプラットフォーム技術
革新的ブラウザゲームを支えるプラットフォーム技術
 
いまさら聞けない!HTML5超入門
いまさら聞けない!HTML5超入門いまさら聞けない!HTML5超入門
いまさら聞けない!HTML5超入門
 
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
[CEDEC2014]モバイルゲームにおける社内基盤開発と“実録”
 
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
 
ソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティングソニーのディープラーニングツールで簡単エッジコンピューティング
ソニーのディープラーニングツールで簡単エッジコンピューティング
 
エヌビディアのディープラーニング戦略
エヌビディアのディープラーニング戦略エヌビディアのディープラーニング戦略
エヌビディアのディープラーニング戦略
 
Kansumi2013 tamagawa
Kansumi2013 tamagawaKansumi2013 tamagawa
Kansumi2013 tamagawa
 
iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流iPhoneとAndroidのアプリ開発最新潮流
iPhoneとAndroidのアプリ開発最新潮流
 
Sencha & Delphi Ready Studiy
Sencha & Delphi Ready StudiySencha & Delphi Ready Studiy
Sencha & Delphi Ready Studiy
 
Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論Developers Summit 2013【15-B-8】タブレット進化論
Developers Summit 2013【15-B-8】タブレット進化論
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術Unity開発で週イチ呑み会を支える技術
Unity開発で週イチ呑み会を支える技術
 
HoloLab_20191016_ceatec
HoloLab_20191016_ceatecHoloLab_20191016_ceatec
HoloLab_20191016_ceatec
 
ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布
ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布
ユニバーサル Windowsプラットフォーム(UWP)アプリの開発と配布
 
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
ウェブブラウザの時代は終わるのか 〜スマホアプリとHTML5の未来〜
 
DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方DeNA流cocos2d xとの付き合い方
DeNA流cocos2d xとの付き合い方
 
Unityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechconUnityネイティブプラグインマニアクス #denatechcon
Unityネイティブプラグインマニアクス #denatechcon
 
ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」ゆうMUG講演「きれいなマイクロソフトは好きですか?」
ゆうMUG講演「きれいなマイクロソフトは好きですか?」
 
事例で学ぶHTML5スマフォアプリ開発セミナー
事例で学ぶHTML5スマフォアプリ開発セミナー事例で学ぶHTML5スマフォアプリ開発セミナー
事例で学ぶHTML5スマフォアプリ開発セミナー
 

More from Jun Hosokawa

ソースコードの共通化
ソースコードの共通化ソースコードの共通化
ソースコードの共通化Jun Hosokawa
 
2016/11/21 社内LT Android TV
2016/11/21 社内LT Android TV2016/11/21 社内LT Android TV
2016/11/21 社内LT Android TVJun Hosokawa
 
TImageList / TGlyph の使い方
TImageList / TGlyph の使い方TImageList / TGlyph の使い方
TImageList / TGlyph の使い方Jun Hosokawa
 
VCL ユーザーのための FireMonkey 入門
VCL ユーザーのための FireMonkey 入門VCL ユーザーのための FireMonkey 入門
VCL ユーザーのための FireMonkey 入門Jun Hosokawa
 
Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)Jun Hosokawa
 
Delphi Debut Tokyo #1 - FireMonkey HD の基本
Delphi Debut Tokyo #1 - FireMonkey HD の基本Delphi Debut Tokyo #1 - FireMonkey HD の基本
Delphi Debut Tokyo #1 - FireMonkey HD の基本Jun Hosokawa
 
Delphi のダメな所
Delphi のダメな所Delphi のダメな所
Delphi のダメな所Jun Hosokawa
 
知っておいて欲しい Android の基礎知識
知っておいて欲しい Android の基礎知識知っておいて欲しい Android の基礎知識
知っておいて欲しい Android の基礎知識Jun Hosokawa
 
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッションDeveloper Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッションJun Hosokawa
 
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介Jun Hosokawa
 
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)Jun Hosokawa
 

More from Jun Hosokawa (14)

ソースコードの共通化
ソースコードの共通化ソースコードの共通化
ソースコードの共通化
 
2016/11/21 社内LT Android TV
2016/11/21 社内LT Android TV2016/11/21 社内LT Android TV
2016/11/21 社内LT Android TV
 
31st DevCamp Eve
31st DevCamp Eve31st DevCamp Eve
31st DevCamp Eve
 
TImageList / TGlyph の使い方
TImageList / TGlyph の使い方TImageList / TGlyph の使い方
TImageList / TGlyph の使い方
 
VCL ユーザーのための FireMonkey 入門
VCL ユーザーのための FireMonkey 入門VCL ユーザーのための FireMonkey 入門
VCL ユーザーのための FireMonkey 入門
 
CnPack の紹介
CnPack の紹介CnPack の紹介
CnPack の紹介
 
Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)Delphi のひみつ!(2015/01/29 CROSS 2015)
Delphi のひみつ!(2015/01/29 CROSS 2015)
 
Delphi Debut Tokyo #1 - FireMonkey HD の基本
Delphi Debut Tokyo #1 - FireMonkey HD の基本Delphi Debut Tokyo #1 - FireMonkey HD の基本
Delphi Debut Tokyo #1 - FireMonkey HD の基本
 
Delphi のダメな所
Delphi のダメな所Delphi のダメな所
Delphi のダメな所
 
知っておいて欲しい Android の基礎知識
知っておいて欲しい Android の基礎知識知っておいて欲しい Android の基礎知識
知っておいて欲しい Android の基礎知識
 
Developer Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッションDeveloper Summit 2014, 13-C-4 セッション
Developer Summit 2014, 13-C-4 セッション
 
CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介CROSS 2014 - 言語CROSS:Delphi のご紹介
CROSS 2014 - 言語CROSS:Delphi のご紹介
 
Dev camp25 lt
Dev camp25 ltDev camp25 lt
Dev camp25 lt
 
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)
 

ソフトウェア開発30年史を振り返りつつ考えるプログラマにとって変わらないもの

  • 1. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 1 Happy Creation, Play the Development! ソフトウェア開発30年史 プログラマにとって変わらないもの 2018 02/16 D4 エンバカデロ・テクノロジーズ Delphi MVP 株式会社シリアルゲームズ 取締役 細川 淳 【16-D-4】 #devsumiD #インターネット老人会
  • 2. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 2 Happy Creation, Play the Development! このセッションは… • エンバカデロ・テクノロジーズのスポンサーセッションですが… 開発者が興味を持ち、面白いと思ってもらえることを 自由にしゃべってよいと言われています。 本日のおみあげはこちら。Delphi版の小型書籍が ほしい方はコンポーネントソースブースへ Delphiキャラクター 神野甘音 エンバカデロは ボーランドの開発ツール部門を引き継ぎ Delphiをはじめとする開発ツールを提供しています。
  • 3. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 3 Happy Creation, Play the Development! あんた誰?
  • 4. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 4 Happy Creation, Play the Development! 細川 淳 (Twitter: @pik) • 株式会社シリアルゲームズ • エンバカデロ・テクノロジーズ Delphi MVP • 最初に触ったマイコン: MZ-80K • 最初に触った言語: SHARP BASIC • 最初に触った統合開発環境:Turbo Pascal 5.0 https://edn.embarcadero.com/museum/antiquesoftware
  • 5. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 5 Happy Creation, Play the Development! • 学生時代に使った機種:PC-E500, FM-TOWNS II UX20, AT&T Globalyst 200 • 学生時代に使った言語:BASIC, MASM, C, Pascal, Object Pascal • 学生時代に使ったエディタ:RED2, WZ-Editor • 欲しかったマシン:DEC digital Hinote Ultra
  • 6. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 6 Happy Creation, Play the Development! シリアルゲームズ • ゲームのサーバー・クライアント両方をワンストップで! • 自社タイトル ピタッチ • http://pitacchi.com/
  • 7. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 7 Happy Creation, Play the Development! 混沌があった
  • 8. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 8 Happy Creation, Play the Development! • 低レベル言語の時代 – 機械語 – アセンブリ言語 • 研究の時代 • 高級言語の実用化 – FORTRAN – LISP – COBOL – ALGOL 1950 • メインフレーム – UNIVAC – IBM 70x / 70xx シリーズなど
  • 9. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 9 Happy Creation, Play the Development! • 言語の発展 – CPL → BCPL → B → C – BASIC • オブジェクト指向 – Simula • C の登場 – C – Pascal • 実用的なオブジェクト指向 – Smalltalk – C++ – Objective-C • 個人で使える開発環境の登場 – 各社 BASIC – Borland Turbo シリーズ – LSI-C – Microsoft Basic / C など 1960 1970 1980 • ハードウェアアーキテクチャ確定へ – IBM System/360 – 8bit = 1byte – 2の補数 – マイクロコード • ミニコンの誕生 – DEC PDP / VAX シリーズ • Unix の誕生 • マイクロコンピュータの誕生 – マイコン • パーソナルコンピュータの誕生 – CP/M, MS-DOS – IBM PC/AT – PC 8801 / 9801 – MZ / X1 / X68000 – FM / FM Towns – MSX
  • 10. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 10 Happy Creation, Play the Development! 未来を感じさせたワード達 • ニューメディア – ビデオテックス – CAPTAIN System • マルチメディア • テレビ電話
  • 11. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 11 Happy Creation, Play the Development! ジョン・バッカスは 「FORTRANあれ」と言われた。 するとFORTRANがあった。
  • 12. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 12 Happy Creation, Play the Development! 初期の言語 • FORTRAN – 初期のコンピュータの目的でもあった弾道計算を簡単にするた めに企図された言語。 – そのため、現在も科学技術計算用途として優れている。 • LISP – 数学的な表記法をプログラムに持ち込むために考え出された) – 人工知能系のプログラミングによく使われていた • ALGOL – 欧州の計算機科学者達が米国に対抗するために生まれた。 – アルゴリズム記述によく用いられた • COBOL – 事務処理システムの統一言語として誕生した
  • 13. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 13 Happy Creation, Play the Development! • どれも実際的な目的を持って開発されています • ジョン・ワーナー・バッカスは「プログラムが嫌いだったので、 簡単にプログラムするために FORTRAN を作った」と言っていま す。 • 今も受け継がれているプログラマの美徳「怠惰」 めんどくせー
  • 14. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 14 Happy Creation, Play the Development! 研究の時代 • 当時、アセンブリ言語での記述が現実的な方法で、高級言語は現 実的ではないと考えられていました。 • FORTRAN は、最初から最適化コンパイラとして設計されていま す。 • LISP も、また元々は「超循環評価器」の論文からスタートしてい ます。 • ALGOL に至っては、そもそもアルゴリズム言語の略称でアルゴリ ズムの研究に使われました。 – ALGOL から抽象的な概念や技法や記法が生み出されました。
  • 15. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 15 Happy Creation, Play the Development! この時代は、新しい技術である高級言語に対する研究、そして新たな研究・探求、といった サイクルを通して、次の時代へ繋がって行ったのです。 言語 探求発展
  • 16. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 16 Happy Creation, Play the Development! はじめに C ありき
  • 17. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 17 Happy Creation, Play the Development! C の誕生 • アセンブリ言語が主流だった時代に FORTRAN が誕生し、高級言 語が次々と誕生しました。 • そんな中 CPL, BCPL, B と続いた系列から遂に「C言語」が誕生し ます。 • 汎用性・移植性の高さから C の文法を受け継いだ様々な言語が誕 生しました。 – もちろん C 系列ではない言語も誕生します。
  • 18. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 18 Happy Creation, Play the Development! 誕生した言語 • C 言語以降も様々な言語が誕生します。 • 特に 1990 年代は現代でも使われる多くの言語が誕生します。 • Python, Haskell, VisualBasic, Ruby また中でも 1995 年は Delphi(Object Pascal), Java, PHP, JavaScript といった言語が誕生しています。 Delphi だって 現役だし!!
  • 19. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 19 Happy Creation, Play the Development! オブジェクト指向 • C とは別にオブジェクト指向という考え方も登場しました。 • 後の言語に大きな影響を与えた言語としては Simula, Smalltalk があります。 • C と Simula, Smalltalk のオブジェクト指向を融合させた C++ と Objective-C が誕生します。 • 以降、多くのオブジェクト指向言語が続々と誕生します。
  • 20. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 20 Happy Creation, Play the Development! スクリプト言語の隆盛 • コンピューティングパワーが上がるに連れてスクリプト言語も発 展しました。 • 面白い事に当初の高級言語と同様、スクリプト言語は速度の観点 から使い物にならないと考えられていました。 • それらを覆したのはインターネットの進展によってサーバ側の需 要が増したからかも知れません。 – スクリプト言語は、プログラムミスがあってもサーバそのものは落ちづら いからです。
  • 21. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 21 Happy Creation, Play the Development! Java の誕生 • そんな中ついに Java が誕生します。 – 元々は STB 用言語として開発されたことから、プログラムミスによる高 障害耐性がありました。 • Java によって現実的な実行環境としての Virtual Machine が実現 します。 Android のアプリは Java のハズなのに 良く落ちるって? Android の Java は Java じゃないし…
  • 22. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 22 Happy Creation, Play the Development! VM の活用 • この Java の Virtual Machine の成功で、色々な VM が出てきま す。 – C# CLR, ActionScript VM などです。 • さらに Java ではなく、他の言語をコンパイルし Java byte code を出力するタイプの言語が出てきます。 • Scala, Kotlin, Groovy や、Clojure 等です。
  • 23. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 23 Happy Creation, Play the Development! 言語の変遷 • AI では従来 Lisp や Prolog といった言語が使われてきました。しかし、 Google が AI 分野でも Python を利用している事から、近年では Python が AI 用の言語として台頭しています。 • JavaScript も元々のブラウザ上で動く、という枠から飛び出してサー バサイドやクライアントのアプリも記述できるようになりました。 • C# は元々は Windows のアプリを作るための言語でしたが、近年では モバイルやサーバサイドにも使われるようになっています。 • Delphi も元々は Windows アプリを作るための言語と環境でしたが、 現在は macOS, iOS, Android, Linux のアプリケーションを製作でき るように発展しています。
  • 24. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 24 Happy Creation, Play the Development! 言語の探求から新しい言語が生まれ、さらに新しい考え方が誕生し、そしてさらに新しい言語 が登場します。言語はスパイラルで発展しました。 言語 探求解決 問題 応用
  • 25. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 25 Happy Creation, Play the Development! ハードウェアとともに
  • 26. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 26 Happy Creation, Play the Development! • コンピューターハードウェアの発展とともに OS も 進化を繰り返しました。 • 様々な概念や技術革新がハードウェアを発展させて いきます。 • CPU では、CISC / RISC の戦いが起こったり、 キャッシュやクロック数を増大させたり、省電力化 のためのコードモーフィング(Transmeta Crusoe)といった新しい技術が数多く生まれまし た。 • ハードウェアの発展に合わせて OS も進化しました。
  • 27. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 27 Happy Creation, Play the Development! 色々な OS • UNIX – 言わずと知れた最も歴史がありコンピュータ カルチャーそのもの – Free BSD • macOS などに – Linux • Android などに • CP/M, MS-DOS – パーソナルコンピュータ用の代表的なOS • System, 漢字 Talk, Mac OS – Apple Macintosh 用の OS
  • 28. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 28 Happy Creation, Play the Development! 現代でコンシューマーよりの OS • MS-Windows – Microsoft 社の OS • MacOS X, OS X, macOS – Apple Macintosh 用 OS • iOS – Apple iPhone 用 OS • Android – Android Smart Phone 用 OS
  • 29. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 29 Happy Creation, Play the Development! 覇権を争った?OS • OS/2 – IBM PS/2のOSとしてIBMとマイクロソフトが 共同で開発 • NeXTSTEP, OPENSTEP – スティーブ・ジョブズ率いる NeXT 社の OS – Objective-C によるオブジェクト指向の OS – Apple に買収された • BeOS – C++ によるオブジェクト指向の OS • 現在 Haiku プロジェクトとして継続中 – Apple が採用を見送った
  • 30. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 30 Happy Creation, Play the Development! モバイル用 OS • Newton OS – Apple が作った世界初の PDA の Newton に 搭載された OS です。 – この時の経験が iOS にも生きています。 • Magic Cap – General Magic 社が作った OS – General Magic は、Apple や Microsoft と いった様々な企業の出資で設立されました。 ここには後に Android を製作したアン ディー・ルービンもいました。 • Palm OS – PDA として最も成功した OS だと思います。
  • 31. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 31 Happy Creation, Play the Development! • 様々な OS の試行錯誤によって遂にモバイルの時代が来ます。皆 さんご存じ iOS, Android です。 – Windows CE, Windows Phone, FireFox OS … • iOS, Android については、またの機会に。
  • 32. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 32 Happy Creation, Play the Development! OS / ハードウェアの仮想化 • 少し前までは仮想化というのは速度的にあり得ないという意見が 大勢でしたが、ハードウェアの進化で可能になりました。 • VMware や Hyper-V などの仮想化ソフトが出てきました。 – その他にも例えば BlueStack などのエミュレータもあります。 • Docker といったコンテナ技術も出てきました。
  • 33. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 33 Happy Creation, Play the Development! ハードウェアの発展に伴って OS も発展を続けてきました。 その OS を知ることはハードウェアを知ることにもなり、また物理的な変化も訪れました。 OS 探求発展
  • 34. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 34 Happy Creation, Play the Development! 開発環境? 秀丸だよ
  • 35. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 35 Happy Creation, Play the Development! エディタについて • パンチカード – 流石に読めませんが… – 当然ですが磁気記録媒体やモニタの出現以前と以後でエディタが変わりま す。 • ラインエディタ – ed, edlin など – 実際にこれでプログラム組むのはすごい辛い… • テキストエディタ – 高機能なエディタではなく、本当に初期のテキストを打つだけのもの
  • 36. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 36 Happy Creation, Play the Development! • ソースコードエディタ – 色分けや補完などできるようになっているもの – 有名処では vi / Vim, Emacs など – 最近は、Sublime Text, Atom, Visual Studio Code と いった新しい勢力が盛り上がってきて「マルチプラッ トフォーム対応」や「ミニマップ」「マルチカーソ ル」といった新しい機能も追加されたりしています。 ビルド環境 – テキストエディタでコードを書き、コンパイラ、リン カ、を経て実行ファイルができあがりました。 – 1977 に make がリリースされます。 – CMake や Ninja, Bazel, MSBuild といったビルドシス テムが今でも開発されています
  • 37. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 37 Happy Creation, Play the Development! バージョン管理 • 現代のプログラムにはバージョン管理システムも重要なファク ターです • Git, Mercurial, Subversion など、特に Git は人気のツールです ね パッケージマネージャ • librarian といった *.obj を *.lib 化するツールもありました。 • 現代的なパッケージマネージャは依存関係を自動的に解決したり する高機能なモノが多いです。 – NuGet, CocoaPods, GetIt など
  • 38. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 38 Happy Creation, Play the Development! ドキュメント生成ツール – プログラム制作が大規模化するにつれてドキュメントについても重視され るようになりました。 – ツールとしては、JavaDoc, Doxygen, JSDoc など様々なモノがあります。 トランスレーションツール – マーケットが自国のみで閉じている時代から AppStore や Play Store と いった全世界に展開されているマーケットに移行したことで多言語対応が 必須になってきました。 – Android のように文字列リソースを多言語化するアプローチや、Delphi FireMonkey のようにコンポーネントとして多言語化するアプローチなど 様々なモノがあります。
  • 39. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 39 Happy Creation, Play the Development! 統合開発環境 • 開発が大規模になるに従い旧来のビルドツールでは不満な事や GUI 構 築の必要性から新しい形のツールが出てきました。 • それが統合開発環境です。 • コードの記述、コンパイル、リンク、を一括で実行し、さらにはデバッ グ(統合デバッガ)まで出来るものです。 • 最初期の統合開発環境としては Borland の Turbo Pascal や Microsoft の Programmer’s Workbench などがありました。 – Delphi は Turbo Pascal の進化形です。 • 現代では様々な統合開発環境があり、様々な言語や環境で使用されてい ます。
  • 40. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 40 Happy Creation, Play the Development! アプリケーション開発としての JavaScript • JavaScript を使用したアプリ開発フレームワークも色々と出てい ます。 – Apache Cordova – Sencha 先日、エンバカデロ・テクノロジーズの 親会社 IDERA に買収されました
  • 41. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 41 Happy Creation, Play the Development! パンチカードからモニタへの移行などハードウェアの物理的変更から、開発環境もドラス ティックに変化していきました。 環境 開発発展
  • 42. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 42 Happy Creation, Play the Development! アプセトネデブ
  • 43. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 43 Happy Creation, Play the Development! Internet 前夜 • ARPANET などで今のインターネットに繋がる技術が多く開発されました。 • また、個人間では Nifty-Serve や PC-VAN といったパソコン通信サービスが発達 しました。 – 猫の手スクロール – 「やめろよな、あの半角カナ口調! 俺達のとこは禁止してるんだよ!!」 – You’ve Got mail
  • 44. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 44 Happy Creation, Play the Development! インターネットの登場 • インターネットの登場でソフトウェア開発にも多きな変革が起き ます。 • WWW が誕生し様々なウェブブラウザが誕生しました。 • そこで、ブラウザをクライアントとして使ったり、サーバ側で多 くの処理を実行するなど、新しい考え方・技術が発展します。
  • 45. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 45 Happy Creation, Play the Development! WWW • ブラウザでは VB Script や JavaScript といったブラウザ上で動く スクリプト言語が誕生します。 • Flash も登場しました。 – Future Splash を Macromedia が買収して、さらに Macromedia を Adobe が買収して、ジョブズが殺しました。 – 他にも Director とか ActiveX という技術も誕生しました。 • 既に述べましたがサーバ側では Java や PHP, Python, Ruby と いった言語が新しく誕生しました。 – Java は当初、サーバサイドではありませんでしたが…
  • 46. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 46 Happy Creation, Play the Development! クラウドの登場 • Amazon AWS, Google GCP, Microsoft Azure など • OS の仮想化、SaaS (Software as a Service), ASP など様々な サービスが展開されています。 • WebAPI とのやり取りなどで使う XML や JSON, BSON などの データ形式も登場しました。
  • 47. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 47 Happy Creation, Play the Development! IoT • Internet Of Things で、色々なものがネットに繋がるように • Raspberry Pi, mBed, IchigoJam などのワンボードコンピュータが登場しま した – 言語は C や BASIC といった往年の言語 – OS は Linux だったり、Android を載せたりできます。 • ワンボードコンピュータから IoT 機器を制御できます
  • 48. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 48 Happy Creation, Play the Development! スマートスピーカー • 近年急速に存在感を増しているのがス マートスピーカーです。 – Alexa, Google Home, Clova, HomePod • 言語としては、JavaScript を使うことが 多いようです。
  • 49. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 49 Happy Creation, Play the Development! インターネットによって必要な技術も変わり新しい言語や技術が誕生しました Web 探求発展
  • 50. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 50 Happy Creation, Play the Development! 2018年
  • 51. Copyright © 2018 SERIALGAMES Inc. All Rights Reserved. PAGE 51 Happy Creation, Play the Development! • プログラマにとって変わらないモノ、それは「探究心・好奇心」ではないで しょうか?これらが発展をもたらし新しい技術を生んで行きます。 • 2018 年には何が起きるのでしょう? ? 探求発展