私はこの40年でいろいろな言語を弄ってきました。ここでは昔を振り返りながら、その経験と感想を語っていきたいと思います。多少記憶が曖昧な部分はご容赦ください。
※ 以下、殆どモザイクが入ります。
MB-6880L2
私が一番最初に触れたパソコンらしいパソコンと言えば MB-6880L2 です。名古屋の矢場町という場所に当時存在していたカトー無線電気館という場所に展示されていたのを、マニュアルを見ながら BASIC プログラムをぽちぽちと入力して、画面の端から UFO が飛んでくるだけの簡単な内容でしたが、それでも大変感動したのをよく覚えています。
MZ-80K
次が MZ-80K です。名古屋の今池にあったユニーの家電売場で展示されていたのが MZ-80K でした。自由に弄らせてもらえたので、学校帰りにぽちぽちとプログラムを作ってました。基本的には BASIC でしたが、敵を複数動かす部分は直接マシンコードを入力してました。Z80 オペコード直打ちです。マシン語は芸夢狂人さんの月刊アイオーの記事を元に覚えました。方眼紙に書いてはマシン語モニタで入力していたように思います。
PC-8001
その後、アルバイトして PC-8001 をフルセットで購入します。最初は N-BASIC でゲームを作ったのですが、やはりマシン語の実行速度に魅了されて手に入れた開発言語がキャリーラボの BASE-80 です。BASIC 的なマクロニーモニックでアセンブラを記述できる大変素晴らしい開発言語でした。この BASE-80 は、その後プロになってからもしばらく使い続けました。皆さんご存知のアレも BASE-80 での開発です。Z80 の参考書はずっとこのハンドブックを使用してました。
PC-8001ハンドブック
しばらくすると当時発売の全機種でゲームを作るという企画が持ち上がったため、どうしてもザイログ形式のアセンブラで開発する必要性が出てきました。そこで選択したのが PC-9801 による Z80 クロス開発環境です。8ビット機の開発を PC-9801 の MS-DOS 上で行うようになります。そのためアセンブラもクロスアセンブラを使うことになります。
PC-9801
わりと多くの人が最初は MASM から入ったと聞いていますが、私はいきなり OPTASM から入りました。理由は今となっては思い出せないのですが…。OPTASM でオブジェクトファイルを作り、OLINK で最小バイナリファイルを生成していました。当時はそんなにアセンブル速度が早くなかったので、ソースコードの変化だけをアセンブルするために MAKE も使いました。また、手間を減らすために BAT ファイルでアセンブルセレクタも作ったりしました。この頃から環境ヲタクっぽくなっていた気がします。
MS-DOS
余談ですが、MS-DOS で起動すると、最初の AUTOEXEC.BAT で TODAY.EXE を起動して、今日はなんの日かを見るのが楽しみでした。あと、HDD の容量が大きくなかったので、DIET.EXE で実行ファイルを圧縮格納してたりもしています。CONFIG.SYS を弄くり倒して如何にフリーエリアを 640KB に近づけるかとか、環境整備に時間を余分に使っていたようにも思います😁
PlayStation
その後、対処の転機が訪れます。これが C コンパイラです。時代は 8ビットから 16ビットに変わり、実行速度的には少しずつ余裕が出てきました。C コンパイラは出始めはライブラリのバグに苦しんだのですが、徐々にバグも取れてどんどん快適に変わっていきました。そして、PlayStation の開発言語が基本 C 言語に変わり、もはやアセンブラでの開発は過去のものになってしまったのです。
※ 互換メモリーカードを買うなら最大でも128MBまでです。それ以上はスイッチによる切り替えになります。また MC2SIO などから正しく認識されない可能性が高いです。現状で64MBまでなら認識していますが、この商品が認識するかどうかは不明です。買うならダメ元の気持ちで!

VzEditor
私はこの C 言語にはそほど苦労をした覚えはないです。ないのですが、当時のソースコードが残っているので今見ると、いやはやなんとも汚いのです。この辺りにコンパイラのソース記述に慣れていない感をひしひしと感じます。当時はまだ MS-DOS 全盛でしたので、エディタは VzEditor です。横幅はVTEXTだと広がりましたけど 80文字が最大でした。そして、for と if のインデントがめちゃくちゃ深くて、プロクラムが右端から消えていっていました。どんだけ深いんでしょうか。また、1つの関数がやたらと長いのです。それこそ数百行以上はあります。全くそういう意味では理解せずに使っていたのだと思います。
BCB4
しばらくの後、私は何の因果が専門学校の言語系教師となります。ここで2つ目の試練が襲いかかります。それが Windows プログラミングです。私の C のコードにまだアセンブラの名残を残している状態でした。構造化プログラミングべったりでした。そこにイベンドドリブンオブジェクト指向Win32API と新しい概念が複数まとめて押し寄せたのです。私は実は2度理解できずに挫折しています。そして、3回目にその挫折から私を救ってくれた言語こそが、Borland C++Builder 4(以下 BCB4 と略す)だったのです。

BCB4 の素晴らしさはオブジェクト指向の視覚化でした。当時はコントロールを自分で Win32API を叩いてフォームに配置してという煩わしい手順が必要でした。それを BCB4 では視覚化して、コントロールを選択してフォームに貼り付けて、プロパティで設定を変更するという、今では当たり前の UI を私にとっては最初に提供してくれた画期的なコンパイラだったのです。ボタンを配置してダブルクリックすると、その動作に対する関数が作られて中身を記述するだけです。これでイベントドリブンとオブジェクト指向の基本を学んだと思います。Win32API も隠蔽されますから、あとは、ひとつひとつ分からなかったことを理解していくだけでした。おかげで全て理解できるようになりました。BCB4 がなければ私はプログラマを引退していたかもしれません。

また、学校の教師となったことで、教えるからにはソースコードが綺麗でなけれはならないという義務感に襲われます。そこで何を持って綺麗なコードというのかを徹底的に調べました。また、同時に基本情報処理も担当することになり、そこで初めて基礎も再勉強する機会に恵まれました。今の私のプログラミングコードの記述スタイルは、この教師時代に培われています。幸いにして学生からもコードが綺麗で分かりやすいと好評でした。これは本当に苦労した甲斐があったなあと思っています。
MFC
また、この教師時代は MFCの担当にもなったことから、MFC も教えることになりました。Microsoft の開発ツールですから、使いやすい…とはちょっと言い難く😓 BCB4 を知らなければ使いやすいと感じたのかもしれませんが、MFC はなんていうか余分な事がたくさんでして、また、これ物凄く遅かったんですよね。ただ、やはりコントロールを自分で配置しなくても GUI で配置できる点は素晴らしく、しばらくツールは MFC で作っていました。
C#
そして、これまた数奇な運命に翻弄され、私はなぜか千葉県民に変わります。その会社でデバッグ情報管理が厄介という問題が発生しまして、それに対応スべくツール開発を行おうとも 10年ぶりぐらいに MFC を…うはは、MFC が衰退しとるやんかと😓 そこで調べると C# が良さそうということで、仕事しながらお勉強です。幸い C++ 知っていれば、スーッと C# の言語仕様には入っていけました。最初の難関が LINQ とデリゲートでしたが、これはネットで調べるといくらでもサンプルが手に入るので、あっという間に理解しました。昔と違い、今では困ったらネットで調べるとすぐに答えが見つかるので、理解は本当に早かったですね。
Unity
そして、折角 C# を覚えたのだからと自分で手を出したのが Unityです。これはアセットという自作コントロールの塊みたいなのを、オブジェクトして配置して繋いでいくみたいな考え方でした。また、便利なアセットはだいたい有償無償で公開されていたので、これを使わせてもらうとだいたいなんでも出来てしまいました。なのでサクッと 3Dゲームを作ったのですが…、うーん、ソースコードが美しくないです。初めて PS1 でゲームを作った時のデジャヴです。たぶん、まだ Unity のお作法に馴染んでいなかったんでしょうね。

Unity はこの試作以来弄っていないです。なにしろマイナーバージョンアップでも、今までのソースがビルドできなくなるので、ちょっと性に合わないと言うか。私が試作で作ったゲームは、もうプロジェクトを読み込むだけで、エラーが数百(数千かも)表示されて全くビルドが通らない状態になっています。互換性も何もあったもんじゃなくて、常に変化を追いかけていないと、あっという間に自分が作ったソースが陳腐化します。だから、Unity の開発ツールごと保存しなければならないのですが、Unity のバージョンは古くなると使えなくなる場合もあるので、こうなるとお手上げなんです。だから、たぶんもう Unity は私は使わないです。Unity は(どこかで書いた記憶もありますが)サクッと作ってサクッと公開するアプリ開発には便利だと思います。

そして、今は .NET 7を使っています。C# のバージョンは 9 です。古い書き方をすると、GUI がこういう書き方があるよと推奨してくるようになりました。おかげで次々と新しい書き方ができます。逆に言えばもう C# 9 より前には戻れなくなってはいます。そして、この最新の開発ツールを使用して作成しているのが Magic.MapEditor ですね。このツールもまもなく全機能が完成してβ版が見えてきています。今年の夏にはβ公開出来るかなと。

どうでしょうか。だいぶ長くなってしまいましたが、これが私の開発言語の遍歴です。アセンブラは遠くなりにけりですが、今でもアセンブラは楽しいです。時々は温故知新でアセンブラ開発にも立ち返りたいと思っています。
※ モニター買うならオススメは 2560x1440 解像度の27インチです。FHDを2台のマルチモニタで使うよりこちらのほうが快適です。裏の EAR PHONE 端子にスピーカー出力を接続すれば配線もスッキリです。
※ 私が断然オススメしているスピーカーがコレ。安いスピーカーの中ではダントツに良い音です。モニターの EAR PHONE 端子接続で音が出るのでかなり良いです。