「プログラミングの基本」で正当なプログラム開発を学ぼう
「マンガでやさしくわかる プログラミングの基本」
キャリアコンサルタント高橋さんの本を読ませていただいた。
逃げるは恥だが役に立つ けどやっちゃダメ
主人公の野々原マイミはド素人なのに新規プロジェクトのプログラミング担当に任命された。それはなぜ?
カップ式のコーヒーの自販機がある。そこでカップが切れていたとき、多くの人は別の自販機で買う。ところがマイミはカップを補充してくれるように頼みに行く。その姿勢が買われたのだった。 プログラミングの本質とは問題を解決すること。どうすれば目の前の問題を解決できるか考えて行動することが必要なのだ。
私はここを読んだらグサッときた。私だったら「逃げるは恥だが役に立つ」とばかりに、問題が発生したら逃げる方法を考える。回避策を先に考えてしまうのだ。これではプログラマ失格ではないか(汗)。
プログラム開発のあるべき姿はこれだ!
プログラムを作るときにはまずどこで動かすかを決め、次につくりやすさから言語を検討する、と書かれている。 すごく正当なプログラム開発の流れが説明されている。
ところが実際の仕事の流れだと、誰かがシステムの環境と使う言語を決めて、その言語が得意なプログラマがアサインされる。だからプログラマが言語を選択するというケースは滅多にない。 でもこの本では、正当な順序でのプログラム開発、あるべき姿が説明されている。
プログラム仕様書を作ってから
第3章には、「プログラムの動きとつくる手順を考えよう」というタイトルで、プログラミングのための準備について書かれている。プログラム仕様書のように、実現することやフローチャートを書いていく説明だ。ここまでではまだソースの記述は出てこない。 もし私がこういった本を書くとしたら、早い段階でコードの If による分岐や for による繰り返しを見せて、プログラムってこういう感じ、と軽いノリで説明してしまうことだろう。 ところがこの本ではプログラム仕様を固めることを先にやっている。これもすごく正当な手順だ。正当なあるべき開発方法に乗っ取っている。
初心者がとっつきやすいExcel VBAの例で説明
第4章の「プログラミングをしよう」になると少し難しくなる。とは言ってもプログラムの内容は難しくはない。ここでとりあげている言語は初心者がとっつきやすいExcel VBAだ。ただ、Excel VBAは使い方は簡単なものの、Excelならではの設定が必要だったりする。端折ってもよさそうな細かいところまで真面目に説明してあることで、もしかしたら初心者には難しく思えてしまうかもしれない。「細かな部分までは理解しようとしなくても大丈夫です」と書かれているように、ここは細部にはあまりこだわらずに読ませた方がよさそうだ。逆に、これからExcel VBAでプログラムを作ろうとしている初心者には細部までピッタリする内容になっている。
筆者の真面目な性格がにじみ出ている本
著者のキャリアコンサルタント高橋さんは、四年前、私と同じ時期からこのエンジニアライフにコラムを書き始めた。それから私も高橋さんも毎週書いてきた。私、あべっかんはときどき休んだりアップするのが1日遅れたり、ときには不真面目なことも書いている。一方、高橋さんは毎週月曜に真面目にコンスタントに正当なコラムを書き続けている。
そんな高橋さんの真面目さが、この本にも現れているように思える。正当なあるべき姿の開発手順やプログラマのあるべき姿勢が書かれているのだ。だから、正当な、真面目なプログラマに育ってほしい新人にこの本を読ませるべきだろう。 そうすれば、何も考えずに既存のプログラムのコピペばかりする私のような悪いプログラマにはならないはずだ(汗)。
あべっかんでした。
実際にプログラマ未経験者にこの本を読ませてみた検証はこちらを参照。
ついでにこちらの本もよろしく。
コメント
キャリアコンサルタント高橋
abekkanさん、
こんにちは、キャリアコンサルタント高橋です。
書評をいただきありがとうございます!
abekkanさんちのコラムを含めて読ませていただきました。
プログラミングを知らない人にどうやったらプログラミングの基本を分かってもらえるか? がこの本の最大の悩み所でした。
特にabekkanさんもおっしゃる第4章の説明が本当に難しく、ここは何度も書き直しました。
実は第4章の最初にVBEの詳細な解説を100ページほど書いていました。それこそ1つ1つの挙動をスクリーンショットに撮り、それを同じ動きをするダウンロードファイルを100近く用意し、VBEの動きを理解してもらえるような構成にしていました。しかし、初心者の方にとってVBEの細かな説明はそれほど重要ではなく、そこにページを増やすと一気に読了率が減ってしまうことが分かりました。そこで、この部分を全部カットした経緯があります(笑
この本にはこういった箇所が随所にあります。そのため、経験者が読まれると説明不足を感じる点が多々あり、不親切に見える本かもしれません。。。
しかし、そういった感想をいただいたとしても、初心者の方に合わせた本にしようと思い執筆しました。
それでも、abekkanさんの奥様のような感想をいただくことはまだ改善の余地があったのかもしれませんね。本当に貴重なご意見ありがとうございました!
ちなみに、私のコラムでも書きましたが、初心者の方にプログラミングを理解していただくためにはプログラミングの説明をしないことに尽きるのではないか、という仮説を持っています。プログラミングの説明をせずにプログラミングを理解してもらうことは一見すると矛盾していますが、この仮説を基に現在、次回作の準備をしております。こちらも近々、お話しさせていただきますね♪
abekkan
高橋さん
やはり4章がたいへんだったのですね。どこまで詳しく、どこまでやさしく書くかというのは悩ましいところだと思います。万人に満足させるということは不可能です。自分の思いを貫いて書いていることが立派だと思いました!