初めて学ぶプログラミング言語

今日、会社の若手社員(23歳)と話をしていて、プログラミング言語を学び始めるのには、PHPとかのライトウェイト言語の方がいいんじゃないか、というようなことを彼が言っていました。

彼の主張は、以下のようなものです。

  • 彼は学生時代、1年生のときのJavaの授業で、いったんプログラミングに挫折した
  • その後、友達から教わりながらPHPをやってみたら、手軽にすごいことが出来るのでプログラミングが楽しくなった

そんな話を聞いていて思ったのが、Javaだとまったくの初心者に対してHelloWorldプログラムを作らせるときも、「まずはこれがお約束だから」ってことで、
public static void main…
って黙って書かせるところから始まってしまいます(その意味を知るのは結構後になります)。

それであれば、print "Hello World!"って一行書けばOKっていう、ライトウェイト言語の方が最初の教育用にはいいのかもしれない、って思いました。

また、挫折してしまうケースって、教育(自習でも同様)の際の題材の選び方に問題があるケースも少なくないのかな、と思います。
取ってつけたような制御構造や、面白くもない計算をさせていても、プログラミングの魅力はわからないかもしれません。

思えば、私がプログラミングを面白いと思うようになったのは大学の授業ではなく、家でやっていたWindowsプログラミングでした(当時はDelphiを使っていました ^^;)。

そう考えてみると、プログラミングの世界への入り口として、PHPでWebアプリってのも結構ありなのかもしれません。

もっとも、私自身は、C→DelphiJavaPerl→…というような順で習得してきたので、いきなりライトウェイト言語から入るのがいいんじゃないかて言われたとき「それはないだろう」って反射的に考えてしまいました。

でもそれって、Javaから入った人に対して「C(のポインタ)は理解してなきゃ」って言う人がいたり、Cから入った人に対して「アセンブラを知らずしてプログラマと言えるか」って言う人がいるのと同じ感覚なのかもしれないな、と思います。
プログラミング言語の抽象度が上がってくるにしたがって、それぞれの世代で、そういった感覚を持ってしまうだけなのかな、と。
(私自身、アセンブラでプログラミングした経験はないわけですし)

ちなみに、学生時代のJavaでは挫折した彼は、現在のプロジェクトでは最初はJavaScript関連の仕事をやってもらって、そこからJavaにも仕事の範囲を広げていっています。
今は抵抗なくJavaに取り組めているとのことでしたし、すっかり貴重な戦力になってきています。