備忘録 ~Write once, run anywhere~ 2000-2014年
2016/01/06
前回書いたとおり、C++Builderを購入してWindowsプログラミングをはじめたのが、1997年頃のこと。ところが、時が経つにつれ予想していないことが起きました。
それは、Windows98, WindowsXPとOSがバージョンアップしていくにつれ、当然のごとくC++Builderを含め総合開発環境がバージョンアップしていったということです。もちろん、それ自体は当然のことだし十分予想していたのですが、問題はバージョンアップにつれ総合開発環境(IDE)が高額になってきたことです。機能が向上してきたのが理由だと思いますが、価格的に容易に手が出そうもなく、正直そりゃないよと思ったものです。
それと、元々当初からあった不満だったこととして、いくらC++が標準化された言語であっても、GUIの部分までは標準化されていないことから、各社独自の仕様になったという現実があります。実際のところプログラミングのほとんどがGUIに関する部分なので、同じ機能を実現したコードであっても、互いを見比べると、まるで全く異なった言語で作ったかのような状態です。後でVisual C++に転向したいと思っても、一から勉強しなおす必要がありました。
そんな時に私の目に止まったのがJavaでした。ちょうど2000年の頃。バージョンが1.2でJava2と呼ばれていた頃のことです。
もともとWebブラウザ上で動作するAppletで広く知られるようになったJavaでしたが、デスクトップアプリケーション用の開発言語としても十分な実力を発揮していました。
当時から「Write once, run anywhere」思想が売りでしたが、私にとってそんなことはどうでもよく、どちらかというとSwingという「標準のGUIプログラミング仕様」があったということに大きな魅力を感じました。総合開発環境もJBuilderやVisual J++のようにIDEが各社提供されていましたが、Java自体にGUI仕様を持っているので、IDE独自のGUI仕様が現れないことを意味します。JBuilderを使っても後々容易にVisualJ++に移行できるわけです。(VisualJ++が独自性を出してSunと揉めたことは後で知った・・・。)
もうひとつ、IDEを使わずにコンパイルできるという点。IDEは便利ですが、それに依存しすぎて言語知識があまり向上しないことがC++Builderを使ってよく判りました。恥ずかしい話、オブジェクト指向プログラミングを理解したのは、後にIDEを使わずテキストエディタでJavaを組むようになってからです。もちろん高価なIDEを購入する必要がないという点が一番大きい理由でしたが。(JBuilderはFoundation版が無償でしたがとにかく遅い)
私にとって当時のJavaはまさに”彗星のごとく”現れたように見えたものです。
不満は「動作が遅い」こと。一度起動してしまえばそんなにではないのですが、起動はとにかく遅い。JavaVMが立ち上がり中間コードをネイティブに翻訳する関係上、どうしてもこの時間は発生するわけですから。しかし、パソコンの能力が向上するにつれ気にならなくなるだろうことを願いつつ、それから10年以上に渡ってJavaと付き合うようになりました。
スポンサーリンク