GC生誕50周年を
                        祝って
                    A Semicentennial history of the GC

                            ...
自己紹介
自己紹介


       ✓ nari/中村 成洋です
       ✓ 福岡生まれ、島根在住
       ✓ NaCl勤務


                                                       ...
自己紹介

       ✓ GC歴 3.5年(駆け出し)
               ✓ GC界の中では最弱

       ✓ アイス工場歴 3年
       ✓ 大体一緒くらい

                           ...
本を書きました
 
GC本を知ってる人
    ノシ
おぉ…
持ってる人
  ノシ
なんと…
全部読んだ人
  ノシ
僕だけですね!
今日話すこと
GCに興味を持ってもらう
今日話すこと

       ✓ GCとは
       ✓ 偉人達と共にあるGC
       ✓ 魅力
       ✓ まとめ

                                                      ...
今日はなす事

       ✓ GCとは
       ✓ 偉人達と共にあるGC
       ✓ 魅力
       ✓ まとめ

                                                      ...
GCとは
GCとは

                           プログラムが動的に確
                           保したメモリ領域のう
                           ち、不要になった領域を
 ...
GC = ゴミ集め
ナウい言語にGCは必須
       ✓ Ruby
       ✓ Perl
       ✓ Java
       ✓ Haskell
       ✓ etc..
                                    ...
そんなGCの仕組みは驚く
 ほど知られていない
さまざまな噂
GC = 魔法?
魔法として登場




        よくわかる現代魔法 2 ガーベージコ
        レクター              23/99
GC生誕50周年を祝って - A Semicentennial history of the GC  ...
帯にも

                           古(いにしえ)からの魔
                           法、ガベージコレクショ
                           ンの秘密を完全解説
  ...
GC = 一子相伝?
GC好き = 秘密結社?
プログラミングが本当に
               好きな人の中にはGC
               Loverというタイプの人
               が結構います。教科書
               がほとんどないので、な
  ...
そんなGC
歴史は古い


       ✓ 1960年に論文発表
       ✓ 今年は「GC生誕50周年」!!
       ✓ GCイヤー


                                                    ...
歴史を
さかのぼってみよう
今日はなす事

       ✓ GCとは
       ✓ 偉人達と共にあるGC
       ✓ 魅力
       ✓ まとめ

                                                      ...
偉人達と共にあるGC
実はGCは偉人達と共にあ
      る
John McCarthy
(ジョン・マッカーシー)
 


    http://www.flickr.com/photos/null0/272015955/
どんな人?


       ✓ LISPの父
       ✓ 人工知能の父
       ✓ チューリング賞受賞


                                                             ...
GCとのつきあい
GCとのつきあい


       ✓ 実はGCの父でもある
       ✓ Mark Sweep GC
       ✓ 50年前に論文を発表

                                               ...
LISPからGCは産まれた

       ✓ 最初はなかった
       ✓ Listの操作とかが面倒だったらし
         い
       ✓ ほどなくしてD. Edwardsが実装し
         たそう
         ...
こんな話も
ルンバ




                                                                   41/99
GC生誕50周年を祝って - A Semicentennial history o...
ルンバの中ではLISPが動
    いている!
やっぱゴミ集めはLispに
                           任せろって
                 [「Lightweight Language Weekend: Language Update
          ...
Marvin L. Minsky
(マービン・ミンスキー)
 


taken by Bcjordan : http://en.wikipedia.org/wiki/File:Marvin_Minsky_at_OLPCb.jpg
どんな人?


       ✓ 人工知能の父
       ✓ チューリング賞受賞


                                                             46/99
GC生誕50周年を祝...
GCとのつきあい


       ✓ GCアルゴリズムを作成
       ✓ Copy GC(47年前)


                                                             47/9...
Edsger Wybe Dijkstra
(エドガー・ダイクストラ)
 


photo ©2002 Hamilton Richards : http://userweb.cs.utexas.edu/users/EWD/
経歴


       ✓ ダイクストラ法(最短経路問題)
       ✓ セマフォ考案
       ✓ チューリング賞受賞


                                                       ...
GCとのつきあい


       ✓ 三色マーキング
       ✓ Dijkstraのライトバリア


                                                             51/99
...
Donald Ervin Knuth
(ドナルド・クヌース)
 


Flickr user Jacob Appelbaum : http://flickr.com/photos/ioerror/56359970/in/set-1220741/
経歴
       ✓ Tex
       ✓ METAFONT
       ✓ The Art of Computer
         Programming 鋭意執筆中
       ✓ チューリング賞受賞
             ...
GCとのつきあい



       ✓ Lisp2(マークコンパクトGC)



                                                             55/99
GC生誕50周年を祝って ...
Guy Steele Jr.
(ガイ・スティール)
 


    http://labs.oracle.com/people/mybio.php?uid=25706
経歴

       ✓ Schemeの設計
       ✓ Java言語仕様まとめ
       ✓ 並列アルゴリズムの研究
       ✓ ACMグレース・ホッパー賞受賞

                               ...
GCとのつきあい

       ✓ 並列GCの論文発表(学生時代)
       ✓ ACM Student Award 1975の1位
         論文
       ✓ GCの研究で世界的に有名になっ
         た
    ...
竹内郁雄先生
 


    http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/01/01.html
経歴

       ✓ 竹内関数(≒tak関数)
       ✓ LISPの神様
       ✓ TAO
       ✓ 未踏ソフトウェア事業

                                             ...
 


    http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/01/01.html
GCとのつきあい

       ✓ 実時間 GC アルゴリズム実装 =>
         TAO
       ✓ GC本監修を引き受けてくださっ
         た!!

                                ...
まつもとゆきひろさん
 
経歴


       ✓ Ruby作者
       ✓ 日経BP技術賞大賞受賞


                                                                  67/99
GC生誕50...
GCとのつきあい


       ✓ CRubyにGCを実装
       ✓ お仕事でGCを実装(レア!)


                                                             68/...
紹介しきれないけど、まだま
   だ偉人がいる!
竹内先生曰くGCとは

                           50年近くも火が消えず
                           に (ボーボーと燃えてい
                           るわけで...
なぜGCは多くの偉人を引
   きつけたのか?
その魅力について
今日はなす事

       ✓ GCとは
       ✓ 偉人達と共にあるGC
       ✓ 魅力
       ✓ まとめ

                                                      ...
魅力
私が考える魅力



           1. 制約が多い



                                                             75/99
GC生誕50周年を祝って - A Semi...
制約が多い
GCは自由ではない


       ✓ 言語処理系に気を遣ったり
       ✓ OSに気を遣ったり


                                                             77/99
...
制約から工夫が生まれる
工夫を作るのは楽しい!
私が考える魅力


           1. 制約が多い
           2. 広い土壌


                                                             80/99
GC生誕...
広い土壌
広い土壌


       ✓ 様々な人を受け入れる寛容さ
       ✓ 偉人達を見てもいろんな分野の人
         が!!


                                                    ...
私が考える魅力


           1. 制約が多い
           2. 広い土壌
           3. 楽しい


                                                     ...
楽しい
楽しい

       ✓ 純粋に楽しい
       ✓ 偉人達のCoolな工夫が見れる
       ✓ さっぱり上手く行かない、から楽し
         い

                                      ...
私が考える魅力

           1. 制約が多い
           2. 広い土壌
           3. 楽しい
           4. 勉強になる

                                   ...
勉強になる
それぞれの偉人達を振り返る


       ✓ 決してGCが本業ではない
       ✓ それ以外の分野で大きな実績
       ✓ GCは修行であった


                                        ...
修行としてのGC!!
GC = 「虎の穴」
今日はなす事

       ✓ GCとは
       ✓ 偉人達と共にあるGC
       ✓ 魅力
       ✓ まとめ

                                                      ...
まとめ
GCは多くの人にとって
 楽しい修行である
そんなGCを使ってばかり
  じゃもったいない
偉人達を見習って…
GCを知って遠くへ行こう!
最後に
 
ご静聴
ありがとうございました。
Upcoming SlideShare
Loading in...5
×

GC生誕50周年を祝って

1,880

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,880
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

GC生誕50周年を祝って

  1. 1. GC生誕50周年を 祝って A Semicentennial history of the GC nari/中村 成洋 ネットワーク応用通信研究所 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  2. 2. 自己紹介
  3. 3. 自己紹介 ✓ nari/中村 成洋です ✓ 福岡生まれ、島根在住 ✓ NaCl勤務 2/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  4. 4. 自己紹介 ✓ GC歴 3.5年(駆け出し) ✓ GC界の中では最弱 ✓ アイス工場歴 3年 ✓ 大体一緒くらい 3/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  5. 5. 本を書きました
  6. 6.  
  7. 7. GC本を知ってる人 ノシ
  8. 8. おぉ…
  9. 9. 持ってる人 ノシ
  10. 10. なんと…
  11. 11. 全部読んだ人 ノシ
  12. 12. 僕だけですね!
  13. 13. 今日話すこと
  14. 14. GCに興味を持ってもらう
  15. 15. 今日話すこと ✓ GCとは ✓ 偉人達と共にあるGC ✓ 魅力 ✓ まとめ 14/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  16. 16. 今日はなす事 ✓ GCとは ✓ 偉人達と共にあるGC ✓ 魅力 ✓ まとめ 15/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  17. 17. GCとは
  18. 18. GCとは プログラムが動的に確 保したメモリ領域のう ち、不要になった領域を 自動的に解放する機能 [「ガベージコレクション - Wikipedia」より引用] 17/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  19. 19. GC = ゴミ集め
  20. 20. ナウい言語にGCは必須 ✓ Ruby ✓ Perl ✓ Java ✓ Haskell ✓ etc.. 19/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  21. 21. そんなGCの仕組みは驚く ほど知られていない
  22. 22. さまざまな噂
  23. 23. GC = 魔法?
  24. 24. 魔法として登場 よくわかる現代魔法 2 ガーベージコ レクター 23/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  25. 25. 帯にも 古(いにしえ)からの魔 法、ガベージコレクショ ンの秘密を完全解説 [「ガベージコレクションのアルゴリズムと実装 − 帯」より 引用] 24/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  26. 26. GC = 一子相伝?
  27. 27. GC好き = 秘密結社?
  28. 28. プログラミングが本当に 好きな人の中にはGC Loverというタイプの人 が結構います。教科書 がほとんどないので、な にか秘密結社めかた連 帯感がその人たちの間 にあるような気がしま す。 [「ガベージコレクションのアルゴリズムと実装 − 監修者 27/99 GC生誕50周年を祝って - A Semicentennial history of the GC 前書き」より引用by Rabbit 0.6.4 Powered ]
  29. 29. そんなGC
  30. 30. 歴史は古い ✓ 1960年に論文発表 ✓ 今年は「GC生誕50周年」!! ✓ GCイヤー 29/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  31. 31. 歴史を さかのぼってみよう
  32. 32. 今日はなす事 ✓ GCとは ✓ 偉人達と共にあるGC ✓ 魅力 ✓ まとめ 31/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  33. 33. 偉人達と共にあるGC
  34. 34. 実はGCは偉人達と共にあ る
  35. 35. John McCarthy (ジョン・マッカーシー)
  36. 36.   http://www.flickr.com/photos/null0/272015955/
  37. 37. どんな人? ✓ LISPの父 ✓ 人工知能の父 ✓ チューリング賞受賞 36/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  38. 38. GCとのつきあい
  39. 39. GCとのつきあい ✓ 実はGCの父でもある ✓ Mark Sweep GC ✓ 50年前に論文を発表 38/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  40. 40. LISPからGCは産まれた ✓ 最初はなかった ✓ Listの操作とかが面倒だったらし い ✓ ほどなくしてD. Edwardsが実装し たそう 39/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  41. 41. こんな話も
  42. 42. ルンバ 41/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  43. 43. ルンバの中ではLISPが動 いている!
  44. 44. やっぱゴミ集めはLispに 任せろって [「Lightweight Language Weekend: Language Update (Common Lisp) 竹内郁雄先生」より引用] 43/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  45. 45. Marvin L. Minsky (マービン・ミンスキー)
  46. 46.   taken by Bcjordan : http://en.wikipedia.org/wiki/File:Marvin_Minsky_at_OLPCb.jpg
  47. 47. どんな人? ✓ 人工知能の父 ✓ チューリング賞受賞 46/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  48. 48. GCとのつきあい ✓ GCアルゴリズムを作成 ✓ Copy GC(47年前) 47/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  49. 49. Edsger Wybe Dijkstra (エドガー・ダイクストラ)
  50. 50.   photo ©2002 Hamilton Richards : http://userweb.cs.utexas.edu/users/EWD/
  51. 51. 経歴 ✓ ダイクストラ法(最短経路問題) ✓ セマフォ考案 ✓ チューリング賞受賞 50/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  52. 52. GCとのつきあい ✓ 三色マーキング ✓ Dijkstraのライトバリア 51/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  53. 53. Donald Ervin Knuth (ドナルド・クヌース)
  54. 54.   Flickr user Jacob Appelbaum : http://flickr.com/photos/ioerror/56359970/in/set-1220741/
  55. 55. 経歴 ✓ Tex ✓ METAFONT ✓ The Art of Computer Programming 鋭意執筆中 ✓ チューリング賞受賞 54/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  56. 56. GCとのつきあい ✓ Lisp2(マークコンパクトGC) 55/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  57. 57. Guy Steele Jr. (ガイ・スティール)
  58. 58.   http://labs.oracle.com/people/mybio.php?uid=25706
  59. 59. 経歴 ✓ Schemeの設計 ✓ Java言語仕様まとめ ✓ 並列アルゴリズムの研究 ✓ ACMグレース・ホッパー賞受賞 58/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  60. 60. GCとのつきあい ✓ 並列GCの論文発表(学生時代) ✓ ACM Student Award 1975の1位 論文 ✓ GCの研究で世界的に有名になっ た 59/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  61. 61. 竹内郁雄先生
  62. 62.   http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/01/01.html
  63. 63. 経歴 ✓ 竹内関数(≒tak関数) ✓ LISPの神様 ✓ TAO ✓ 未踏ソフトウェア事業 62/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  64. 64.   http://jibun.atmarkit.co.jp/ljibun01/rensai/genius/01/01.html
  65. 65. GCとのつきあい ✓ 実時間 GC アルゴリズム実装 => TAO ✓ GC本監修を引き受けてくださっ た!! 64/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  66. 66. まつもとゆきひろさん
  67. 67.  
  68. 68. 経歴 ✓ Ruby作者 ✓ 日経BP技術賞大賞受賞 67/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  69. 69. GCとのつきあい ✓ CRubyにGCを実装 ✓ お仕事でGCを実装(レア!) 68/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  70. 70. 紹介しきれないけど、まだま だ偉人がいる!
  71. 71. 竹内先生曰くGCとは 50年近くも火が消えず に (ボーボーと燃えてい るわけではないが) 研 究が続けられている基 幹技術である。 [「2008年度下期未踏ユース「オープンかつポータブルな データベースガーベジコレクション」採択理由」より引用] 70/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  72. 72. なぜGCは多くの偉人を引 きつけたのか?
  73. 73. その魅力について
  74. 74. 今日はなす事 ✓ GCとは ✓ 偉人達と共にあるGC ✓ 魅力 ✓ まとめ 73/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  75. 75. 魅力
  76. 76. 私が考える魅力 1. 制約が多い 75/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  77. 77. 制約が多い
  78. 78. GCは自由ではない ✓ 言語処理系に気を遣ったり ✓ OSに気を遣ったり 77/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  79. 79. 制約から工夫が生まれる
  80. 80. 工夫を作るのは楽しい!
  81. 81. 私が考える魅力 1. 制約が多い 2. 広い土壌 80/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  82. 82. 広い土壌
  83. 83. 広い土壌 ✓ 様々な人を受け入れる寛容さ ✓ 偉人達を見てもいろんな分野の人 が!! 82/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  84. 84. 私が考える魅力 1. 制約が多い 2. 広い土壌 3. 楽しい 83/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  85. 85. 楽しい
  86. 86. 楽しい ✓ 純粋に楽しい ✓ 偉人達のCoolな工夫が見れる ✓ さっぱり上手く行かない、から楽し い 85/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  87. 87. 私が考える魅力 1. 制約が多い 2. 広い土壌 3. 楽しい 4. 勉強になる 86/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  88. 88. 勉強になる
  89. 89. それぞれの偉人達を振り返る ✓ 決してGCが本業ではない ✓ それ以外の分野で大きな実績 ✓ GCは修行であった 88/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  90. 90. 修行としてのGC!!
  91. 91. GC = 「虎の穴」
  92. 92. 今日はなす事 ✓ GCとは ✓ 偉人達と共にあるGC ✓ 魅力 ✓ まとめ 91/99 GC生誕50周年を祝って - A Semicentennial history of the GC Powered by Rabbit 0.6.4
  93. 93. まとめ
  94. 94. GCは多くの人にとって 楽しい修行である
  95. 95. そんなGCを使ってばかり じゃもったいない
  96. 96. 偉人達を見習って…
  97. 97. GCを知って遠くへ行こう!
  98. 98. 最後に
  99. 99.  
  100. 100. ご静聴 ありがとうございました。
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×