memorandums

日々のメモです。

プログラミング言語のとっかかりやすさ

ここ数日、Netbeabsを使ってRubyでプログラミングしてます。文法の知識が曖昧なこと、利用経験がないライブラリがまだまだあるので、irbで実行して確認しつつ、Rubyリファレンスマニュアルと照らし合わせながら、仕様を確認しつつ開発を進めています。


このやり方は、私が仕事で初めてC++(当時はSunのSPARC)を独学しながら進めていたときと同じです。当時はインターネットの利用がそれほどメジャーではありませんでしたので、とにかく小さなプログラムを作っては動かして確かめる(プライマー本を参照しながら)しかありませんでした。そんな当時を思い出しました。


そこで気づいたことが1つ。


私がJavaをはじめたのは95年くらいだったと思います。雑誌や書籍を買ってきて独学していました。プログラミング言語を学び始めるとき、だんだん慣れて行く過程というのは、恐らく、その人その人で違うのではないかと思います。


C++に慣れていたのでJavaはあっさり習得できると思っていたのですが、どうもしっくりこなかったことを憶えています。配列の扱い方、ポインタの扱い方、なぜかとても気持ち悪くてプログラムがうまく書けなかった覚えがあります。何冊か本を読んでは。。。JDKを入れてテキストエディタでプログラムを書いて動かす。。。そんな期間(熟成期間?)が結構長くかかったと思います。仕事ですぐ使うわけではなかったので学ぶ必然性がなかったことも時間がかかった要因の一つだと思います。


で、Javaでプログラムが書けるようになったきっかけは何だったかと思い出すと、Vectorで公開されていたCPad for Java2 SDKというソフトウェアのお陰だったと思います。いまでいうIDEです。プロジェクトを組む必要もなく、とにかくJDKをインストしてコードを書いて実行ボタンを押すだけで実行結果が確認できました。IDEがないと、プログラムの拡張子やパッケージを意識したフォルダ作成などが必要になります。ファイル名とクラス名を一致させるなどの命名規則も意識しなければなりませんでした。C++はどのあたりは自由でしたからどうしても窮屈に感じ学習するのが億劫と感じたように思います。いまならEclipseがありますし、Processingもオススメですが、同時はそういったものはありませんでした。


で、結局、何がいいたいか?いつもながら話が長い。。。


プログラミング言語のとっかかりやすさ」の決めては、学ぶ価値があるか、問題を十分に記述できるか、生産性や保守性はどうか、周辺環境(UIやDBなど)との親和性はどうか、などありますが、新しいプログラミング言語を学ぶ者にとっては、「すぐ試せるかどうか」ということは大きな要因だろうな。。。と思ったことでした。その点、Rubyirbはいいと思います。