SlideShare a Scribd company logo
1 of 12
Andreas Raab の想い出

     2013年1月31日 山宮隆
Andreas Raab さんって誰?



         教育向けプログラミング環境
          Squeak の Windows 版開発者
Andreas Raab さんって誰?



            未来のプログラミング
                環境の研究者
Andreas Raab さんって誰?



           コミュニティリーダー、
              企業人、家庭人。
Andreas の想い出


• 2003年 未踏ソフトウェア事業成果発表会
        C5 での Croquet 発表を聴く
• 2004 年 Croquet 開発に参加
• 2005 年 パロアルト HP Lab 滞在 Tweak 開発
僕が選んだ印象に残る仕事

• MultiString 改良: 多言語対応クラス構成がすっきり
• TeaTime 実用化: コラボレーション環境の基礎
• Island: 堅牢なシステムの基礎
• Script Process: 協調プロセス
• Tweak: 未来のプログラミング環境
MultiString 改良
      Symbol 親クラスの統合
   AbstractString を String に変更
 誰もが直したいと思っていたが、
相当の意思、技術力、速度が無いと不可
              能。。。
TeaTime 実用化




•   TeaTime = 遠隔の二つのマシンを同期する仕組み
•   当初 David P Reed が完全 P2P を志向していたが失敗
•   Andreas Raab が時刻管理サーバを用い実用化
Island: 堅牢なシステムの基礎
               他のマシンでもOK(Croquet)




 メモリを island で区切る。
 他の island へは非同期メッセージで通信
ScriptProcess: 協調プロセス
•   イベント一つにプロセス一つ
•   同時に一つのプロセスしか走らない(協調プロセス)
•   つまり、イベントドリブンとマルチスレッドの良いと
    こ取り。
        button := CPushButton new.
        button label: 'Button'.
        button open.
        button waitUntil: #click.
        Smalltalk beep.

Squeak では、(言語作者では無く)
プログラマが Process を改造出来
           る。
Tweak: 未来のプログラミング環
                    境
   Tweak GUI による画面階層関係と論理的依存関係の分離
   (Morphic では、画面階層関係がそのままオブジェクトグラフ
   • Player / Costume: 依存関係を記述
   • PrimitiveCostume: 画面階層を記述
Andreas Raab




1968 - 2013

More Related Content

Similar to Andreas Raab の想い出

ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来Kazuto Kusama
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較Ryota Suzuki
 
Windows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミングWindows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミングYuya Yamaki
 
Thriftを用いた分散型のNyancatを作ってきた
Thriftを用いた分散型のNyancatを作ってきたThriftを用いた分散型のNyancatを作ってきた
Thriftを用いた分散型のNyancatを作ってきたHuy Do
 
2014年12月13日 アカリクITイベント 川原尚人_スライド
2014年12月13日 アカリクITイベント 川原尚人_スライド2014年12月13日 アカリクITイベント 川原尚人_スライド
2014年12月13日 アカリクITイベント 川原尚人_スライドnkawahara
 
コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響Masahito Zembutsu
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker雄哉 吉田
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...Shinji Takao
 
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」Takuya ASADA
 
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOpsデブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOpsDevelopers Summit
 
第0回bluemixユーザー会 Bluemix最新情報 BMXUG
第0回bluemixユーザー会 Bluemix最新情報 BMXUG第0回bluemixユーザー会 Bluemix最新情報 BMXUG
第0回bluemixユーザー会 Bluemix最新情報 BMXUGNoriyuki Egi
 
01 idea table3.1(up)
01 idea table3.1(up)01 idea table3.1(up)
01 idea table3.1(up)umisuzume
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングterurou
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていくRyo Mitoma
 
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたWASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたMITSUNARI Shigeo
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?Masahito Zembutsu
 
ChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすDaisuke Taniwaki
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Masahito Zembutsu
 
反復型ソフトウェア開発の勘所
反復型ソフトウェア開発の勘所反復型ソフトウェア開発の勘所
反復型ソフトウェア開発の勘所Yoshifumi Tsuda
 

Similar to Andreas Raab の想い出 (20)

ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
 
【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較【2017年】ディープラーニングのフレームワーク比較
【2017年】ディープラーニングのフレームワーク比較
 
Windows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミングWindows 8時代のUXを支える非同期プログラミング
Windows 8時代のUXを支える非同期プログラミング
 
Thriftを用いた分散型のNyancatを作ってきた
Thriftを用いた分散型のNyancatを作ってきたThriftを用いた分散型のNyancatを作ってきた
Thriftを用いた分散型のNyancatを作ってきた
 
2014年12月13日 アカリクITイベント 川原尚人_スライド
2014年12月13日 アカリクITイベント 川原尚人_スライド2014年12月13日 アカリクITイベント 川原尚人_スライド
2014年12月13日 アカリクITイベント 川原尚人_スライド
 
コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響コンテナ技術と普及がシステム・インテグレータに与える影響
コンテナ技術と普及がシステム・インテグレータに与える影響
 
捕鯨!詳解docker
捕鯨!詳解docker捕鯨!詳解docker
捕鯨!詳解docker
 
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
GraalVMのJavaネイティブビルド機能でどの程度起動が速くなるのか?~サーバレス基盤上での評価~ / How fast does GraalVM's...
 
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
高スループットなサーバアプリケーションの為の新しいフレームワーク
「Seastar」
 
デブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOpsデブサミ2013【15-D-4】Opsから挑むDevOps
デブサミ2013【15-D-4】Opsから挑むDevOps
 
第0回bluemixユーザー会 Bluemix最新情報 BMXUG
第0回bluemixユーザー会 Bluemix最新情報 BMXUG第0回bluemixユーザー会 Bluemix最新情報 BMXUG
第0回bluemixユーザー会 Bluemix最新情報 BMXUG
 
01 idea table3.1(up)
01 idea table3.1(up)01 idea table3.1(up)
01 idea table3.1(up)
 
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミングDLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
 
作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく作る人から作りながら運用する人になっていく
作る人から作りながら運用する人になっていく
 
WASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみたWASM(WebAssembly)入門 ペアリング演算やってみた
WASM(WebAssembly)入門 ペアリング演算やってみた
 
Docker Machineを始めるには?
Docker Machineを始めるには?Docker Machineを始めるには?
Docker Machineを始めるには?
 
ChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かすChainerMNをDocker containerで動かす
ChainerMNをDocker containerで動かす
 
Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤Storm×couchbase serverで作るリアルタイム解析基盤
Storm×couchbase serverで作るリアルタイム解析基盤
 
Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19Docker hands on nifty sakura jul19
Docker hands on nifty sakura jul19
 
反復型ソフトウェア開発の勘所
反復型ソフトウェア開発の勘所反復型ソフトウェア開発の勘所
反復型ソフトウェア開発の勘所
 

Recently uploaded

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価sugiuralab
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールsugiuralab
 

Recently uploaded (8)

Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価プレイマットのパターン生成支援ツールの評価
プレイマットのパターン生成支援ツールの評価
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
プレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツールプレイマットのパターン生成支援ツール
プレイマットのパターン生成支援ツール
 

Andreas Raab の想い出

  • 1. Andreas Raab の想い出 2013年1月31日 山宮隆
  • 2. Andreas Raab さんって誰? 教育向けプログラミング環境 Squeak の Windows 版開発者
  • 3. Andreas Raab さんって誰? 未来のプログラミング 環境の研究者
  • 4. Andreas Raab さんって誰? コミュニティリーダー、 企業人、家庭人。
  • 5. Andreas の想い出 • 2003年 未踏ソフトウェア事業成果発表会 C5 での Croquet 発表を聴く • 2004 年 Croquet 開発に参加 • 2005 年 パロアルト HP Lab 滞在 Tweak 開発
  • 6. 僕が選んだ印象に残る仕事 • MultiString 改良: 多言語対応クラス構成がすっきり • TeaTime 実用化: コラボレーション環境の基礎 • Island: 堅牢なシステムの基礎 • Script Process: 協調プロセス • Tweak: 未来のプログラミング環境
  • 7. MultiString 改良 Symbol 親クラスの統合 AbstractString を String に変更 誰もが直したいと思っていたが、 相当の意思、技術力、速度が無いと不可 能。。。
  • 8. TeaTime 実用化 • TeaTime = 遠隔の二つのマシンを同期する仕組み • 当初 David P Reed が完全 P2P を志向していたが失敗 • Andreas Raab が時刻管理サーバを用い実用化
  • 9. Island: 堅牢なシステムの基礎 他のマシンでもOK(Croquet) メモリを island で区切る。 他の island へは非同期メッセージで通信
  • 10. ScriptProcess: 協調プロセス • イベント一つにプロセス一つ • 同時に一つのプロセスしか走らない(協調プロセス) • つまり、イベントドリブンとマルチスレッドの良いと こ取り。 button := CPushButton new. button label: 'Button'. button open. button waitUntil: #click. Smalltalk beep. Squeak では、(言語作者では無く) プログラマが Process を改造出来 る。
  • 11. Tweak: 未来のプログラミング環 境 Tweak GUI による画面階層関係と論理的依存関係の分離 (Morphic では、画面階層関係がそのままオブジェクトグラフ • Player / Costume: 依存関係を記述 • PrimitiveCostume: 画面階層を記述