ノンプログラマーのための、プログラミング学習、9つのアドバイス
作成日:2011年09月06日(火)
動かないときは、ログ出力でどこまで動いているのかを追っていく
動かない時は焦らず、たとえばPHPであれば、var_dumpを使ってログを出力をして、exitで停止させて確認しよう。
var_dump($hoge);
exit;
実際は、以下のようなデバック用の関数を用意しておくと便利だろう。preタグは、配列やオブジェクトを見やすくするためにいれている。
function var_dump2($mix){
echo "<pre>";
var_dump($mix);
echo "</pre>";
}
この関数を、条件式のブロックの中や関数のブロック内にいれて、どこまで動いているかを追跡していく。変数や配列の値を出力して、意図した値がはいっているかをみてゆく。こうやっていくと、ある程度、エラーの場所の切り分けができる。
JavaScriptであれば、Firebugをインストールして、console.logでログ出力をしよう。
ActionScriptのようにクラスベースで開発する言語でまったく動かない場合は、まずコンストラクタにtraceをいれて、実行する。コンストラクタ自体が呼び出されていないことがある。それで問題なければ、イベントリスナー関数のなかにいれて、実行する。これを繰り返してエラーをおっていく。
読めなくてもまずは書いてみる、実行してみる
たとえば、JavaScriptのクロージャやプロトタイプチェーンなどは、一回読んでもよくわからない。ここであきらめず、短いコードでも実際に入力して動作させることをおすすめしたい。Firebugのコンソールを使うと、HTMLをわざわざ作らず、すぐにJavaScriptのコードの断片を試すことができる。コードを読んで分からなくても、とにかく打って試す姿勢が大事である。
英語のドキュメントを恐れない
APIドキュメントが英語の場合があるだろう。PHPは関数リファレンスのフォーラム部分は英語である。Railsも最新バージョンの情報になってくると、どうしても英語のドキュメントを読む必要がある。英語といっても、大部分はプログラムコードである。単語さえわかれば、英語が読めなくてもなんとか読める。中学校の英文法レベルくらいで十分読めるので、恐れず挑戦しよう。
予期しないエラーはかならずおこる
アプリケーションをつくっていると、予期しないエラーに遭遇して結構な時間、はまることがある。例えば、Railsの勉強をしていると、本の通りに入力してもエラーが出ることに、おそらく遭遇するだろう。全部入りのフレームワークではとくにおきやすい。
予期しないエラーは必ずおこる。すんなり動作するほうがが珍しいと受け入れてしまおう。
ひとつのアプリケーションを深く掘り下げるチュートリアル本を探そう
例えば、達人出版会の『はじめる! Rails3(1)』はタスクリスト(TODOリスト)という一つのWebアプリケーションを掘り下げてつくっていく。こういう丁寧なチュートリアル本は、実は少なくて貴重な存在だ。広く浅い入門書は一冊目としては仕方ないが、なかなか力がつかない。狭く深く、ひとつのアプリケーションを掘り下げた本を探そう。
本当に書けるようになるのかしら、と不安におもうのはあなただけではない
筆者は、昨年、Objective-CとCocoa Touchフレームワークの勉強で、このほろ苦い気持ちを何度も味わった。勉強したての最初の頃は、ただただコードを書いて動かすだけでもいっぱいいっぱいだ。そういう苦しい時期は誰でもある。
まったく分からない時は、言語にこだわらず、定評ある入門書を読もう
もし、あなたがPHPの勉強をしていて完全に根本からわからないと思ったら、いったんPHPの勉強を離れて『新版Perl言語プログラミングレッスン入門編』を読んで欲しい。Perlの入門書だが、問題ない。実際、基礎部分はどの言語も変わらない。この本は、配列、条件分岐、ループ、コンテクスト、正規表現など本当にわかりやすく、やさしい語り口で解説してある。
エキスパートが生でコードを書いている光景をみよう
身近にいない場合も、勉強会やセミナーなどで、生でコードを書いている風景をみよう。みるだけで勉強になる。例えば、キータッチもヒントになることが多い。もやもやした何かが、一気にブレイクスルーできることがある。身近に達人プログラマーがいる場合は、横に座って見学させてもらうとよい。
とくに、勉強になるのはデバックの時の作業だ。例えば、セミナーのライブコーディング中にうっかりバグがでたときは、おいしい瞬間である。見逃さずどうやっているか、観察してほしい。これは大いに勉強になる。
プログラマー文化に触れよう、憧れよう
最後に紹介するこれが一番大事なTIPSだ。
以前、ある検索サイトをつくったときに、一緒に働いたプログラマーから、『達人プログラマー』を勧められた。これはプログラマーの考え方、システム開発の考え方を説いた本で、ノンプログラマーの私でも楽しむことが出来た。プログラマーの文化をしることはおもしろい。
もうひとつおすすめは『闘うプログラマー』だ。WindowsNTの開発のドキュメンタリー本である。血湧き肉躍る。気合いをもらえる一冊。手で壁をバンバンたたきながら、読んで欲しい。プログラマーはかっこいい!そう思えればもう成功である。

まで。