訳者まえがき
2016年の夏頃のことでした。翻訳の候補にあがっていたGo言語の本について調べている途中で、訳者はとても懐かしい単語に出会いました。CSP(Communicating Sequential Processes)です。
さかのぼること○十年、訳者は修士論文に取り組んでいました。当時の専攻はソフトウェア工学。「(来たるべきマルチプロセッサ時代に対応した)書きやすく、わかりやすいプログラムを作るにはどのようなプログラミング言語がよいのか」を一所懸命考える日々を送っていました。SIMULA、CLU、コルーチン、オブジェクト指向……などといった単語の周辺をさまよって、最終的にCSPを修士論文のメイントピックに選んだのでした。以来ほとんどお目にかかったことがなかったこの単語が、比較的新しい言語の並行処理機能のベースになっていることを知ったのです。
「ウァ、CSPはまだ生き残ってたんだ!」
「温故知新」か「先祖返り」か。新しもの好きのIT業界において、Goは少し珍しい立ち位置にいる言語のような気がします。CSP以外にも、定数の定義に使われる「iota」はCSPと同じくらいの歴史をもつ言語であるAPLからアイデアを借りたものだそうですし、ガベージコレクションの手法も同じくらいの年代に提案されたものだそうです。こうした選択には「古かろうが、新しかろうが、いいものはいいのだ」というGo言語開発チームの主張が感じられます。
さて、訳者はその後就職したソフトウェア会社で出会った機械翻訳の面白さに魅了され、プログラミング言語自体の研究とはお別れし、ずっとプログラミング言語をもっぱら「使う側」に回っていました。途中からは、プログラミング言語などの本の人間翻訳や執筆をしたり、プログラミングの講座を開いたりもするようになりました。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access