投稿元:
レビューを見る
当たり前のように使っているプログラム言語の文法、構文が
なぜそういう形になったのか、言語設計者の言葉を引用しながら
歴史的経緯に沿って解説されている。
いろいろな言語を比較した上で一般化して説明する技術がすごい。
今まで人にプログラムを教えることもあったが、
こういう説明をすればよかったのか、と反省。
とりあえず使えることと本当に分かっていることの差を痛感した。
投稿元:
レビューを見る
『プログラマの考え方がおもしろいほど身につく本』と併読した(『プログラマ〜』はまだ演習問題を解いている途中)。
プログラミング言語の構文や文法の背景にある設計者の考え方を丁寧に解説した良書。
計算機科学を学んだことがないこともあって、「プログラム言語を学ぶ」というと、解説書を読んでなんとなく分かったつもりでいたのだが、その成り立ちを知れば、理解の深さも違うんだなぁと痛感した次第。
とても勉強になった一冊だった。
投稿元:
レビューを見る
【目的】 プログラミング言語が持つ各種概念について、それらが「なぜ」存在するのかを解説する。
【収穫】 変化の速い言語という領域においては、他との比較や歴史からの学習を通じて、応用可能な知識を身に付けることが重要と理解できた。
【概要】 本書はプログラミング言語が持つ各種概念、例えば関数や例外処理、コンテナ等について、以下の2つの観点を中心として解説している。
①複数の言語の比較 : 例えば各言語の文法を考えた時に、FORTHやLISPではルールを少なくしてシンプル化することを図ったが、FORTRANは決め打ちルールを大量に導入してとっつきやすい書き方をできるようにした、等。
②歴史上の成立過程 : 例えばコードの継承を考えた時に、最初は実装の再利用性の観点から多重継承が採用されていたが、呼び出し時の衝突などの問題が発生したことから、多重継承を禁止にする流れが出てくるようになった、等。
【感想】 ちょうど新たなプログラミング言語の学習を開始するところだったため、興味が湧いて読んでみた。著者が強調しているように、どのようにコーディングするべきかといった特定のハウツーではなく、背景から解説するため、比較的読み物として入りやすい。一方で、言語の知識が乏しい状態で通り一遍読んだくらいだと深い理解は難しいと感じた。
投稿元:
レビューを見る
言語設計のさわりの部分。しかし触りだけでもためになる。
ifやgotoのような流れを知れば、「過去になにを苦労したのか」が容易に想像出来、何をすべきかどうすべきかが見えてくる。
他の言語も知りたいな。
c++の言語設計の本を積んだままにしているので、気が向いたら読んで行きたい。本書のような内容が書いてあるみたいだし。分厚いから気が向くのかはわからないが。。
よかった。
投稿元:
レビューを見る
プログラミング言語を構成するコンセプトひとつひとつを丁寧に解説する本.そのため,プログラミング言語の進化の歴史の俯瞰と,進化の流れで生まれた複数の言語の比較を行います.
バイナリツリーやオブジェクト指向など,プログラミング言語の習得や実装スキルの向上をする上で避けては通れないコンセプトをひと通り扱っているので,それこそ新人研修で読むべき内容だと思いました.
大学の授業に例えて言うなら,専門科目に入る前の「概論」の授業に当たるのがこの本かと.
特に,去年の今頃, RDB 理論の解説本のインデックス周り (B-Tree Index とか) をすげー苦労して読んでいたので,前もってこういう本で概論を押さえてたら楽だったなぁ,と思います.
また,この本を読むと,自分が学んでいる言語の仕様が当たり前のものでなく,いろんな意図があるということが分かって理解が進む,といういう効用もあるかと思います.
一つだけ残念なのはタイトル.「技術」というより「概念」の本なのになぁ,と.
投稿元:
レビューを見る
一読しただけだと、なかなかすべてを理解しきるのは難しいので、2読くらいしたほうがちょうどいい。
体系的な知識を得るためには良書だと思う。
投稿元:
レビューを見る
普段耳にするけど、まだちゃんと調べたことの無いもしくは調べても分からなかったことが多く解説されていて、非常に役に立った。
また、繰り返し読むことで一度読むだけでは拾いきれなかった項目も拾って行けそう。
初心者から中級者まで繰り返し読む価値のある良い本だと思います。
投稿元:
レビューを見る
プログラミングとは、ソフトウエア開発を「楽」にするためのものだ、という視点でプログラミングの歴史をなぞりながら、プログラミングの鍵となる要素がどういう目的で生まれ、採用されてきたか(もしくは不採用とされてきたか)を説明した本。C, C++, Java, Perl, Python, Ruby, JavaScript などのプログラミング言語を比較して、結果としてその「思想」を解説する。
取上げられた具体的な要素は、文法、構造化(if、while、など)、関数、エラー処理、名前とスコープ、型、文字列、並行処理(プロセスとスレッド)、オブジェクトとクラス、継承、が挙げられている。
こういうのって、プログラミングを覚えて、しばらくした頃に勉強するといいんだろうな。
このWEB+DB PRESS plusシリーズはいいよね。
投稿元:
レビューを見る
複数の言語を「比較」して言語の「歴史」から、プログラミング言語について学ぶ本。
僕がプログラミングをし始めたときすでに、C++もJavaもPythonもあって、その成り立ちについて気にしたことなかったので、新鮮な気持ちで読めた。確かにそういう仕組み(文法)があると便利そうやなと思えた。
もうちょい、いろんなプログラミング言語に浸かってからまた読み直してもいいかなと思う。
投稿元:
レビューを見る
プログラミングがなぜ生まれたか、また関数等がなぜ必要になったかを記載している
全体として、モノづくりをする人が楽(手抜きではない)をしたいから、プログラミング(コンピュータによる自動操作)ができ、コード自体がわかりやすく、かつ楽をするために関数等の考え方が生まれた
投稿元:
レビューを見る
コーディングする上で学ぶ概念を
開発言語を改良してきた歴史の面から説明している本です。
結構初歩的な内容で、さらっと読めるがそれゆえに頭に残らない内容だった気もします。
投稿元:
レビューを見る
プログラミング言語を構築する過程を追体験させるような内容。なかなか良かった。クレバーで穏やかな語り口が気に入りました。
まぁ、内容の詳細はすぐに抜けてしまうだろうけど、いろいろな機会にふと思い出しそうなわりと本質的な話が書いてあったと思う。
投稿元:
レビューを見る
ブログラマーのみならず、システム業界に身をおく人なら、必ず読むべき良書。
色々な言語を比較しながら、何故そうなっているのかの理由を背景と共に学べる。
投稿元:
レビューを見る
どうして今まで、こういう本に出会わなかったんだろうか。プログラミング言語仕様の何故を、その歴史と絡めて語ってくれるなんて、どきどきしちゃう。けれど、終盤は少し難しくなった気がするので、理解度という点でちょっと微妙。HWやメモリ管理方式とか絡めて、同じ語り口で取り上げて欲しいトピックがまだあると思う。大学等でソフトウェア工学やプログラミング技術の講義で、扱って欲しい内容だ。
投稿元:
レビューを見る
FORTRANから入ってC, Java, JavaScript をちょっとずつかじってきた自分にはちょうど良い本。
全体的に内容は浅めなんだろうけど
オブジェクト指向に対するなんとも言えないモヤモヤ感はある程度薄らいだかも。