programmer-should-not-say-that-to-beginner

これは経験豊富なプログラマーと初心者との間の交流の一場面です:

老練なプログラマー:ねえ、プログラミングを学んでいるって聞いたよ。すごいね、何を学んでいるの?

初心者:MacのTextMate(注:Mac用のテキストエディタ)でPHPとHTMLを学んでいます。

老練なプログラマー:あちゃちゃちゃ、PHPはひどいね。Ruby on Railsを学ぶべきだよ。HeroKu(注:クラウドプラットフォーム)でデプロイして、Vimでコードを書くんだ。TextMateは初心者用だよ。それからNode.jsもやってみなよ、それは特別特別すばらしい、非ブロッキングI/Oがああああああああ、とてもクールだ。

初心者:うーん……まあいいけど

こういう話を聞くたびに、私は怒りたくなる。初心者が尊敬している人に自分の努力を否定され、一生懸命学んでいることが「本当のプログラミング」ではないと言われると、初心者の自信を大きく傷つけることになる。

あなたがプログラマーなら、初心者が学んでいるものをけなさないでほしい…彼らに学んでほしいと思うことを確実に学ばせるために、十分な時間を費やすつもりがない限りは。ただ何気なく、彼らが選んだ言語やツールは自分の選択ほどクールではないと皮肉るだけで、彼らはやる気を失ってしまう。

分かっている、PHPや今みんなが叩きたがっているどんな言語に対しても、機知に富んだツッコミを我慢するのはとても難しいということは(告白します、私もかつてそういう人間でした)。特に、心の底から、自分が彼らに提供できる言語、フレームワーク、ライブラリ、エディタ、ホスティング環境、人間工学キーボード、スタンディングデスクなどが、初心者が学んでいるどんなゴミよりもはるかに優れていると分かっているからだ。しかし、どうか我慢してほしい。

彼らにプログラミングの魅力を感じさせる何か(何でもいい!!!)を学び始めさせればいい。その後で、少し手助けをしてやればいい。もし彼らが学んでいるものが本当にひどいなら、彼らはいつか必ず行き詰まって、もっと簡単な方法があるかどうか尋ねてくるだろう。その時こそ、あなたが用意しておいた関数型プログラミングやhygenic macrosや、その他どんな論説でもぶちまければいい。

あなただけが、初心者にそんなことを言うプログラマーではないかもしれない。多くのプログラマー(特にネットフォーラムでは!)は、自分たちのお気に入りの言語/パッケージ/フレームワーク/テキストエディタ/ホスティング環境の話でもない限り、似たような皮肉な発言をするものだ。ああ、初心者は本当に困惑している。新人たちは何度も何度も、自分が選んだツールがどれほどひどいものかを聞かされる。たとえそれで何かを作れるかもしれないのに。さらに悪いことに、説教する古参たちはそれぞれ違うツールセットを学ぶように勧める。一体誰が正しいのか?次は何をやればいいのか?尽きることのないフラストレーションの詳細については、以下を読んでほしい。『大いに参考になるプログラミングの物語』。

さて、上記の会話について、ここに建設的な提案があります:

老練なプログラマー:ねえ、プログラミングを学んでいるって聞いたよ。すごいね、何を学んでいるの?

初心者:MacのTextMateでPHPとHTMLを学んでいます。

老練なプログラマー:いいね、最初のPHPプログラムが完成したら、それがどれだけクールか見せてくれよ!基本的なWebプログラミングにもっと慣れてきたら、俺のお気に入りのフレームワーク、Ruby on Railsを見せてあげる。それとPHPの共通点や相違点を一緒に見てみよう。

初心者:励ましありがとうございます。ぜひ連絡を取り合いましょう。

出典:http://www.techug.com/programmer-should-not-say-that-to-beginner