2009年8月4日火曜日

流行に振り回されない

システムエンジニアやプログラマの世界では、新しい技術、流行の技術に取組むことが格好が良いという面は確かにある。
UMLで設計し、プログラムはC#か、少なくともJavaかC++で、Webシステムなら、PythonかRuby。
これが、COBOLだと最低で、PHPやPerlも、もう古いといった感じである。

C#やRubyの優れた点は確実にあるのだが、多くのシステムでこれらの言語のメリットが大きく生きるということはそんなに無い。
それよりも、熟練した言語を使うメリットの方がずっと大きいと思う。
COBOLは長く使ってないが、現在のCOBOLに不足な点など、ほとんどないと思う。

Visual Basicも、.Net版は以前はVB.NETと呼ばれたが、思ったほど人気が出ず、現在はVisual Basic2008といいう名称になっているようでややこしい。
例えVB.NETやVisual Basic2008を使っていても、以前のVisual Basicとほとんど変わらない使い方がされていると思う。
Visual Basicとの互換性を謳うReal Basicがもっと良かったら、さぞや普及したかもしれないが、所詮ブランド力やサポート力の差があると思う。

何かのIT情報サイトで、「最も開発効率の高い言語は?」との問題に、Excelを1つの答としているものがあったが、これがなかなか興味深かった。一流のITコンサルタントがそう言い、自らExcelでシステムを作っているという。
言うまでもないが、Excelは表計算のアプリケーションでプログラム言語ではないが、マクロやVBA(Visual Basic for Application)が内臓され、立派な開発ツールである。
表部分は誰でも使えるので、ユーザー参加型の開発に結びつけることも出来る。Excelの開発効率が高いのは当たり前だ。
Excelは表計算だけあって、データベース機能がやや弱いが、それなら外部データベースを使うという手もあるし、Accessを使えば、データベースも、そして、高性能データベースのフロントツールとしても十分だ。

私は、これから開発者になりたいが、あんまり難しいことも嫌だというなら、とりあえずExcelの開発者になるというのも手と思う。
本格的にやりたければ、私は今でもAccessを薦める。ただ、VBAは必須となる。
Webなら、今のポール・グレアムはどう考えているか知らないが、やはりPerlを薦める。
ただ、Webシステムというのは、不特定多数のユーザーが使うことが前提の場合が多く、デザインや手厚い心配りが必要で、私はあまりやる気がない。
流行に振り回されず、AccessとPerlでやっていけばどうかと思う。