プログラミングを学ぶには 最近、某界隈ではプログラミングを学ぶためにプログラミングスクールが必要かどうかの話題で盛り上がっている。 数日遅れで自分なりに話題を消化できたので、ここに書き連ねていこうと思う。 プログラミングをやる前に行なうことが多すぎる プログラミングを学ぶ前には、 プログラミング環境 を整える必要がある。 そもそもの大前提として、 プログラミング環境 って何という話になる人がいるだろう。 もうこの時点で 9 割の人は脱落する(偏見)。 ここを自力で乗り越えることが出来る人は少数であろう。 歴戦の猛者の大半はプログラミング環境を自力で構築してきた人が殆どだと思う。 それを乗り越えられなかった人は、プログラミングスクールや大学や専門学校などで、この辺を学ぶかもしれない。 ドットインストール なんかは、この辺をかなり丁寧に教えてくれている。 この辺に たどり着ける 事ができた人はプログラミング適正があるといえる。 プログラミング中に行なうことが多すぎる (一応)プログラミング環境を整えたとしよう。例えば、コンパイラを用意したとか IDE のセットアップが終わったとか、環境変数を設定したなどである。 さあ、コードを書くぞと言ってコードを書き始めたは良いが、今度は大量のエラーとの格闘になる。 プログラムは書いたとおりに動くというのは至言であるが、実際にそのエラーを生み出した源である本人はそのエラーの意味をさっぱり理解できない。 プログラムの流れを追った所で、その流れすらも理解できない。 そのうち、IDE じゃなくてエディタが良いとか、あのライブラリよりこのライブラリが良いといった記事を読み出したりしたら、さあ大変。 デバッグを完全に終わらせることが出来なくなってしまう。 自分が理解できない現象に出くわした時、足を止めて考えることが出来るか。 プログラマにとって欠かせない素質の一つである。 足を止めて考えて、そして仮説を立てる。その仮説を検証する。 検証する際には、プログラムを書き直してみたり、入力データを変えてみたり、時間を変えてみたり、画面を変えてみたり、OS を変えてみたり色々する。 それをしてなお、仮説が駄目だった場合、潔くその仮説を捨てることが出来るか。 自分の仮説を大胆に捨てる。 プログラマにとって欠かせない素質の一つである。 ...