log > 初心者向け言語と入門者向け言語の違い

初心者向け言語と入門者向け言語の違い

  • 初心者向けと入門者向けは違う。(入門者→初心者→中級者→上級者→達人という定義です。)

PHPとJavaScript。この二つの言語は、二大初心者向け言語として推されてきた。すぐにサンプルが用意でき、ライブラリを使えば見栄えのいいものが作れ、習得もある程度までは容易なためだと思う。

一方で、この二つの言語は奥が深い。PHPは5.x以降大幅に変更があり、無名関数やトレイト、オートロード、あとComposerなどできることが増え、覚えることも増えた。JavaScriptはライブラリやWAFが大量にありすぎるし、ES6は来るし、書き方も関数型プログラミングっぽいのからJavaっぽいのまで様々だ。

こういう、比較的流れの速い場所に初心者を放り込むと、基礎的な部分がおろそかになるのではないかと思う。アルゴリズムや言語の概念(スコープや継承など)に関する知識は、初心者であっても必要な気がする。

さらに、PHPとJavaScriptは基本的にWebで公開することができる。公開したら、セキュリティホールがあってレンタルサーバーが大変なことになる、ということは避けたい。しかし、初心者にXSSやCSRF、SQLi対策を守ってもらえるのだろうか。


初心者のうちは、抽象的な概念や現実にはないルールを理解することは難しい。たとえば、クロージャや再帰など。いつか覚える必要が出てくるが、これらを用いなくても、プログラミングは可能だと思う。


入門者のうちは、趣味で日曜日しかプログラミングを触らないような人も楽しめるような、すぐに結果が出て、しかもそれなりに見栄えがいいものを作ってもらった方がいいのではないかと思ったりする。その方が楽しいので、モチベーションも継続する。

ドットインストールで、JavaScriptとPHPの応用サンプルが多いのは、環境を容易に用意できて、プログラム自体も短時間にできて、しかもある程度見栄えがいいということはありそう。