内容説明
世界中で使われているプログラミング言語「Ruby」の作者、まつもとゆきひろ氏が「言語の作り方」を初めて真正面から解説する本です。
本書のために新言語「Streem」を作りました。2年をかけて新言語を実際にデザイン・実装した取り組みを、試行錯誤の過程も含めて詳しく解説しています。
「今更、言語を作ってどんな意味があるの?」と思う人もいるかもしれません。まつもと氏は言語を作る価値を本書でこう説明します。
●プログラミング能力の向上
●デザイン能力の向上
●自己ブランド化
●自由の獲得
まずプログラミング言語の実装は、コンピュータサイエンスの総合芸術といえるでしょう。言語処理系の基礎である字句解析や構文解析は、ネットワーク通信のデータプロトコルの実装などにも応用できます。
プログラミング言語はコンピュータと人間をつなぐインタフェースでもあります。そのようなインタフェースをデザインすることは、人間がどのように考え、暗黙のうちに何を期待しているかについての深い考察が求められます。そのような考察を重ねることは、言語以外のAPIのデザインや、ユーザーインタフェース(UI)、ひいてはユーザーエクスペリエンス(UX)のデザインに役立つでしょう。
こんな言語デザインの世界に飛び込んでみましょう。
感想・レビュー
※以下の感想・レビューは、株式会社ブックウォーカーの提供する「読書メーター」によるものです。
えちぜんや よーた
68
残念ながら自分の知識・経験程度では第1章の数ページで撃沈。以下はほぼ抜粋の内容です。「プログラミング言語」と言っても正確には「言語」と「言語処理系」に分けられてる。言語は「文法」と「語彙」で構成される。文法はどのような記述がその言語でのプログラミングの表現になるかを定めたルール。語彙はその言語で記述されたプログラムの呼び出せる機能の集合のこと。語彙は最初から備わっている組み込み機能のことを指す。一方、言語処理系の方はその文法や語彙を実際にコンピュター上で実行できるようにするためのソフトウェアのことを指す。2017/09/07
calicalikoume
5
Streemという独自のプログラミング言語を開発する過程を解説した一冊。プログラミング言語を作るという事がどんなことなのかイメージするきっかけになりました。細かい部分は説明が難しいと感じる部分がありましたが、他の様々なプログラミング言語の特徴が雑学的にところどころに織り込まれている部分が大変面白かったです。2018/09/01
shibacho
2
雑誌連載の再録。事前知識としてC言語と関数型プログラミングに触れていることが望ましい。特に変数がimmutableうんぬんの話はほとんど何の説明もない(と思う)。MatzがStreemを作る過程の読み物であり、著者の試行錯誤の過程が見えるという意味では面白いが、これを読んだからといっていきなりプログラム言語が作れるわけじゃないので、個々のトピックは別の本で補った方がいいだろう。2017/10/02
ryo33
1
バーチャルマシンのところと基本データ構造のところが参考になった。これを読んでNumber型一本で行くことを決意できた2021/05/21
Syuparn
1
プログラミング言語「Ruby」の作者まつもとゆきひろさんが一から新しい言語を作るという趣旨の本です。ただの技術紹介、理論に留まらず、「なぜこの文法か」「どう役に立つのか」を第一に説明しているため、様々なプログラミング言語の設計理由を知ることができました。自分でも言語を作ってみたいと思える一冊です。2018/03/15