アラン・ドノバン、ブライアン・カーニハン:プログラミング言語 Go

作成日:2020-10-29
最終更新日:

概要

Go 言語の基本について説明する。

解答例

Github に、訳者のリポジトリgplがある。 ここで、本書の解答例などがある。

誤植は次の通り

ページ場所参考
154本文下から 4 行目から 3 行目 講座の列を講座の列を

感想

システム開発言語

私が本格的に学んだ言語は C だった。そのとき読んだのは、 御多分に漏れずカーニハンとリッチーによるプログラミング言語 C だった。当時の言語は、C 言語に限らず、 FORTRAN も BASIC も PASCAL も、それほど言語仕様は多くなかった。 これらは命令的言語だからということもあるだろうが、連接・条件分岐・反復のそれぞれの制御構造を覚えて、個別のデータ構造、 配列、構造体(レコード)、関数、再帰などを覚えればそれでことが済んだ。

今は、教育上はともかく、実務上はこんなコンパクトな言語は学ぶ対象にはならないだろう。Go 言語も、 現代の言語だけあって、大規模なシステムプログラムを短期間に開発できるはずだ。 しかも実行プログラムは品質が高く高速となっているはずである。はず、と書いたのは私が経験したことはないからだ。 ただ、別の本「Go 言語で作るインタープリタ」という本を読んで、 実装した経験は、私が感じた現代の言語の特徴である「はず」について、そのような憶測を裏付けている。

ただ、現代の言語はそれだけ言語仕様が大きい。Go にはクラスがないが、だからといって言語仕様が小さい、 ということはない。制御構造も拡張されているし、データ構造にはスライスもマップ(多言語では連想配列、ハッシュなど)もある。 関数も、メソッドや無名関数も揃えられ、抽象化の仕組みとしてインターフェースが導入されている。 さらには、現代言語としての特徴である並列性のサポートが、ゴルーチンとチャネルとして提供されている。 このゴルーチンとチャネルの先祖が CSP であることを、私はこの本で初めて知った。私のかつての勤務先で CSP の研究開発をしている人がいて、 トランスピュータを買ったり Occam で開発している研究者がいたりしたことを、今思い出した。

私はこの本を図書館で借りたが、言語仕様の大きさに恐れをなし、読みとおすことはできなかった。 図書館にはすぐに返さないといけないが、いずれはまた借りるだろう。

書誌情報

書 名プログラミング言語 Go
著 者アラン・ドノバン、ブライアン・カーニハン
訳 者柴田 芳樹
発行日平成 28 年 6 月 20 日 発行
発行所丸善出版
定 価3800円(税別)
サイズ
ISBN978-4-621-30025-1
備 考越谷市立図書館南部図書室で借りて読む

まりんきょ学問所コンピュータの部屋コンピュータの本Go 言語 > アラン・ドノバン、ブライアン・カーニハン:プログラミング言語 Go


MARUYAMA Satosi