初心者プログラマーにIDEを使わせるか?

スラッシュドット本家に" Should Students Be Taught With or Without an IDE?"というストーリーが上がっている。「生徒にJavaPython教えるんだけど、IDE使わせたほうがいいんですかね?」という議題だ。

うちにも一人新人が来ることが確定になっているので、どのように教育していくかをある程度考えねばならず、従ってこれは無視できない問題である。

プログラミングスキルというのは、トライ&エラーの反復を続けるうちに身に付いてくる部分が多い。しかし、IDEなんていたれりつくせりなツールを使わせると、このエラーをIDEが吸収したり勝手に補正かけたりして、人間が考える余地を減らしてしまう。これではスキルは身に付かない。

しかし、IDEには、例えば関数にマウスポインタを合わせると関連ドキュメントがポップアップしてくるから資料を探す手間が省けるとか、シンタックスハイライティングでスペルミスをいち早く発見できる、といった時間の浪費をかなり減少させてくれる利点もある。よって、絶対にIDEをつかわせるべきではない、とも言い切れない。

俺は、IDEを使わせない側である。そりゃ不便もあろうし、時間もかかってしまうだろう。しかし、良い仕事をする技術者は、技術を単なる知識でなく、自分の感覚になるまで昇華させているところがある。簡単に言うと『勘がきく』のだ。ここまで到達してこそホンマモンなわけだが、ここまで到達するにはコアな部分が理解できていなければならない。よって、覆いは可能な限り取り払ってしかるべき、そう思う。

そんなわけで、俺としてはvimにお作法学習用のsmartindentと、つまらないミス対策のsyntax highlightingぐらいを設定して、あとはgccでもjavacでも使って勝手にコード書けや、ぐらいにしとくのがいいかなぁ、と思っている。

くだらない理由でたくさん失敗して悩んでスキルを磨けばよい。誰でもそこから始めるのだ。