言語の世界 Powered by Rabbit 0.9.2言語の世界ネットワーク応用通信研究所楽天 技術研究所Rubyアソシエーション@yukihiro_matzまつもとゆきひろYukihiro "Matz" Matsumoto
View Slide
言語の世界 Powered by Rabbit 0.9.2プログラミング言語って?言語ってなんだろう?
言語の世界 Powered by Rabbit 0.9.2プログラミング言語って?プログラム=手順書手順書記述用人工言語
言語の世界 Powered by Rabbit 0.9.2プログラミング言語って?プログラム=理想記述思考表現用人工言語
言語の世界 Powered by Rabbit 0.9.2せめぎあうふたつの立場機械のためか?人間のためか?
言語の世界 Powered by Rabbit 0.9.2FORTRAN (1954)FORmula TRANslator
言語の世界 Powered by Rabbit 0.9.2FORTRAN (1954)人間のため数式でプログラムできるよう
言語の世界 Powered by Rabbit 0.9.2FORTRAN (1954)機械のため速く計算できるためにはどんなことでも
言語の世界 Powered by Rabbit 0.9.2FORTRAN (1954)ループアンローリングベクトル化
言語の世界 Powered by Rabbit 0.9.2FORTRAN (1954)背景コンピュータが遅かった
言語の世界 Powered by Rabbit 0.9.2FORTRAN (1954)背景「言語の常識」がまだなかった
言語の世界 Powered by Rabbit 0.9.2LISP (1958)LISt Processor
言語の世界 Powered by Rabbit 0.9.2LISP (1958)人間のため数学的概念からスタートラムダ計算
言語の世界 Powered by Rabbit 0.9.2LISP (1958)機械のためIBM704計算機car=content of address registercdr=content of data register
言語の世界 Powered by Rabbit 0.9.2LISP (1958)人間のためガーベージコレクター
言語の世界 Powered by Rabbit 0.9.2LISP (1958)人間のためLispプログラマは値はなんでも知っているが、コストについてはなにも知らない
言語の世界 Powered by Rabbit 0.9.2LISP vs FORTRAN人間主義 vs 機械主義
言語の世界 Powered by Rabbit 0.9.2勝者は?Algol!
言語の世界 Powered by Rabbit 0.9.2漁夫の利原始的すぎるFORTRAN数学的すぎるLISP求められたのはアルゴリズム記述
言語の世界 Powered by Rabbit 0.9.2新たな伝統の誕生Algolは滅びぬ!何度でもよみがえるさ
言語の世界 Powered by Rabbit 0.9.2Algol属Algol → PL/IAlgol → Pascal
言語の世界 Powered by Rabbit 0.9.2Algol属Ada, Eiffel, C, C++, Java,...
言語の世界 Powered by Rabbit 0.9.2Lispへの揺り戻しSmalltalk, Scheme, Ruby,...
言語の世界 Powered by Rabbit 0.9.2言語のカンブリア爆発カンブリア爆発古生代カンブリア紀の間に突如として今日見られる動物の「門」が出そろった現象
言語の世界 Powered by Rabbit 0.9.2言語のカンブリア爆発言語のカンブリア爆発1960年代後半から1970年代前半までに多種多様な言語が誕生した現象
言語の世界 Powered by Rabbit 0.9.2言語のカンブリア爆発現在の「重要」な言語分類の基礎システムプログラミング言語C:1972オブジェクト指向言語Simula:1967スクリプト言語Shell:1971関数型言語ML:1972
言語の世界 Powered by Rabbit 0.9.2言語のカンブリア爆発「変な言語」も配列指向言語APL:1960論理型言語Prolog:1972並列言語アクターモデル:1973
言語の世界 Powered by Rabbit 0.9.2つまり、どういうことかキバヤシ優れた言語のアイディアは1970年代までに出揃っているのだよ!MMRメンバーなんだってーーっ!!
言語の世界 Powered by Rabbit 0.9.2言語設計者受難の時代どうせ既存のものの組み合わせさ
言語の世界 Powered by Rabbit 0.9.2そうは言っても人気の言語はそれなりに新しいPerl (1986)Python (1990)Ruby (1995)PHP(1995)
言語の世界 Powered by Rabbit 0.9.2そうは言っても人気の言語はそれなりに新しいJava (1995)C# (2000)Scala (2003)Erlang (1986)
言語の世界 Powered by Rabbit 0.9.2新しい?とは言っても10年、20年
言語の世界 Powered by Rabbit 0.9.2新しい?言語の世界じゃ10年くらいじゃまだまだはなたれ小僧さ
言語の世界 Powered by Rabbit 0.9.2新しい言語の動機作りたかったから新しいパラダイム新しい環境新しい制約
言語の世界 Powered by Rabbit 0.9.2新しいパラダイム構造化プログラミングオブジェクト指向プログラミング関数型プログラミング
言語の世界 Powered by Rabbit 0.9.2新しいパラダイムここ20年くらい登場してないなあ
言語の世界 Powered by Rabbit 0.9.2新しいパラダイム過去のパラダイムの組み合わせ
言語の世界 Powered by Rabbit 0.9.2新しいパラダイム既存のパラダイムの組み合わせ並列+関数型オブジェクト指向+関数型並列+論理型
言語の世界 Powered by Rabbit 0.9.2既存のパラダイムの組み合わせバランスの良い組み合わせ
言語の世界 Powered by Rabbit 0.9.2新しい環境新しいOS新しいCPU新しいアプリケーション
言語の世界 Powered by Rabbit 0.9.2新しいアプリケーションWebMapReduce
言語の世界 Powered by Rabbit 0.9.2新しい制約CPU数メモリ量データ量アクセス量
言語の世界 Powered by Rabbit 0.9.2どこまでが言語か文法ライブラリアーキテクチャ
言語の世界 Powered by Rabbit 0.9.2どこまでが言語かデザインパターンコミュニティエコシステム
言語の世界 Powered by Rabbit 0.9.2どこまでが言語か思想人格
言語の世界 Powered by Rabbit 0.9.2 温故知新
言語の世界 Powered by Rabbit 0.9.2 歴史から学ぶ
言語の世界 Powered by Rabbit 0.9.2 歴史のパターン
言語の世界 Powered by Rabbit 0.9.2歴史の振り子集中 vs 分散
言語の世界 Powered by Rabbit 0.9.2歴史の振り子性能 vs 生産性
言語の世界 Powered by Rabbit 0.9.2歴史の振り子静的 vs 動的
言語の世界 Powered by Rabbit 0.9.2歴史の振り子正確さ vs 柔軟さ
言語の世界 Powered by Rabbit 0.9.2未来の言語APL
言語の世界 Powered by Rabbit 0.9.2APLAPLによるライフゲーム
言語の世界 Powered by Rabbit 0.9.2未来の言語Whitespace
言語の世界 Powered by Rabbit 0.9.2WhitespaceWhitespaceによるhello world
言語の世界 Powered by Rabbit 0.9.2未来の言語新しいぶどう酒は新しい皮袋に[「マタイ 9:17」より引用]
言語の世界 Powered by Rabbit 0.9.2旧来の言語古いぶどう酒は古い皮袋に
言語の世界 Powered by Rabbit 0.9.2未来の言語大規模分散高抽象度
言語の世界 Powered by Rabbit 0.9.2未来へのパラメータデータ量アクセス量CPU数
言語の世界 Powered by Rabbit 0.9.2データ量ビッグデータ
言語の世界 Powered by Rabbit 0.9.2アクセス量クラウドソーシャルゲーム
言語の世界 Powered by Rabbit 0.9.2CPU数マルチコアクラウド
言語の世界 Powered by Rabbit 0.9.2未来の言語ErlangNode.jsRSQLの発展形
言語の世界 Powered by Rabbit 0.9.2Erlang分散アクターモデル
言語の世界 Powered by Rabbit 0.9.2Node.js大量アクセス非同期I/O
言語の世界 Powered by Rabbit 0.9.2R統計・解析ビッグデータ連携 (R-ODM)
言語の世界 Powered by Rabbit 0.9.2SQL宣言的データ取得高抽象度Hive
言語の世界 Powered by Rabbit 0.9.2言語の楽しさプログラミングの楽しさ
言語の世界 Powered by Rabbit 0.9.2言語の楽しさ言語=プログラミング
言語の世界 Powered by Rabbit 0.9.2言語の楽しさ言語実装=プログラミング
言語の世界 Powered by Rabbit 0.9.2言語の楽しさ言語実装=プログラミング総合芸術
言語の世界 Powered by Rabbit 0.9.2言語の楽しさ言語設計=プログラミング
言語の世界 Powered by Rabbit 0.9.2言語の楽しさ言語設計=発想をプログラミング
言語の世界 Powered by Rabbit 0.9.2言語の楽しさWe program you!
言語の世界 Powered by Rabbit 0.9.2 Enjoy Programming!