実用プログラムのIDListと(あまりにも手抜きだった)開発ツールとしてのDumpの改良が終わったので、しばらく「次は何か」を考える間、駄文を書かせていただきます。

 

既に私のプログラミングヒストリーは「【昔話】私の〇ビット時代」で書かせていただきましたが、プログラミングへのアプローチは(昔の学級教科と同じように)最初はプログラミング言語の文法から入り、次にお手本としてサンプルプログラムを真似して打ち込み、自分で考えたプログラムを実際に作ってみて、自分なりのプログラミング作法ができてくる、という旧い昭和風の考え方(注)でした。

注:「やってみせ、言って聞かせて、させてみせ、ほめてやらねば、人は動かじ。話し合い、耳を傾け、承認し、任せてやらねば、人は育たず。やっている、姿を感謝で見守って、信頼せねば、人は実らず。」(山本五十六海軍元師)

 

そんなアプローチを支える開発環境は、年代順の一覧にすると次のようになります。(以下NY = New York、SP = Singapore)

【8 Bit】IOCS + Basic-M25、Assembler、CP/M + BDS-C(会社ではMS-DOSのみで開発できず)

【16 Bit】MS-DOS  + MS QuickBasic、Borland Turbo C++、 Windows 3.x + Borland C++ 1.0 (在NY-会社ではdBASE IVで開発)

【32 Bit】Windows 95→Windows XP、ActiveBasic、BorlandC++ 5.5 (在SP-BCCForm and BCCSkelton)

     日本に帰国する直前にBorlandC++ Builder 5.0(英語版)を入手、また帰国後MSのC++、Visual Basicを入手。

     日本で雑誌の付録に乗っていたDelphi 5.5を入手

     Windows 10 + ActiveBasic、BorlandC++ 5.5 (2020年から)

 

プログラミングを始めた8 Bitの頃はCUIで、エディターすらまともにない状態でしたが、楽しくて結構根を詰めて、長時間Basic-M25とBDS-Cでプログラミングしましたね。(当時は「構造化プログラミング」が「ナウい(汗;)」スタイルでした。)

 

NYへ行ってMS QuickBasic、Borland Turbo C++に触れ、MS-DOSのキャラクターベースでしたが、(もともと初代白黒AppleのWYSWYG環境にあこがれていたこともあり-注)GUIっぽい統合環境に感服しました。しかし仕事でデータベースを開発するのに忙しく、学習の為にDOSベースのサンプルを作るくらいのプログラミングしかしませんでした。また、BorlandがウィンドウベースのC++(Version 1.0)統合環境(Borland C++ Workspace -BCW)を出したので早速購入し、英語のマニュアルのみならず、日本出張の際に日本語のプログラミング関係書籍も買いましたが、(割り込みOSとしてのウィンドウズの知識がなく)ウィンドウズプログラミング用のへんてこなマクロを使ったプログラムスケルトンは全く理解不能で、すぐにポイっと投げ出しちゃいました。(それがBCCSkeltonの原型になっているから皮肉です。)

注:MSXを使っていた私が初代白黒AppleのWYSWYG環境に最初に触れたのは、1985年に米国へ短期留学した際のUC Berkleyにおいてでした。しかし、どういう訳かアップルは過去入手したことも、欲しいと思ったこともなく、開発はすべてMS-DOSとWindowsでしたね。

 

本格的にネィティブコンパイラーでWindowsプログラミングにはまったのは、SPでフリーのBCC 5.5をダウンロードしてからですが、当時はBCCの開発環境が全くありませんでした。そんな中でフリープログラムのBCC Develperに出会い、開発環境の飛躍的な改善ができました。しかし、ウィンドウズプログラムを書くのにフリーのリソースエディターが無いことに発奮し、BCCFormとその周辺ツール、およびBCCSkeltonとSkeltonWizardを開発してゆきました。ということで「開発するのは開発ツールだけ」というのが私のプログラミングの特徴ですね。

 

実はSPで出張した帰りのチャンギ空港でなんとBorland C++ Builder 5.0(英語版)のCDを入手します。すぐにインストールしてVisual BasicばりのWYSWYG環境を試します。


(写真は現在のWin10環境で起動した状態)

 

様々なコントロール、パッケージやActiveXなどをコンポーネントとして貼り付けられ、それらの属性はObject Inspectorで指定でき、細部はコードを編集し、デバッガーやイメージツールなども付いていたのですが、(つまらないプログラムでも巨大なランタイムが必要という弱点もあり)何故かほとんど使いませんでした。やはり「GUI開発環境で何か作るより、GUI開発環境を作りたい」のが夢だったのでしょう。

 

また、SPから帰国後Visual Basicの開発環境が欲しいなと思い、MicrosoftのVisual Studioも入手しましたが、C++はMFCでなじめず、共に碌に使いもしないでいじって遊んでいるだけでしたね。また、BCBとDelphiの互換性からDelphi 6のCDが付いたプログラミング本(注)を買っ足りもしましたが、「内部コードが同じでも、覚えることが増えるだけ」とお蔵入りにしました。
注:実はBorland C++のフリー開発環境であるBCC DeveloperはDelphiで開発されました。また、このDelphiの本にあるサンプルプログラムは2020年に見様見真似でBCB 5でC++に移植しました。案外と簡単でしたね。

 

そんなこんなで、15年ほどすっかりプログラミングからは遠ざかりました。

 

2020年に定年退職してプログラミングもボケ防止に再度始めよう、ということで選んだのは、Borland C++ Builderの承継会社であるEmbacadero社のC++ Builder Community Editionでした。しかしダウンロードして立ち上げると、この20年の発展と変化に呆然とし、「もうPCではなくモバイルデバイスの時代だな。C++ではなくC#、いやそれよりもRubyやPaython、いやその前にXMLか」「余生をかけても、もう全部はわからないだろうな」という感想です。それでも多彩、豊富なプラットフォームやコントロールを試しているうちに少しづつ昔の感が戻ってきました。しかし、ビルド時にメモリー管理上のエラーに見舞われるようになり、webで調べた対処法で一旦は回避したものの、再度発生した際に「もう無理(とうか、使用許諾期間の1年も終わりに近かったし)」ということで、あっさりと手を切りました。(その間にBCCForm and BCCSkeltonを使ってCOMやShellを使ったプログラムも開発を終えていたので。)

 

そんな、こんなで未だにC++でプログラミングをしています。恐らく私にはActive Basicだろうが、(新たに習う)他の言語だろうが、あまり関係が無いのだと思います。何かを作りだすのが単に楽しいので今でも使い慣れた「20年前の開発環境」で遊んでいる、ということでしょう。