温故知新 
2014/12/6 Techmix Hokkaido 
沼田 一哉 @kaznum 
http://www.flickr.com/photos/75905404@N00/5074611208
こんにちは 
•ぬまた かずや( @kaznum ) 
•札幌の平凡なプログラマ 
•妻と息子(3歳)の3人暮らし
家計簿 さな太郎 
https://github.com/kaznum/sanataro
見積もっ太郎 
https://github.com/estcosmo/mitsumottaro
僕のお題 
温故知新
温故知新 
“前に学んだことや昔の事柄 
をもう一度調べたり考えた 
りして、新たな道理や知識 
を見出し自分のものにする 
こと。” 
http://dictionary.goo.ne.jp/leaf/idiom/%E6%B8%A9%E6%9...
古代の力学 
•アリストテレス
古典力学・電磁気学 
•コペルニクス 
! 
•ガリレオ・ガリレイ 
•ティコ・ブラーエ、ケプラー 
•ニュートン 
! 
•ファラデー、マクスウェル
量子力学 
•ド・ブロイ 
•ハイゼンベルグ 
•シュレーディンガー 
•プランク 
•ボーア 
•ディラック 
•フォン・ノイマン
量子力学・相対性理論の 
融合 
•ファインマン、朝永振一郎 
•ダイソン、シュウィンガー 
•湯川、南部、益川、小林、小柴
量子力学の応用 
•半導体 
•トランジスタ 
•バーディーン、ブラッテン、ショックレー 
•トンネルダイオード:江崎 
•発光ダイオード(青色):赤崎、天野、中村 
•量子コンピュータ
物理学に限らず、科学の進歩は 
「先人の経験と知恵」 
を拠り所としている
Ruby 
Rubyとの出会い 
(2000)
•オブジェクト指向 
•動的言語 
•メタプログラミング 
•関数型
理解が足りない 
もっと知りたい
•オブジェクト指向 
•動的言語 
•メタプログラミング 
•関数型
ref. 静的型付き関数型言語のススメ by tmaeda 
https://speakerdeck.com/tmaedax/jing-de-xing-fu-kiguan-shu-xing-yan-yu-falsesusume
純粋関数型プログラミング言語 
Haskell
Programming in Haskell 
(2007)
写経&練習問題
記録を残して公開
写経と練習問題の解答を 
Githubで公開 
https://github.com/kaznum/Programming-in-Haskell
• Referential Transparency 
(参照透過性) 
• Type Inference(型推論) 
• Functor 
• Applicative Functor 
• Monad
ぼくの想像を 
はるかに超えて 
深かった
@tmaedaの 
罠に 
嵌められた
プログラミング in OCaml 
(2007)
写経と練習問題の解答を 
Githubで公開 
https://github.com/kaznum/programming_in_ocaml_exercise
MatzLisp
“Lispはいつも時代の最先端に 
位置している” 
まつもとゆきひろ 
http://www.itmedia.co.jp/enterprise/articles/0801/29/news010_2.html
じゃあ Lisp に 
ついて勉強してみ 
よう!
• Common Lisp 
• Scheme 
• Emacs Lisp 
• Closure 
• などなど
“いまRubyがブームだが、Rubyは要す 
るにカッコのないLisp。XMLもぶ厚いカッ 
コのあるLisp。いろいろなプログラミン 
グ技法を見ますが、『Lispにあった』と 
いうことが多いです” 
竹内郁雄 
出典: @IT「Lispの...
13年間も熟成した 
積読本 
https://www.flickr.com/photos/foolstopzanet/151936713/
Structure and Interpretation of Computer Programs 
(1996)
Structure and Interpretation of 
Computer Programs (SICP) 
MITの新入生向けの 
プログラミングの 
教科書
Structure and Interpretation of 
Computer Programs (SICP) 
あくまでも 
プログラミング言語 
の教科書
Structure and Interpretation of 
Computer Programs (SICP) 
説明用の言語として 
Scheme 
が採用されている
Structure and Interpretation of 
Computer Programs (SICP) 
Gerald Sussman 
Schemeの生みの親 
Harold Abelson 
MIT/GNU Schemeの生みの...
Structure and Interpretation of 
Computer Programs (SICP) 
世界的に高評価 
世界中の多くの大学で教 
科書として採用 
MIT150年の歴史の中で最も重要な発明の一つ 
(Boston...
Structure and Interpretation of 
Computer Programs (SICP) 
“Harold Abelson and Gerald Jay Sussman, a pair of MIT computer ...
写経&練習問題を始めた
Structure and Interpretation of 
Computer Programs (SICP) 
MITが作成した新入 
生向けのプログラミ 
ングの教科書
Structure and Interpretation of 
Computer Programs (SICP) 
新入生向け
Structure and Interpretation of 
Computer Programs (SICP) 
ウソすぎ! 
新入生向け
Structure and Interpretation of 
Computer Programs (SICP) 
内容が濃厚
Structure and Interpretation of 
Computer Programs (SICP) 
オブジェクト指向 
関数型 
メタプログラミング、DSL 
遅延評価 
論理プログラミング 
ガベージコレクション
Structure and Interpretation of 
Computer Programs (SICP) 
Lispが常に時代の最先端 
であることがよくわかった
写経と練習問題の解答を 
Githubで公開 
[まだ第4章の途中(全5章)] 
https://github.com/kaznum/SICP
最近、そんなことしてます。
再認識したこと
“職人”
IT系のテクノロジーは 
急速に進歩
進歩についていける人の共通点 
いろいろな技術の 
•生まれた経緯 
•根本をなす概念・文化 
•他との違い 
について、とても詳しい
歴史(先人の経験と知恵) 
を学ぶのが 
! 
一番の近道(?)
その先・・・
“『既に創られた物理学』を学ぶことと、 
その物理学が創られた当時に創った本人 
が考えたことは全く違うんです。” 
! 
出典: 湯川秀樹著 「物理講義 」1977
Techmix2014 温故知新
Upcoming SlideShare
Loading in …5
×

Techmix2014 温故知新

5,531 views

Published on

Importance to learn from the Histories

Published in: Engineering
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,531
On SlideShare
0
From Embeds
0
Number of Embeds
4,103
Actions
Shares
0
Downloads
1
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Techmix2014 温故知新

  1. 1. 温故知新 2014/12/6 Techmix Hokkaido 沼田 一哉 @kaznum http://www.flickr.com/photos/75905404@N00/5074611208
  2. 2. こんにちは •ぬまた かずや( @kaznum ) •札幌の平凡なプログラマ •妻と息子(3歳)の3人暮らし
  3. 3. 家計簿 さな太郎 https://github.com/kaznum/sanataro
  4. 4. 見積もっ太郎 https://github.com/estcosmo/mitsumottaro
  5. 5. 僕のお題 温故知新
  6. 6. 温故知新 “前に学んだことや昔の事柄 をもう一度調べたり考えた りして、新たな道理や知識 を見出し自分のものにする こと。” http://dictionary.goo.ne.jp/leaf/idiom/%E6%B8%A9%E6%95%85%E7%9F %A5%E6%96%B0/m0u/
  7. 7. 古代の力学 •アリストテレス
  8. 8. 古典力学・電磁気学 •コペルニクス ! •ガリレオ・ガリレイ •ティコ・ブラーエ、ケプラー •ニュートン ! •ファラデー、マクスウェル
  9. 9. 量子力学 •ド・ブロイ •ハイゼンベルグ •シュレーディンガー •プランク •ボーア •ディラック •フォン・ノイマン
  10. 10. 量子力学・相対性理論の 融合 •ファインマン、朝永振一郎 •ダイソン、シュウィンガー •湯川、南部、益川、小林、小柴
  11. 11. 量子力学の応用 •半導体 •トランジスタ •バーディーン、ブラッテン、ショックレー •トンネルダイオード:江崎 •発光ダイオード(青色):赤崎、天野、中村 •量子コンピュータ
  12. 12. 物理学に限らず、科学の進歩は 「先人の経験と知恵」 を拠り所としている
  13. 13. Ruby Rubyとの出会い (2000)
  14. 14. •オブジェクト指向 •動的言語 •メタプログラミング •関数型
  15. 15. 理解が足りない もっと知りたい
  16. 16. •オブジェクト指向 •動的言語 •メタプログラミング •関数型
  17. 17. ref. 静的型付き関数型言語のススメ by tmaeda https://speakerdeck.com/tmaedax/jing-de-xing-fu-kiguan-shu-xing-yan-yu-falsesusume
  18. 18. 純粋関数型プログラミング言語 Haskell
  19. 19. Programming in Haskell (2007)
  20. 20. 写経&練習問題
  21. 21. 記録を残して公開
  22. 22. 写経と練習問題の解答を Githubで公開 https://github.com/kaznum/Programming-in-Haskell
  23. 23. • Referential Transparency (参照透過性) • Type Inference(型推論) • Functor • Applicative Functor • Monad
  24. 24. ぼくの想像を はるかに超えて 深かった
  25. 25. @tmaedaの 罠に 嵌められた
  26. 26. プログラミング in OCaml (2007)
  27. 27. 写経と練習問題の解答を Githubで公開 https://github.com/kaznum/programming_in_ocaml_exercise
  28. 28. MatzLisp
  29. 29. “Lispはいつも時代の最先端に 位置している” まつもとゆきひろ http://www.itmedia.co.jp/enterprise/articles/0801/29/news010_2.html
  30. 30. じゃあ Lisp に ついて勉強してみ よう!
  31. 31. • Common Lisp • Scheme • Emacs Lisp • Closure • などなど
  32. 32. “いまRubyがブームだが、Rubyは要す るにカッコのないLisp。XMLもぶ厚いカッ コのあるLisp。いろいろなプログラミン グ技法を見ますが、『Lispにあった』と いうことが多いです” 竹内郁雄 出典: @IT「Lispの仏さま 竹内郁雄の目力」 http://www.atmarkit.co.jp/ait/articles/0807/23/news141.html
  33. 33. 13年間も熟成した 積読本 https://www.flickr.com/photos/foolstopzanet/151936713/
  34. 34. Structure and Interpretation of Computer Programs (1996)
  35. 35. Structure and Interpretation of Computer Programs (SICP) MITの新入生向けの プログラミングの 教科書
  36. 36. Structure and Interpretation of Computer Programs (SICP) あくまでも プログラミング言語 の教科書
  37. 37. Structure and Interpretation of Computer Programs (SICP) 説明用の言語として Scheme が採用されている
  38. 38. Structure and Interpretation of Computer Programs (SICP) Gerald Sussman Schemeの生みの親 Harold Abelson MIT/GNU Schemeの生みの親
  39. 39. Structure and Interpretation of Computer Programs (SICP) 世界的に高評価 世界中の多くの大学で教 科書として採用 MIT150年の歴史の中で最も重要な発明の一つ (Boston Globe紙)
  40. 40. Structure and Interpretation of Computer Programs (SICP) “Harold Abelson and Gerald Jay Sussman, a pair of MIT computer science professors, wrote “Structure and Interpretation of Computer Programs,” which remains a classic for encouraging the teaching of not one specific programming language, but big-picture themes students could apply across a range of programming scenarios.” “MITのCSの教授であるAbelsonとSussmanはSICPを書いた。 これは特定のプログラミング言語ではなく、学生が様々な プログラミングのシナリオに適用できる大局的なテーマを 教えることを促す古典であり続けている。” (Boston Globe紙)
  41. 41. 写経&練習問題を始めた
  42. 42. Structure and Interpretation of Computer Programs (SICP) MITが作成した新入 生向けのプログラミ ングの教科書
  43. 43. Structure and Interpretation of Computer Programs (SICP) 新入生向け
  44. 44. Structure and Interpretation of Computer Programs (SICP) ウソすぎ! 新入生向け
  45. 45. Structure and Interpretation of Computer Programs (SICP) 内容が濃厚
  46. 46. Structure and Interpretation of Computer Programs (SICP) オブジェクト指向 関数型 メタプログラミング、DSL 遅延評価 論理プログラミング ガベージコレクション
  47. 47. Structure and Interpretation of Computer Programs (SICP) Lispが常に時代の最先端 であることがよくわかった
  48. 48. 写経と練習問題の解答を Githubで公開 [まだ第4章の途中(全5章)] https://github.com/kaznum/SICP
  49. 49. 最近、そんなことしてます。
  50. 50. 再認識したこと
  51. 51. “職人”
  52. 52. IT系のテクノロジーは 急速に進歩
  53. 53. 進歩についていける人の共通点 いろいろな技術の •生まれた経緯 •根本をなす概念・文化 •他との違い について、とても詳しい
  54. 54. 歴史(先人の経験と知恵) を学ぶのが ! 一番の近道(?)
  55. 55. その先・・・
  56. 56. “『既に創られた物理学』を学ぶことと、 その物理学が創られた当時に創った本人 が考えたことは全く違うんです。” ! 出典: 湯川秀樹著 「物理講義 」1977

×