Categories
open all | close allTags
名称 | 認証 | Aptana | Subversion | モデル | RESTful | タグ | Migration | rake | CSRF | テスト | JustPosted | ドキュメント | アクセス制御 | Flash | フォーム | 国際化 | パソコン | デュアル・コア | スキンエンジンSearch
初心者用言語って…
PHPの話から派生して,初心者向け言語の話になっているようです。いろいろな人のブログを見てみても,なんだか意見が発散しているというか,そもそも初心者向けって何かという議論がなし崩しになっている感じがします。
Matzさんは抽象化を取り上げているのですが,僕はこれは行きすぎだろうと思います。自分がプログラミングを始めたときのことを考えると,最初の関門というのは数値の27と文字列の"27"の違いが分からなかったことだと思います。
PHPなどいわゆるLLは,この二つを「区別しなくていいよ」というのが基本的な態度のように思えます(Rubyはそうでもない部分が多いですが)。Webプログラミングという「入出力はテキストで行い」ながら,内部的には都合がいいときだけ数値として解釈するという世界では,これはとても便利です。一方で,こういった特徴が型に対して無自覚なプログラマを増やし,SQLインジェクションなどの温床になってしまっているようにも思えます。
そういった「自覚をうながす」ためには型付けの強い言語,例えばPascal(Delphi含む)のようなものが一番向いていると思います。
Matzさんのいう抽象化の機能というのは,一回このように型の違いなどを理解した上で,初めて身に付くものです。いきなりそこへ飛んでしまっては初心者は理解できないでしょう。
世間との折り合いを付ける意味ではC++とかって選択肢もあるでしょうけど「個人的に嫌い」なので。オブジェクト指向言語だったら,Smalltalk,Java,Rubyみたいに最初からオブジェクト指向として作られているものでないと気持ち悪いです。
Comments
No comments yet. You can be the first!