SSブログ

プログラミング言語のバイブル本と言語仕様 [プログラマー現役続行]

技術書に掲載されているサンプルコードを読んだり、オープンソースのソースコードを読んだりしているときに、「あれ、このような書き方ができるのかな?」と疑問に思える書き方を目にすることがあると思います。そのような場合、そのプログラミング言語のいわゆるバイブル本か、公式の言語仕様を調べて、書き方が許されることを確認する必要があります。

言語仕様は分かりにくいために、最初はバイブル本を調べます。Go言語の場合、『プログラミング言語Go』です。そこにも記載が見当たらない場合には、言語仕様「The Go Programming Language Specification」を調べることになります。この書き方はメモリモデルに関して問題はないのかなと疑問に思った場合、メモリモデルに関しても、『プログラミング言語Go』にある程度書いてありますが、詳細は「The Go Memory Model」に書かれていますので参照することになります。

※ メモリモデルは、言語仕様の一部と考えるべきです。Java言語の場合、公式の『The Java Language Specification』の「17.4 Memory Model」に記述されています。

今日では、あるプログラミング言語を学ぶために、どの本がその言語のバイブル本であるかを調べて、バイブル本から学習を始める人が少なくなっているような気がします。その結果、手元にバイブル本はなく、もっぱらネット検索で得た知識だけでプログラミングしている人が増えているのではないでしょうか。

結果として、ある書き方ができるか否かを調べるのはもっぱらネット検索だけであり、英語が読めなければ、日本語になっていない言語仕様を調べることはないでしょう。あるいは、ネットの情報だけに頼ってしまい言語仕様やメモリモデルを間違って解釈してしまうかもしれません。

一般にバイブル本には最低限これだけは知っていて欲しいことが書かれていますが、すべての言語仕様が網羅されるわけではありません。したがって、バイブル本は読んでおいて、必要なときに言語仕様(やメモリモデル)を調べる習慣を身に付けることは遠回りのようですが、優秀なソフトウェアエンジニアになるための近道だと思います。

コメント(1) 

コメント 1

kamimura

Go言語のバイブル本、プログラミング言語Go、楽しく読み進めてます。
最初はせっかくのバイブル本だし、原著を読もうかと迷った末に邦訳版をを選択したけど、最初の日本版によせてに
"…この本は日本語版ではもっと良くなっていることでしょう"
とあり、翻訳してくれた日本語版を入手してよかったです。 ʕ◔ϖ◔ʔ
by kamimura (2019-03-07 07:16) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント