質問: 某サイトを見ていたら、プログラミングで最初にCとJavaをやるのはおすすめしないと書いてありました。 最初に勉強しといていいプログラミングは、なんですか?
回答: プログラミングを勉強しようと思った場合、まずはプログラミングの考え方を学ぶ事から始めます。 プログラミングを学ぶというと○○言語入門的な本を最初に読みがちですが、 実はプログラミング言語を学ぶ事と、プログラミングを学ぶ事は、別なのです。 日本語の文法だけ知っていれば、小説が書けるわけではないように プログラミングも言語を覚えただけではプログラミングは出来ません なので、最初に学ぶ必要があるのはプログラミングの考え方についてです。 それらについては、例えばこれらの本が評判が良いようです。 改訂3版 これからはじめるプログラミング 基礎の基礎 (まだ発売間もないのでレビュー等は旧版の方を参考に ) プログラミング入門講座――基本と思考法と重要事項がきちんと学べる授業 これらの本はプログラミングの考え方の説明のための本で、それだけ読んでもプログラミングが出来るようには成らないのですが 各種プログラミング言語の使い方を覚えたあとで(言語の仕組みを理解する為にも)必ず役に立ちます。 1冊目の本のレビューの中にあった以下の文が非常に的確だと思います。 『購入を迷っている方に忠告しておきます。 これは本当に「基礎の基礎」です。 もしこの本1冊を丸暗記するほどに読み込んだところで、プログラムを組めるようにはなりません。 しかし、 「この本の内容が理解できていないとプログラムは組めません」 それほどまでに基礎の基礎の大切なことが書いてあります。 文系の方からよく聞く、 「プログラミングについて学習したいけど、何から勉強すれば良いのかわからない」という発言。 これです。この本の内容からです。 この本をしっかりと理解していれば、 これから先、プログラム言語を学んでいく過程で、 しっかりと頭で理論を組み立て理解することができると思います。』 その上で、言語に関してですが、C言語というのは、大昔に作られた言語なので、作りがかなり古臭いのです。 車で言えば、物凄く初期の自動車でとても一人では、運転できず、 車自体の操縦を行う運転手とは別に、エンジンの状態を管理する助手が必要だった時代というぐらい古臭くて 何から何まで、プログラマーが全ての状態を自分で管理し把握していないと、簡単に暴走してしまう 危なっかしい言語なのです。 なので、他の言語を学んだ後からでも、C言語に手を出す事を、「ステップアップ」と言えるかどうかすら、かなり微妙です。 余程の必要がなければ、C言語は今更わざわざ手を出すこともないかな、と。 一方、Javaはそれに比べると遥かに現代的な言語です。 低レベルなメモリ管理に神経を尖らせる必要もありませんし。 最初に書いた基本が理解できていれば、そんなに難しくもないと思います。 というより、基本が出来ていればJavaでも既に書かれているRubyでも、最近話題のPythonでも、表現できる事に大きな違いは無いです。(表記の好き好きや用途毎の得手不得手はありますが) あと、プログラミング言語は宗教のようなもので、それぞれに熱狂的な人達がいるので、 何が良いかって話は、コレコレこういう理由で自らの信じる言語こそが素晴らしい!という人達が現れてよく揉めますw 目的や用途が限定されていれば、かなり絞り込まれたりするんですけどね。