HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学、量子計算などをテーマに扱っていきます

プリンシプル・オブ・プログラミング

 

 

follow us in feedly

f:id:s0sem0y:20170505205507j:plain

 

 プリンシプル・オブ・プログラミング

 一生役立つ101の原理原則

プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則

プリンシプル オブ プログラミング3年目までに身につけたい一生役立つ101の原理原則

 

 

プログラミングにおける原理原則を凝縮した一冊です。

基本的な構図は、1つの原理原則に対して

 

①プリンシプル

②What?

③Why?

④How?

 

で統一して書かれており非常に読みやすい印象です。

 

目次

・プロローグ 本書の読み方

ここで、言葉の定義などを行って以降の章を読む上での共通認識を決めておきます。

 

・前提

プログラミングの変わらぬ真実について3項目

 

・原則

プログラミングのガイドラインについて7項目

 

・思想

プログラミングのイデオロギーについて64項目

 

・視点

プログラマの視る角度について6項目

 

・習慣

プログラマのルーティンについて6項目

 

・手法

プログラマの道具箱について6項目

 

・法則

プログラミングのアンチパターンについて9項目

 

計101項目が取り扱われています。

ページ数は約300ページと骨太ですが一貫性のある表記によって、思いの外早く読めます。

内容

基本的にプログラミングにおける原理原則であるプリンシプルを1つ1つ取り上げ解説をしていくという内容です。

 

ここで挙げられているプリンシプルは、「良くプログラミングをする」ために歴史の中で自然淘汰され、生き残ってきた考え方です。

 

言語によらず普遍的なプログラミングの考え方を予め頭に入れておくことで、今後の取り組みに有意に働くことでしょう。

 

例えばオブジェクト指向だとか関数型だとかも、良くプログラミングをするための一手法であり、現在活躍、あるいは注目を浴びている者たちです。名前がついていなくとも、良くプログラミングをするための考え方というのは他にもたくさんあり、それらをまとめたのがこの一冊になります。

 

普遍的である知識ほど有効なものはありません。

例え言語が変わろうとも、新たな潮流が生まれようとも、基本的にはプリンシプルを達成する機能を獲得するために進化を遂げているに過ぎなく、その根本的思想は変わらないのです。

 

逆に言えば、このプリンシプルはプログラミングにおける理想的な活動のようなものです。

従って必ずしもこれら全てを実現するように活動ができるわけではありません。中には相反するプリンシプルも存在します。理想と現実はいつでも差異があるものですが、そのことも把握して、状況に応じて優先すべきプリンシプルを判断できるようになれば良いことです。

 

もしもプリンシプルを把握できていなければ、そのような判断すらできずもがくことになるかもしれません。

 

 

誰にオススメか

プログラミングを始めたい、あるいはプログラミングをしている人で、普遍的なプログラミングの姿勢を獲得したい場合に有効です。

 

基本的に具体的なコードの例などはありません。

従ってプログラミングを始める前から内容を理解することもできる一方で、プログラミングにおける具体的なテクニックを求める人には向いていません。

 

この本ではプログラミングというタスクに対する接し方を解説しているのであって、プログラミングの具体的な方法を解説しているわけではありません。

それを期待して買ってしまうと、何も得られる物はないでしょう。