
良いコード・美しいコードと頭のいいコード
日経XTECの連載「まつもとゆきひろのプログラミング質問箱」の本日(2025.2.6)の記事:
は、なるほど!という内容でとても考えさせられましたが、中でも後半で取り上げられていた「美しいコード」に関する説明に興味があり、特に「素晴らしいコード」のうち、「頭の良いコード」の部分が気になりました。
上記の記事から一部引用
上記の記事の「頭のいいコード」についての部分を引用すると。
ーーーー 引用ここから ーーーーー
『後は書籍「ハッカーのたのしみ─本物のプログラマはいかにして問題を解くか」(エスアイビー・アクセス刊)で紹介されているようなビット操作を中心にしたテクニックも「頭のいいコード」ですね。この本は大変な良書ですが、20年も前の本なので絶版状態で、今は古本でしか入手できないようです。』
ーーーー 引用ここまで ーーーーー
販売されていた!
大変な良書というのが気になって「ハッカーのたのしみ─本物のプログラマはいかにして問題を解くか」でググってみたら、Amazonで買えるのだった。(古本や、価格の安いOD版もあり)
さらに、調べてみると第2版もあるとのことだが、それは和訳されていないようだ。でも今読むなら第2版がみてみたい。
第2版は原文のPDF版が有った
原題の「Hacker's Delight 2nd Edition.pdf」で検索すると、ネットからDLできた。(著作権上グレーなのでリンクは省略)
ここは中国系?のようで、他にはコンピュータサイエンス系のPDFなど、特に中国語版がたくさん公開されていた。
読んでみる(眺めてみる)
英語力が無いので眺めた程度だけど、数学的な理論が多くて数学力&センスが乏しい私には理解し難い内容だった。
サンプルコードはC言語なので、なんとなくわかるが、その原理原則がちょっと難解な部分が多い。
頭の良いコードは頭の良い人でないと理解できないのだった。
おまけ
ついでに、「Algorithms_on_String_Trees_and_Sequences-libre.pdf」というものもあったので、ダウンロードしてみた。
こちらのサンプルコードは、代入が := なので、Pascal か?と思ったが、begin ----- end. 構文が begin ----- end; なので違う言語だ、なんの言語だろ?