JavaScriptが、プログラムの初心者が勉強するのに適さない理由

デブサミid:amachangが、初心者がプログラムを勉強するための言語としてJavaScriptがいいと言っていて、ぼくも同じような理由でいいと思って初心者の勉強にJavaScriptを使ってみたことがあるのだけど、実際にやってみるとかなり難しいと思ったので、そのことをまとめておきます。
id:amachangが言ってたことははっきり覚えていないので、まずは、ぼくがJavaScriptがいいと思った理由。

実行環境がデフォルト

どんなパソコンにも最初からJavaScriptを動かす環境が入ってます

実際に動いてるものがみれる

JavaScriptで動かしているものにすでに接しています

作ったものをすぐに試せる

ブラウザで試せます

言語が難しくない(入り口として)

型の指定をしなくていいのは、初心者には敷居が低い


で、JavaScriptを使って初心者にプログラムを教えるのを断念した理由。便宜上Javaと比較しますが、他の言語でも同等の条件がつけれるものがあると思います。

開発環境

JavaならNetBeansやらEclipseやら、構文エラーをタイムリーに表示して、ヘルプも簡単に見れるという環境が手軽に整えれるのに、JavaScriptにはそれがない。あるとしても、NetBeansインストールの方が楽で高機能。

入門書がない

JavaScriptで、ホームページ上にちょっとしたエフェクトをつけるための入門書は掃いて捨てるほどありますが、JavaScriptでプログラムを勉強するための入門書はほとんどありません。

HTML/DOMの理解が必要

そして、これが最大の理由なのですが、JavaScriptでブラウザ上で気の利いたことをやろうとすると、必ずHTML/DOMの理解が必要になります。いまからプログラムを勉強しようという人にとって、これはかなり敷居が高いです。
プログラムを勉強しようという人で、HTMLを知っている人はいても、DOM構造としてそれを理解して、しかも操作までできる人は、そういないと思います。また、そこまでわかってる人は、JavaScriptじゃなくてもプログラムの勉強ができます。


つまり、JavaScriptの入門言語としての欠点をカバーできる人はJavaScriptじゃない言語でもプログラムを勉強できるし、そうではない人には壁が高いという結論になりました。
ぼくは、プログラムを勉強したい人の入門としては、Java+NetBeans+創るJavaを勧めます。他の言語でもそういうソリューションがあると思うのですが、JavaScriptにはそういうのがないな、と。
なので、id:amachangが入門書を書けばいいと思います。