がるの健忘録

エンジニアでゲーマーで講師で占い師なおいちゃんのブログです。

「言語の仕組み」とかを学ぶのによい書籍群

うちの生徒さんから

最近プログラムの言語(言語の仕組み)やアセンブラとかに興味が向いて来てるんですけどオススメの書籍とかってあったりしますか?

という質問が来たので、ちょいとDMだと長くなりそうなのもあって、Blogに私信を書いてみます(笑


んと…まず「言語の仕組み」って意味では「コーディングを支える技術」がとてもお勧め。

「さまざまな言語を縦櫛で貫く」あたりのこの書き方は、本当に今でもしびれるほど素晴らしいと思ってるざんす。

また、最近出てきた「まつもとゆきひろ 言語のしくみ」も、これは「言語を開発する」って観点から書かれてるので、ちょっとだけ横道かもしれないけど、面白いざます。


「言語を作る」の延長線としての「コンパイラ」に興味があったら、とりあえずは

スモールコンパイラ の制作で学ぶ プログラムのしくみ

スモールコンパイラ の制作で学ぶ プログラムのしくみ

が、ライトだと思う。
この後は「レッドドラゴン」とか、撲殺できる書籍に向かう方面になる(笑
コンパイラ―原理・技法・ツール (Information & Computing)

コンパイラ―原理・技法・ツール (Information & Computing)


この辺を踏まえた上で…アセンブラの本、になると「ど真ん中」にお勧めなのは少ないので、ちょっと脇道にいきながら。


初めに読んでおくとよいなぁと思うのが「コンピュータアーキテクチャのエッセンス」。

コンピュータアーキテクチャのエッセンス (IT Architects Archiveシリーズ)

コンピュータアーキテクチャのエッセンス (IT Architects Archiveシリーズ)

「アセンブラを理解するための基礎体力」が見につくので、強くお勧め。
ハード周りに興味が出たら
ディジタル回路設計とコンピュータアーキテクチャ (IT Architects' Archiveクラシックモダン・コンピューティング)

ディジタル回路設計とコンピュータアーキテクチャ (IT Architects' Archiveクラシックモダン・コンピューティング)

に寄り道するのも、ありw

この後は色々散らかるんだけど…アセンブラの書き方そのものであれば、手元にある書籍的には「熱血!アセンブラ入門」が割とお勧めかなぁ。

熱血!アセンブラ入門

熱血!アセンブラ入門

鈍器だけど(笑)、基本的な「アセンブラでの記述の仕方」が色々と書いてあるので、よいと思う。
で、これを読んだうえで。興味があったら、おいちゃんが(某人物とタッグ組んで)仕様を作った「terakoya_cpu( http://www.m-fr.net/tane/study/learn_c/terakoya_cpu_20070722.pdf )」を見てみると、面白いかも。
シンプルなセットだけど、一応これだけで「一通りあらゆる事が出来る」ように設計をしてあるので。
元々「学習用途を想定して作った」ものではあるんだけど、それだけに「本当に最低限」しかない言語仕様なので、シンプルに色々とまとまってるつもり。

Binary Hacks ―ハッカー秘伝のテクニック100選

Binary Hacks ―ハッカー秘伝のテクニック100選

あたりも、一度は目を通しておくと面白い。

ちょっと横道だけど

なんてのも「バイナリレイヤーを知る」って意味ではやはり面白い。

この辺が、今の所すっと浮かぶ「おいちゃん手持ちの中からのお勧めの書籍」かなぁ。