画像のタイトルを入れてください

Peter Norvigが語っているように、プログラミングは数日とか数週間とかで習得できるものではありません。
プログラミングを習得するには「10年」のような時間がかかります。

わたし自身は、1978年にTRS-80とPET-2001とPC-8001とMZ-80に出逢って以来、相当長い期間、プログラミングを楽しんできました。

社会人になってから、高収入を求めて、プログラマーに転職しようと志す人が、MENTAにはたくさんいると思います。

社会人は、なんといっても「忙しい」ですから、効率よく学びたい、という気持ちが強いと思います。

焦る気持ちもあったりすると思います。

しかし、と私は思うのです。

まずは楽しむことが大事である、と。

あなたが一日でも早く結果を出したい、と願うのは全然問題ない。それは、モチベーションの源泉のひとつとして、正当な願望であると思います。

しかし、それでも、結果が出ない日々が続いて、挫折感に負けてしまうのは残念すぎる、と思うのです。

私が思いますに、プログラミングの習得には、以下の道程が必要です。

  1. 身体的に楽しむ時期: プログラミングの先人に倣って、サンプルコードを実際に自分の手で入力し、コードが動くことを楽しむ時期です。この段階では、自分が入力しているコードの意味はあんまりわかっていなくて大丈夫です。とにかくたくさん入力し、たくさん動かすことです。「こいつ、動くぞ!」と楽しむと良い。プログラミングが「楽しい」と感じることが大事です。
  2. コードを読む時期: 身体的に楽しむことができるようになったら、次に自分の入力してきたコードに頻出するパターンに注目して、そのパターンの意味を深掘りすることにチャレンジしましょう。なぜ、そのコードはそのように書くべきなのか。あなたの感覚が「このコード、大事っぽいぞ」と囁くのに反応して、大事っぽいものに注目してあれこれ調べ、書き直し、試行錯誤し、先人に質問するのです。なんとなく理解していたものを、少しずつ「しっかりと理解していく」段階です。
  3. リファレンスマニュアルを読む時期: コードを読み込むことを重ねていくと、公式リファレンスをしっかり読むことができるようになっていきます。入門記事ではなく、公式リファレンスこそが本当の情報なのだ、ということがわかってきます。自分なりの感覚ができるようになるまで、なかなか公式リファレンスを読めるものではありません。公式リファレンスが読めるようになると...
  4. 他人のコードを批判的に読み、書き直しにチャレンジする時期: 世の中にあるコードは、実はそこまで品質の高いものばかりではありません。GitHub等で公開されているソースコードは、ほぼ確実に改善の余地があります。他人のコードを批判的に読み、改良する。それができるようになってくるはずです。
  5. ライブラリ/フレームワーク/プログラミング言語の設計・実装、開発方法論を学び、議論できるようになる時期: ようやく、われわれは「基礎的な理論」や「メタな考え方」を学ぶ段階にやってきます。

このような旅を続けるためには「学習を楽しむこと」が本当に欠かせません。

私は、40年以上、プログラミングを楽しんでいます。

あなたにも、プログラミングの楽しさを知ってほしいと願っています。