カテゴリー: プログラミング全般

  • 【書評】コーディングを支える技術 ~成り立ちから学ぶプログラミング作法

    コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 の書評です。

    結論から言うと、プログラミング言語の「歴史」と「比較」を通して、プログラミングの重要な『概念』の理解を深められるユニークな一冊です。

    ■ 良い点
    ・ 基礎的な概念を高度な視点で見直せる
    ・ プログラミングの概念の由来がわかる
    ・ 「へぇ~」と言いたくなるトリビアが豊富
    ・ 読みやすくスラスラと読める
    ・ コラムが興味深い

    ■ 悪い点
    ・ 特にない。あえて言えば複数言語既習者でないと少し難しいかも

    ■ 総評
    プログラミング言語における、比較言語学であり、また歴史言語学ともいえる一冊です。もっとも、言語学といっても身構えるものではなく、楽しく読める雑学書に近いので、気軽に読み通せます。全体で240ページほどとコンパクトにまとまっているのも良いです。

    内容的には、言語にとらわれない汎用的な概念(たとえば、型、変数、関数、クラス等)について、その成り立ちや、言語間の比較を通して理解を深められるようになっています。

    ただし、言語間の比較という視点であるため、C言語やC++、Java、そして、perlやruby、python等のスクリプト言語をある程度は知らないと少し難しいかもしれません。もっとも、全部を知っている必要もないですが。

    プログラミング言語を2つ、3つと学習した頃に、本書を読むと重要な概念の整理になるのでお勧めです。

    個人的には、『例外』の章や『クラス』の章はかなり興味深く読めました。なかでも、理解しづらい「クロージャ」や「MixIn」、「トレイト」等の成り立ちや意味が理解できたのは大きな収穫です。『関数』の章では、「再帰」などの節が秀逸です。

    その他にも、雑学的なトリビアが豊富なので、一読しておくと薀蓄としても役に立つかもしれません。

    プログラミングの概念について、成り立ちや意味から学習して理解を深めたい人にお勧めの一冊です。

    コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)

  • 【書評】CODE COMPLETE 第2版 下

    CODE COMPLETE 第2版 下 の書評です。

    結論から言うと、上巻と同じく、コーディングおよびプログラミング全般のトピックを網羅的かつ詳細に扱う古典的な一冊です。

    ■ 良い点
    ・ プログラミングに関するテーマを網羅している
    ・ 章および節ごとの「まとめ」や「チェックリスト」が役立つ
    ・ 論点について深く詳細に掘り下げている

    ■ 悪い点
    ・ 量が多く冗長に過ぎる
    ・ 紹介されているデータが古い
    ・ コスト・パフォーマンスが悪い

    ■ 総評
    上巻に続く一冊です。繰り返し書きますが、2005年3月出版の第2版です。原著の初版は1993年の出版であり、実質的に約22年前の書籍です。いい意味でも悪い意味でも古典となった一冊といえます。

    下巻では、主に、テストやリファクタリング、そしてコーディングスタイルなどが扱われています。もっとも内容的には、プログラミングの指針や哲学を示唆するものが多く、直接的にコーディング力の向上には繋がりにくい印象を受けます。

    量が多いため、最初に全体をざっと読み、次に少し詳しく読み、そして興味がある章や節を詳しく読むなどの方法を取らないと読書が苦痛になります。流し読みする能力も必要です。議論が深い一方で、結論だけを知っていれば良いテーマもあるので、自分なりに要約しながら読むのも一つの方法です。

    本書はテーマを網羅している一方で、各テーマに関する参考文献の要約的な内容にとどまっている箇所も多いため、はじめからそれぞれのテーマの専門書を読んだ方が良いかもしれません。若干、「全て有るは何も無い」という格言が当てはまる感が否めません。各テーマの最新本を読む方がコスパがいいと思います。

    もっとも本書は、プログラミングに関する古典的な一冊であり、一度は目を通しておいた方が自分のプログラミング力に対する自信に繋がるでしょう。「パフォーマンス・チューニング」の章などは、なかなか参考になりました。参考文献も多く、今後の読書の指針になります。もっとも最近では、Amazonで関連書籍の詳細を知ることができるので、この点でも時代の流れを感じさせられます。

    CODE COMPLETE 第2版 下

  • 【書評】CODE COMPLETE 第2版 上

    CODE COMPLETE 第2版 上 の書評です。

    結論から言うと、コーディングおよびプログラミング全般のトピックを網羅的かつ詳細に扱う古典的な一冊です。

    ■ 良い点
    ・ トピックが広範で網羅的
    ・ 設計およびコーディングの指針とヒントが充実
    ・ 章や節ごとの「まとめ」と「チェックリスト」が役立つ
    ・ 参考文献の紹介が詳しい

    ■ 悪い点
    ・ 本が厚くページ数が多いため学習コストがかかる
    ・ 解説が詳細な反面、冗長である
    ・ 翻訳は良いが読解力を要する
    ・ 用語の意味や定義が曖昧な箇所がある

    ■ 総評
    2005年3月出版の第2版です。原著の初版は1993年の出版であり、実質的に約22年前の書籍です。いい意味でも悪い意味でも古典となった一冊といえます。

    「CODE COMPLETE」の名の通り、コーディングおよびプログラミング全般についての指針とヒントに溢れています。もっとも、出版当時は、斬新であったであろう主張も、現在では当たり前となっているものも多く、悪く言えば、冗長に解説がなされている印象を受けます。

    上巻だけで実質550ページ、下巻と合わせると1000ページを超える書籍のため、読む側において、内容を取捨選択する能力及びポイントを押さえる能力が必要です。もっとも、章や節ごとに「まとめ」や「チェックリスト」があるのでこれらを押さえるだけでも勉強になります。小学生がする様に、最初の1ページから最後のページまで一文字ももらさず全部を読もうとするとかなりの負担となるでしょう。コンパクトさで言えば、「リーダブルコード」の方が楽に読めるので良いかもしれません。

    プロ中のプロを目指すプログラマーには必読の書籍かもしれませんが、一般のプログラマーであるなら、時間のあるときに読み物としてざっと目を通すくらいでよいかもしれません。

    CODE COMPLETE 第2版 上

  • 【書評】リーダブルコード [Dustin Boswell 著]

    リーダブルコード Dustin Boswell 著 角征典 訳 の書評です。

    結論から言うと、この「リーダブルコード」は、プログラミング言語を問わない、とても良いコーディング指南書です。プログラミング初心者を脱して、中級レベルにさしかかった時点で読むと、とても効果的と思われる一冊です。

    ■ 良い点

    ・ 良いコードの定義と理由そして具体例に説得力がある
    ・ 本書自体がとても読みやすく、また翻訳も良い
    ・ 形式面–内容面–再構築と実践しやすい章立てになっている
    ・ 章末に要点がまとめられている
    ・ プログラミング言語を問わない解説
    ・ 挿入されているイラストやマンガが秀逸
    ・ 短時間で読破できる

    ■ 悪い点

    ・ 特にないが、簡単なサンプルながら多言語を扱うので少し戸惑うかも

    ■ 総評

    冒頭でも述べましたが、とてもよく出来たコーディング指南書です。とりたてて小難しいことをとやかく言うのではなく、簡単なことから順に、提案するかのように、よりよいコーディングの方法を教えてくれます。

    簡単に出来る形式の整え方や役立つコメントの書き方(第1部)、より良い制御構造のロジック(第2部)、そして、コードの再構築(第3部)などを扱ってます。後半は段々と難しくなりますが、読めるところまででも読むと、コーディングのマナーとセンスが向上します。

    最後の第4部では、実践として、よりよいテストコードの書き方を扱います。また、具体的な設計・実装として、サーバーの転送バイト数を把握するための「分・時間カウンター」を作成します。ここは、C++にて実装するので、少し難しめですが、前の章までを理解していれば、言語を知らなくても何をしているのか良く分かります。

    この「リーダブルコード」は、サンプルが比較的簡単なので、PHPやJavaScriptのみしか知らなくてもそこそこ読みこなせます。脱プログラミング初心者を意識した時に読むと、成長が実感できる一冊です。

    リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)