Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)

32,498 views

Published on

第11回 LL まつりの言語リスクセッションで発表したスライドです。

Published in: Technology
4 Comments
53 Likes
Statistics
Notes
  • あのツイートは回答ではなく、確定的なソースを出せないかなと思って書いたものでした。
    それはさておき、このスライドは個人の記憶と勢いだけで書いてしまったため、不正確になった部分、典拠が曖昧な部分がある事をお詫びいたします。
    なにとぞご容赦ください。
    今後とも、ご指導のほどよろしくお願いいたします。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • ウケ狙いで作ったスライドに、マジな突っ込みするな。と言われそうですが、だとしてもせめて楽屋でネタばらしくらいはしてください。
    よろしくお願いいたします。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Twitter の方でご回答をいただけたようですが、
    ( https://twitter.com/pik/status/371809180862001153 )
    実際、このスライドに書かれていることで、典拠とか確認出来る事柄はどれくらいあるのでしょうか?
    元 Borland の大野さんからも、時系列に対する突っ込みが入っていますし、Embarcadero の製品で Delphi を使っていたのは具体的にはなんなのでしょう?看板商品の ER/Studio が Delphi では無いく VisualStudio を使っていることは、実際に製品をインストールしてみればランタイムライブラリの名前から分かります。
    Java も C# も Delphi も Algol 由来の静的型付け言語ですよね?論旨が破綻してませんか?
    ARM のコンパイラは自社製品では無く LLVM/CLANG ですよね?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • >事実 .NET Framework 1.0 は VCL とバグを含めて 完全に一致
    とても興味があるのですが、具体的な内容をお聞かせいただけないでしょうか。
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
32,498
On SlideShare
0
From Embeds
0
Number of Embeds
2,050
Actions
Shares
0
Downloads
52
Comments
4
Likes
53
Embeds 0
No embeds

No notes for slide

Delphi 言語に見る顕在化する言語のリスクとは?(2013/08/24)

  1. 1. 株式会社シリアルゲームズ取締役 エンバカデロ MVP(Delphi) Delphi-ML 管理人 細川 淳
  2. 2. 自己紹介  株式会社シリアルゲームズ(http://www.serialgames.co.jp/)  サーバとクライアントの両方を制作可能です。  サーバとクライアントのワンパッケージを提供しています。  主にゲーム業界のバックエンドを支える業務をしています。  最近は iOS/Android の仕事も多く手がけています。  個人的には、クライアントサイドならなんでもやります。  言語はえり好みしませんが、 Delphi/ C / C++ / C# / Java / x86 MachineLanguage 等が守備範囲です。
  3. 3. クライアントサイド 開発環境について
  4. 4. クライアント開発言語・環境 クライアントサイドの開発というと最近は Visual Studio + C# + .NET Framework が、多いのではないでしょうか。 もちろん、他にも……
  5. 5. クライアント開発言語・環境 Adobe Air や "C++" + Qt とか Java Applet なんて 選択肢もあるかもしれません。 ところで……
  6. 6. 参考ページ C Sharp http://monobook.org/wiki/C_Sharp 簡単な Delphi の歴史 ドラマチックバージョン ※多少の誇張があります。 とある会社の悪口に思える部分が あるかもしれませんが、 そういう訳では無く、 ドラマチックにするための方便です! 個人的には好きな会社です。
  7. 7. Delphi の歴史 Delphi 1.0 は 1995 年に Windows 3.1 向け開発環境として 発売されました。 翌年 Windows 95 向けの Delphi 2.0 が発売されました。 その高速なコンパイラとビジュアルな開発手法で 全世界に熱狂的に受け入れられました。 しかし…… とある戦いに敗れた Delphi は、人々の記憶から消えて いったのです……。
  8. 8. VS Delphi の歴史 その戦いとは……
  9. 9. Delphi の歴史 この戦いの結果、創業メンバーが破れ追放されます。 フィリップ・カーンといった創業初期メンバーが居なくなったのは もとより…… アンダース ・ ヘルスバーグ (Anders Hejlsberg) と、彼のチームが Borland を去った事が、非常に大きな 痛手でした。 TypeScript を作ったり 今でも精力的に活動していますね
  10. 10. Delphi の歴史 Borland を去ったアンダースは、 悪魔に魂を売り 打倒 Borland を標榜します。 その悪魔の名は……
  11. 11. Delphi の歴史 開発ツール市場で Borland と競い合っていたライバル会社 であり、最大の巨人とタッグを組んだのです。
  12. 12. Delphi の歴史 Microsoft は Visual Basic という主力言語を 持っていたにも関わらず、 Delphi の圧倒的な完成度を 目の当たりにし、 Visual Basic から脱却する 道を選びました。
  13. 13. そして、Delphi は葬られた アンダースは、Microsoft の力を最大限に利用して C# .NET Framework を作り出しました。 しかし、その実態は
  14. 14. そして、Delphi は葬られた C# = Delphi 言語 (旧Object Pascal) .NET Framework = Visual Component Library だったのです。 事実 .NET Framework 1.0 は VCL とバグを含めて 完全に一致!していたのです。 Delphi の標準ライブラリ
  15. 15. そして、Delphi は葬られた そして Microsoft の巧みなセールス(※)によって、 グングン売り上げを伸ばした C# は Windows デスクトップ アプリケーションの開発環境として不動の地位を固めました。 その結果、Delphi は人々から忘れ去られ、 退場するかに思えました。 ちなみに、戦いに勝ったはずの Borland は、 その後売り上げ不振に陥り、MICRO FOCUS に買収され、 その歴史を終えました。 ※実体は強固な静的型付け言語である Pascal の亜種なのに Java の対抗馬のように宣伝して多くの Java プログラマを取り込み 業界を混乱に陥れたこと。
  16. 16. Embarcadero 登場 さて、時は現代に移り、舞台も少し変わります。 ここに、データベースツールを開発している Embarcadero Technologies (エンバカデロ・テクノロジーズ) という会社がありました。 事業は順調だったのですが、ある悩みがありました。
  17. 17. Embarcadero 登場 その悩みとは 開発環境がなくなっちゃうよお! (´;ω;`) ということでした。 そう、彼らが使っていたのは Delphi だったのです!
  18. 18. Embarcadero 登場 そして、Embarcadero は大胆な決断をします。 身売り先を探していた Borland の 開発部門(CodeGear)を買収したのです! このニュースは多くの報道機関に驚きを持って報じられました。
  19. 19. 復活する Delphi DB事業が順調に推移していた Embarcadero は潤沢な資金を持っていました。 (2300万ドルで CodeGear を買収できたことからも明らか) そして、Delphi / C++Builder といった 開発ツール事業に資金が投入されました。
  20. 20. 復活する Delphi そして時は動き出す
  21. 21. Delphi XE(Crossplatform Edition) 投入による マルチプラットフォーム戦略
  22. 22. マルチプラットフォーム戦略 こうして Embarcadero に買収された Delphi は着々と 復活の道を歩み始めます。 ここで、他の開発環境を考えてみると C# + .NET Framework は、Microsoft の製品です。 また、Objective-C + Xcode は、Apple の製品です。 そう、これらの人気のある環境で作ったアプリケーションは 1つの OS でしか動作しないのです!
  23. 23. マルチプラットフォーム戦略 ここで、Embarcadero の人たちは、 これだああああ!!! しゃべったああああああ ああ!!!
  24. 24. マルチプラットフォーム戦略 マルチプラットフォーム戦略で、 あいつらに 一矢報いてやる!!!!!! ※イメージ映像
  25. 25. マルチプラットフォーム戦略 こうして、Delphi は他の開発ツールベンダーにはできない、 マルチプラットフォームに大きく舵を切りました。 その結果、現在 Delphi は以下の環境をサポートしています。 Windows MacOS X iOS Android いまここ Delphi XE5 9月リリース予定! Android iOS もちろんタブレットも
  26. 26. 他にも、色々語りたい機能はありますが、本筋では無いので 割愛します。 たとえば、どうやってマルチプラットフォームで動くのかとか、 しかも、全部ネイティブコードにコンパイルされるとか、そのために intel だけじゃなく ARM のコンパイラも作っちゃったYo! とか…… あとで、個人的に聞いてください! ……と思いましたが、FireMonkey だけ!!
  27. 27. 安西先生……! FireMonkey (FM4) の 紹介がしたいです………… 松澤
  28. 28. FireMonkey FireMonkey (FM4) とは 2D/3D に対応した マルチプラットフォームライブラリ Windows / MacOS X / iOS / Android で動くライブラリで、 FM4 を使ったソースコードは、解像度にだけ気をつければ 自動的にマルチプラットフォームアプリになります!!
  29. 29. FireMonkey FireMonkey によるアプリケーション例 こんな3Dアプリも簡単に!しかもプラットフォームを選ばず作れます。
  30. 30. FireMonkey FireMonkey / VCL によるアプリケーション例 新たに導入された Style という考え方で、UI の見た目も自由自在
  31. 31. FireMonkey FireMonkey / VCL によるアプリケーション例 メディアライブラリの充実している FM4 は ビデオの再生もお手の物です。
  32. 32. FireMonkey FireMonkey によるアプリケーション例 3Dグラフィックも簡単に表現できます。 ※ Platform に最適なライブラリが 使われます。 Windows では DirectX MacOS X では OpenGL iOS / Android では OpenGL ES といったように
  33. 33. FireMonkey 実際に大手デベロッパーの採用事例が相次いでいます。 日本・ブラジルなどの市場では 前年比100%の売上増!
  34. 34. Delphi を使う リスクはあるのか?
  35. 35. 再び Delphi Delphi の歴史を紹介したことで 「リスクあるんじゃない? なんか色々あったし……」 そんなことを思いがちですが、 そうでもないんです!!
  36. 36. 再び Delphi  Delphi は TurboPascal から数えると30年。  これほど長きにわたって、メンテナンスされ 続けている環境はマレ!  コンパイラも、Version 25!  Object Pascal から Delphi 言語と名を変えて、 常に時代の最先端を走ってきたアイツ……  標準化組織などがないので、迅速に対応  今の言語のトレンドは、ほぼ全部扱えます。
  37. 37. 再び Delphi Delphi のライブラリ VCL - Visual Component Library  非常に長い間メンテナンスされつづけている  そのためバグが少ない FireMonkey  最新のライブラリ  マルチプラットフォーム対応  バグは、まだちょっとあります。
  38. 38. 安定性と最先端、 そして将来性…… リスクなどあろうか! もし、今の体制に 何かあっても、 またどこかが 買ってくれます
  39. 39. 結論
  40. 40. Delphiの事も、 たまには思い出して あげてください。

×