質問: プログラミングをこれから勉強しようと思っているのですが、そのために次のふた通りの方法が思い浮かびました。 1. C言語、C++言語で(変数からオブジェクト指向まで)プログラミングの基本的な考え方を勉強し、その後開発に挑む 2. スクリプト言語のように取り組みやすい言語で開発しながら実践で勉強して、とりあえず何かを作ってから基礎を固める すなわち、理論面から入るか実践から入るかということです。 上の1と2ではどちらが初学者にとって良い学び方ですか? 1では基礎をしっかりと理解できる反面、実践に弱く、モチベーションが続かなそう。 一方、2では作りながら学べる反面、基礎が疎かになりそう。 いずれにしても、最終的には両方することにはなるのですが、初めはどちらのやり方がいいのでしょうか? なお、私の作りたいものを念のために書いておきますが、それは、WebアプリケーションからOSまで広範囲です。しかし、2のやり方で学ぶのであればとりあえずはWebアプリと(Webで動く)ゲームです。 また、これも念のために書いておきますが、上の質問はおそらく初学者一般に当てはまる質問だと思うので、一応有意義な質問だと思います。 --- 追記 たくさん回答をもらった後に大変申し訳ないのですが、質問し忘れていたことを書きます。 上の1,2の方法に関係なく、**初心者**がプログラミングを身につけるための勉強をするときは1つの言語を深く理解するのと、複数の言語をかじるのとではどちらがよいのでしょうか?(実務レベルで使える人材とかではなく、あくまでもプログラミングの勉強をする上で、どちらがよいのか、ということです)
回答: やはりやってて楽しいとか感じるものがいいでしょうねぇ。モチベーションを保つためには作って動かして目で確認できるものが。ただ、今では選択言語などによっては結構簡単にできてしまうので基礎を固めるためにはやはりC/Javaもやっておいた方がいいとは思います(特に言語にこだわらず情報が多いものでいいとは思います。)ってことで私は並列でやるのもありかなと。最初は見た目で楽しさを感じてその後にロジックを組む楽しさを知っていく。あとはそれをリファクタリングなどしていって改良を重ねるの繰り返しですかな。