まつもとゆきひろさん,Rubyに影響を与えた言語とRuby開発初期を語る。まつもとゆきひろさん,Rubyに影響を与えた言語とRuby開発初期を語る。レポートまつもとゆきひろさん,Rubyに影響を与えた言語とRuby開発初期を語る。2013が開催されています。毎日1つある基調講演をそれぞれレポートします。1日目の基調講演では,RubyのパパであるMatzこと,まつもとゆきひろさんが「Rubyのつくりかた」と題して話をしました。まつもとさんは今までのRuby会議すべてで基調講演をしており,いわば定番のキーノートと言えるかもしれません。以前Rubyを作る前,まつもとさんとコンピューターの関わりについて,歴史をおって話しました。BASICまつもとさんが初めてプログラミング言語と触れあったのは1979年のことで,SHARP製のポケットコンピューターを買い,BASIC言語でのプログラミングでした。変数名がアルファベット1文字でしか宣言できず,26個の変数しか使えなかったそうです。PASCAL高校時代の1980年,本屋さんでPASCAL入門に出会いました。BASICでプログラミングしていたときにあたりまえだと思っていたことがあたりまえではなく,「⁠処理に名前をつける」「⁠処理を再帰させる」「⁠データの構造をまとめる」「⁠変数のスコープをローカルにする」など,BASICより便利にプログラミングできることに驚き,感動しました。PASCALのコンパイラは当時20万円以上しており,とても高価で買えなかったため,もっぱら本のプログラムを紙に書き写して楽しんでいました。LISP1982年にはLISPに触れました。人工知能に使われているとのことだったが,ひととおりやってもどこが人工知能に関係するのかはあまりよくわからなかったそうです。早いうちにLISPに触れていたのは,その後Rubyに大きく影響を与えることになりました。OOP雑誌,アスキーに半ページだけ載っていた記事でオブジェクト指向と出会ったのは1983年のことです。興味をもち色々調べてみようとしたものの,当時鳥取在住の高校生であったまつもとさんには,それ以上に情報を集めるすべが少なく,バックナンバーをまとめた雑誌でSmalltalk72というSmalltalkの情報をみつけたものの,古すぎる情報でプログラムが動かせなかったり,その情報の参考資料として載っていた本を借りて読んだものの,難解で理解できなかったなど,あまり望むような結果にはならなかったようです。当時の時点では一見徒労に終わってしまったようなこういった苦労の積み重ねによって,今のRubyがあるのでしょう。Smalltalk大学に入り,筑波に住んだ松本さんは1984年にSmalltalkに出会いました。高校のときにあんなに苦労して調べたSmalltalkの情報が簡単に手に入る筑波をとても都会だと感じたと話していました。C1988年にC言語に出会い,どちらかというとプログラミング言語を調べるのが好きだったまつもとさんが,初めて腰を据えてプログラムを書くきっかけになりました。Emacsに出会ったのもこの頃で,Emacsはレガシーとやや冗談めかして言いながらも,今も使い続けているそうです。System)というプログラミング言語に触れたまつもとさんでしたが,実際にはCLOSでプログラミングをしたことはないそうです。アイデアはその後のプログラミングの参考になったと言及していました。Mailのソースコードを改良して,作者へパッチを送ったところ「私はもう使っていないので好きにして良いです」と言われたため,まつもとさんがメンテナとして,ソフトを保守していくことにしました。折しも,悪い意味での「チェーンメール」が流行していた頃だったため,ソフトの名前をCmailへ変更して運用していたそうです。これがまつもとさんにとって初めてのオープンソースとなりました。1990年のことです。C仕事をはじめたまつもとさん,C言語でオブジェクト指向を使いたいと考え,候補にあがったのがC++やObjective-Cでした。1991年当時のC++はまだ多重継承などが実装されていない状態で,まつもとさんが利用したいと考えている条件には合わず,またObjective-Cはコンパイラが入手できず,利用できませんでした。そこで,まつもとさんは,C言語をオブジェクト指向プログラミングで利用できるようなライブラリを作成していきました。半年程度の納期のうち,はじめの4ヶ月くらいをライブラリ作成にあててしまい,残りの期間で依頼のものをつくったそうです。ここで作成したライブラリは,その後一部がRubyの中にも取り込まれました。Rubyこのように様々なプログラミング言語,プログラムに触れたまつもとさんが1993年に作ったのがRubyでした。当初は一人で開発していたため,後に述べるようにモチベーションの維持が大変だったそうです。プログラミング言語への傾倒なぜ好きなのかまつもとさんはプログラミング言語が好きだと言います。本来であれば,思考を表現するための方法とは,思考が主,表現が従という主従関係になるはずなのですが,表現方法というものが思考におよぼす主従関係の逆転した影響は無視できないようです。表現方法や見方を変えてみると,思考も変わるという不思議な体験が皆さんにも経験としてあるかもしれません。プログラミング言語もまた,思考の表現手段の一つで「コンピューターにさせたい私の思考」を表現するのがプログラミング言語であるため,先程の例でたとえると,プログラマの思考はプログラミング言語に影響されます。プログラミング言語の適切な設計は,プログラマの思考をガイドすることにつながります。まつもとさんはそこに面白さを感じているようです。例として,まつもとさんが中学~高校時代に出あったプログラミング言語BASICとPASCALを挙げました。PASCALにはある再帰という概念がBASICにはなく,そのため,当時BASICしかやっていなかったまつもとさんは当初,再帰というものを理解できなかったそうです。言語を設計するということは,思考を設計するということになります。良くないと思うところに改善をリクエストするのも言語設計の一部ではあるものの,8~9割のリクエストはRubyにとりこまれていないという現実もあるため,まずは自身で言語を作ってみたらどうかと提案されていました。プログラマにとっては楽しみの宝庫で「言語実装はコンピュータサイエンスの総合芸術」であり,「⁠プログラマとして退屈したことはない」と話します。実際に実装してみた例として,次のものを挙げていました。画期的発明だ!と思ったが,逆の逆ポーランド記法なので,実の所ただのポーランド記法のことだった。Classic:Eiffelを参考にクラス指向風のCを作った。Class風CなのでClassicという中二的な名前にしてしまった。黒歴史なので絶対に調べないでもらいたい。Ruby著者プロフィールにく北海道出身で沖縄や東京に住んだ後,今は札幌在住のプログラマ。コンサドーレ札幌が好き。Ruby,Emacsが心のメインツール。最近はHaskellを試している。レポート田中哲さん「Rubyの開発はこれからも多様性との戦い。Valim,Rubyにおける並行プログラミングのためのいくつかのアイデアを提案。2日目まつもとゆきひろさん,Rubyに影響を与えた言語とRuby開発初期を語る。Evansさん「たのしいRubyの先に,はやいRubyがある。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。