最近twitterで「8歳から9歳の子供にプログラミングを教えたい場合、どの言語が最適でしょうか?」という記事を見つけました。このような議論は昔からあるのですが、小学校でのプログラミング教育の必修化が決まったことで、この点に関心がある方が増えているのではないでしょうか?これだけITがビジネスに浸透している昨今、プログラミングを勉強してみたいビジネスパーソンも増えていると思います。そこで今回は、特に若い世代に限らず、初心者が学ぶプログラミング言語について書いてみたいと思います。
結論から言うと、プログラミングを学ぶにあたってフォーカスすべきは言語ではないと思っています。どちらかというと、プログラミングを学んで何をしたいかが大事です。例えば特定のアプリケーションを作りたいとか、就職したいとか、とりあえずプログラムを理解したいなどです。
作りたいものがある場合はそれに最適な言語を選ぶことになります。昨今では特定のアプリケーションを作るのを簡単にしてくれる、フレームワークと呼ばれるものが存在します。つまり言語を選ぶ基準として、それを作るのに最適なフレームワークが使える言語は何か?という点が非常に大事になります。3Dのゲームを作りたかったら、今はUNITYというフレームワークが有名です。これを使うにはC#という言語を覚える必要があります(フレームワークの勉強法については次回書きます)。
ここで良く、C#は初心者が使うのに最適な言語なのか?といったことが議論になりがちですが、そんなのどうでも良いというのが私の意見です。まずは作りたいという欲求が非常に大事です。プログラムをするには覚える事は沢山あるし、忍耐力が必要なので、やる気が無いと乗り越えられません。覚える事があるのは受験勉強も一緒です。しかし、プログラミングには受験勉強と違って答えがありません。その時の状況で最適だと思われる答えを自分で見つける、もしくはある程度妥協する必要があります。仕事をする上では同じような事は起きると思いますが、いざ「お勉強」を始めると、これが思った以上にストレスになってやる気が削がれる事があります。しかし何かを作るという目標があれば、まずはそれに到達する事を答えと出来るので先に進むことが出来ます。
確かに、初心者に最適では無い言語というのはあります。例えばC/C++などです(C#とは別です)。これらの言語はコンピューターの動く仕組みをある程度知っていないと理解が難しい概念が出てきて、多くの人はそこで討ち死にします。ただ、一般的に「何かを作りたい」と思った場合、こういう難しい言語でしか作れないという事はあまりありません。
ただ「Webサイトを作りたい」というのは少し困ってしまいます。Webサイトを作る言語/フレームワークはそれこそ星の数ほどあります(下の図は一部の例です)。
Retrieved from www.scnsoft.com
そんな人はまずHTML/CSS/Javascriptを学ぶと良いと思います。いきなり3言語かと思うかもしれませんが、どんな入門書を見てもこの3つは大体セットで出てきます。まずは簡単な入力フォームをHTMLで作る方法を調べて、デザインにこだわりたかったらCSS、ある程度の動きをつけたかったらJavascriptを勉強すると良いと思います。いずれにせよWebサイトを作るにはこれらの言語は避けて通れません。この時も自分の好きなウェブサイトを真似するとか、一定の答を決めてから勉強して下さい。
次回は作りたいアプリケーションが特に思いつかない方の勉強方法を書きます。
Written by plsplsme
Comments