024月
本屋さんで「プログラマの数学」という本を見つけました。
私も一応、プログラマの端くれなわけですが、確かに数学的な知識というのは
プログラムを組む上で結構重要かもしれません。
「パソコンが計算してくれるのでは?」とお思いの方も多いかも知れませんが、
パソコンに指示を出すのがプログラミングなわけで、計算の方法を示すのが
プログラマのお仕事とも言えるわけです。
たとえば、先日のOpenGLなら3次元から2次元への座標変換とか、
画像処理なら行列演算などは日常的に多用しますし。
そんなプログラムに有効な数学の知識を、やさしく解説してくれているのが
この本です。
とはいえ、読む上ではプログラミングの知識は特に不要ですし、堅苦しい
内容ではなく、楽しく「雑学」気分で読めるのではないかと。
数学アレルギーの方には、さすがに厳しいかもしれませんが、論理的な
パズルとかが好きな人なら、楽しく謎解き気分で楽しめると思いますよ。
061月
本屋さんで、「プログラマ主役型プロジェクトのススメ」という本を発見。
「プログラマ」はカッコイイ職業と思われてる方もいらっしゃるかもしれませんが、
現実は、なかなかそうでもありません。
ま、今時、そんな風に思ってる方も少ないでしょうけれど。(^^;
仕事でソフトウェアを作る場合、実際にソフト細部の設計やプログラミングを
する「プログラマ」の上役に、「プロジェクトマネージャー」がいます。
また、単にプログラムを書ける「プログラマ」よりも、システム全体を見渡せる(?)
「システムエンジニア(SE)」のほうが『高級』という考え方も根強いですね。
ただ、この本で書かれている通り、プログラマを冷遇することがソフトウェアの
品質低下を招いているのも事実だと、私も痛感します。
「管理」も大切ですけど、やっぱり、プログラムを書く人=プログラマがいないと、
まずは話にならないわけですしねぇ。
私は一応、システムエンジニアの側にいるわけですが、プログラマでもありたいと
思っています。
逆に、プログラマもシステムエンジニアとしての役割を担っていくべきなんですよね。
この本では「自立的プログラマ」と呼んでますが、まさにその通りだなぁと。
受動的に請け負うだけでなく、システム全体を積極的に引っ張っていくのが
より良いソフトウェアを作っていく上でも、重要なことかと思います。
そんな、プログラマを勇気付けてくれる一冊です。
1311月
こんなプログラミング本も、見つけてきました。
さきほどのエントリーで挙げた「センス・オブ・プログラミング!」とは少し違って、
こちらはC言語からC++へうまく移行できない方向けになってます。
C++って、C言語ユーザーならすぐに移行できる場合がほとんどですが、
それはC++をほんとに理解した、使いこなせてるってわけではないんですよね。
「どう見ても、ただのC」っていう、C++のプログラムも良く見かけます。
私も趣味のプログラムだと、ついそうなっちゃいますけどね。(爆)
そういったC++ならではの良さを生かした「美しい」プログラミングを伝授してくれるのが、
この本というわけです。
まぁ、あえて言い切ってしまえば、「オブジェクト指向」の解説とも言えるかも。
とっかかりで一番理解しづらいと思われる、「クラスの継承」や「例外処理」なども
詳しく説明してくれてます。
それでも「俺は、C言語を極めるのだ。オブジェクト指向など、くそくらえ!」という
ガンコな職人さんには、「美しいCプログラミング見本帖」をオススメしておきしょう。(笑)
ただ、こちらはポインタあたりの解説が中心ですので、本来はC言語初心者のほうが、
向いているかもしれませんです。
1311月
本屋さんで「センス・オブ・プログラミング!」という本を見つけました。
タイトルの通り、プログラミングに関する本でして、それも入門書ではなく、
どちらかというとプログラミング初心者に向けての内容といった感じ。
ただ、内容のほうは、なかなか洗練されてて、「もっと成長したい!」という
若葉マーク付きプログラマさんの向上心にしっかり応えてくれると思います。
私もこの作者さんが書かれているように、プログラミングは「ただ書けば良い」
ってものではなく、センスが必要だと思うんですよね。
文章と同じで、「意味が通じる」ってだけじゃ、やっぱり質の高いものには
なりません。
ただ、そういうところって、自分で磨くのは難しいし、教えてくれるような本も
あんまりないんです。
文章なら他の人の書いたものを読んだりして真似ることもできますが、
他人のプログラムソースを読むのは、退屈ですしね。(^^;
その点、この本はまさにそこをターゲットに書かれてるのが、貴重な存在かと。
入社したての新人SEさんなんかにも、ぜひ読んでもらいたいですね。
具体的には、きれいなプログラムの書き方とか、データ構造の決め方、
モジュール分割や構造化について、さらには、具体的に有名でスマートな
アルゴリズムの紹介など、上級プログラマへの道しるべといった内容になってます。
一応、仕事と趣味でもう10数年、「なんちゃってプログラマ」をやってる私も
久々にオススメできるプログラミング解説書だと感じました。