現代のITリテラシー、ITスキル(2) ABFCからJの時代へ
タイトルにある「リテラシー (literacy)」とは、読み書き能力。また,ある分野に関する知識やそれを活用する能力のこと。先日、ワープロについて、同様のタイトルで日記を書いたが、「現代では「ワープロ」はあたりまえすぎて、すでに死語になりつつあるのかなとも思う。」と、この中に記した。時代は、めぐりめぐって、どんどん進展していく。ところで、面接の時に、プログラミング言語は何か勉強していますか?などと聞くと、現代の若者たちは、おおむね、JAVA/C++などと答える人が多くなった。みなさん、特に理工系、技術系の方は、学生時代には、何言語を学ばれたでしょうか??私の頃は、Fortranでした。学生の頃は、授業で、プログラムを作ると、その結果のプリントアウトが返却されるといった感じでありました。大学3-4年にもなると、研究室に属し、センターにいって、カードパンチをし、カードをセンターの入力窓口に渡し、JOB終了をモニターでチェック、終了したら、研究室のカードをプリンタに指すと、該当JOBの結果プリントアウトがでてくるのでありました。皆の論文締め切りも近くなってくると、カードパンチ室も満員、XYプロッターは取り合い、大変な混雑状況になります。研究室のドクターは、リッチで、10分ほど離れたそのセンターにいくこともなく、研究室のTSSターミナルから、色々と操作ができたのでありました。大昔なつかしき、大学時代のコンピューター環境です。会社にはいって、TSSやメインフレームは当たり前になり、COBOLを覚え、自分でPCを買い、BASICやマシン語、簡単なアセンブリ言語、、、、そして、Fortranももちろん使えましたが、メインフレームのBASIC、そして、NATURAL、これは、昔は大流行りのデータベース、ADABASの言語。3.5-4GL相当ですね。そして、TSSのコマンドプロシジャ、そして、BatchJOBのJCLなど制御系も少々勉強。(今でいえば、MS-DOSやWIndwosのコマンドバッチ、Unixのシェル言語の礎かもしれませんね)教えてくれる人も、教わる時間もなく、必要最低限のことを次々に覚えていきました。TSSのコマンドプロシジャ、略して、コマプロを駆使して、Loginしているもの同士の簡単なChatシステムなど作り、限定メンバーで楽しんだりもしましたし、BASICまたは、上記NATURALで、キャラクターベースの潜水艦ゲームなども余暇につくり、昼休みにメンテナンスなんぞして改善を繰り返していました。楽しかったですね。。。若かかりし頃。プログラミングが楽しい頃。ちなみに、上記のDBMS(データベースマネジメントシステム) ADABASは、現在では、有名なERPパッケージSAP R/3のおかかえDBMSになっているようです。(このごろでは、老舗のOracleとか、MS-SQLserverがはやっていますね。オープンソースでは、PosgreSQL?など)その後、統計分析言語系、たとえば、SASとか。また、RPG言語系では、プログレス2などを学びました。RPGは、ロールプレイイングゲームではなく、レポートプログラムジェネレーターかなにかの略だったと思います。上記Progress2は、かなり簡易に、一行で、複雑なプログラムを書くことができ、シーケンシャルファイル以外にもISAMやVSAMなどもハンドリングでき、その当時としては、画期的な漢字プリンターの操作もできました。ラインの送りもピッチ単位で制御でき、複雑な帳票を設計し、カーボン複写式の専門帳票にきれいに、印字することを学びました。その当時、漢字コードをリテラルで使う場合は、漢字コードを探し、16進数で打ち込んでいくという、とても、労多いやり方でしたが、当時としては、革新的でありました。昭和60年より昔のことであります。自分のパソコンでは、PASCALやら、Cなどをそろえ、色々やっておりましたが、Visual BasicやWindwosベースのCとなるに従い、自分は、プログラミング言語から遠ざかっていきました。設計の仕事や、プロジェクトの企画の仕事がメインになってきたからであります。そして、いつのまにか、コンピューター言語とは、無縁の生活を長らくしています。30歳を超える頃からは、好きなプログラムにタッチすることもなくなり、HTMLやJAVAなども、概略はわかるのですが、コーディングすることはできない状況になってしまいました。近年では、やはり、JAVA全盛のようですね。少し余裕ができたら、簡単なゲームなんぞJAVAで作ってみたいものです。知的パズルの類ですものね。そうそう、プログラム言語は、ごちゃ混ぜですが、A・・・ALGOL, Assemble言語B・・・BASIC,(BCPL)C・・・COBOL、C/C++/C#F・・・FortranH・・・HTMLJ・・・JAVAL・・・LispN・・・NaturalP・・・PL/1 , Pascal, Progress2, Prolog,pearl,S・・・DBMS系 SQL言語/ SASX・・・XML・・・いやいや、ちらっと並べてみるだけでも、いろいろありますね。BASIC/Fortran---C---C++(C#)---JAVAときて、Webインタフェースとなってきた現代。やはり、基本は、フロントは、Web、アプリケーションやDBMS連携には、CGI PEARLや、JAVA サーブレットとJSPなんぞとなるのでしょうね。メインフレーム時代から、PCの超発展とともにクライアントサーバー時代、オープンな開発、オブジェクト指向ときて、学ぶことも複雑に、分業も必要になってきたようです。昔の簡単な開発では、場合によっては、画面の入出力、処理、出力と1プログラムで、書くことも普通であったのに、このごろでは、クライアント側のHTML吐き出しと、処理、DBMS連携部分など、区分しての開発。生産性はあがっているのでしょうかね?(私の経験でいうと、NaturalとかProgress2、SASなどが一番効率的で、生産性があがったように思う。とにかく、一行コーディングするだけで、すごいことができてしまう。)コンピューターシステム、言語の複雑化、分業化はいい、オブジェクト指向もいい。しかし、実際に、安全で、性能よく、信頼性あるシステムを効率的につくれるのか??コンピューターに使われることなく、人間が、新しい意欲的なプログラムを、システムを作っていけるのか??難題続きであるが、大きな流れは変えられないようです。長く続くものは、標準であるか、デファクトスタンダードである必要があると信じています。大変優れたものでも、続かないものは、中長期でみると、イニシャルコストがかかり、覚えては消えていくのでは、きついものがある。。。中国でも、JAVA/C++/C#が言語教育の中心であるようだ。難題を残したまま、世の中は、B/Fの時代から、C、Jの時代へと移り変わってきた。J(Java)の時代が、長く続くことを望みたいが、どうなのだろうか。次の言語がでてくるときには、その名前は、どうなるのであろう。そのうち、本屋店頭にプログラム「L」の初歩とか、PG「O」なんてのが並びはじまるかもしれない。私もプログラム言語「Tyees」なんてものをつくってもいいかも。Javaはカフェのイメージがあるから、そう、紅茶のイメージにひっかけて、プログラミング言語「Teas」なんてのもいいかもしれない。「常に変わらぬものたち」、そして、もう一方の対極にある「変わり行くものたち」をともに追い続けていきたいものであります。今日の言葉・・・「不易流行」(再掲)