戻る

C++は裏切らない (2023/01/26)

本格的なWindowsプログラミングは、Delphiから始めた。VisualStudioに比べてGUIは格段に作りやすいし、コンパイルは速いし、インラインアセンブラも書けた。Macの事を考えないといけない時代でもなかったので、「プログラミング」といえば「Windowsプログラミング」の事だった。Delphiでアプリケーションを書けば、95%の人々にリーチできる時代だった。

その後、段々と外部ライブラリを使いたくなってきた。C++のライブラリは多いが、Delphiのライブラリは少なかった。「C++は良いなぁ…」というわけで、C++ Builder を使う事にした(C++で書き直した)。C++ Builder 環境が考慮されたライブラリは多くなかったので、そんな恩恵を受けた事はなかったが、メインのプログラミング言語はC++となかった。素朴な書き方しかしてなかったけどね(今もそうだけど)。

間もなくインターネット全盛の時代が来た。というか、Webブラウザの時代だ。アプリケーションは、ブラウザで代替されていった。zipファイルをダウンロードして、展開して、実行するような時代ではなくなっていった。恥ずかしながら、このビッグウェーブには完全に乗れなかった。グラフィックスや動的なものが好きだったので、静的な表現にはあまり惹かれなかったというのもある。

その後、Flashアニメーションのブームあって、ActionScript でWeb上で動くアプリケーションが書ける開発環境 Adoble Flex がリリースされた。「おぉ、ついにリッチなアプリケーションがブラウザで動く時代が、これは来る!」という感じで Flex Builder を買って勉強したりアプリを書いてみたが、あっという間に廃れた。

それでもクロスプラットフォーム開発幻想には取り憑かれ続け、Qtなんかにも手を出した。WindowsとMacでそれなりのアプリが書けるのは素晴らしいが、モバイル時代にまで適応できているかと言われれば、それは難しい。多分Qtで開発された、まともなiOS/Androidアプリは存在しないでしょ……。エンバカデロの FireMonkey も評価してみたけど、自分の用途には厳しい。

何やかんやで、ここ20年 C++で積み上げたライブラリのコードが一番長持ちしている。20年前に書いた関数やファイルが、そのまま動いてくれる。言語仕様が変わり、コンパイルできなくなる事は殆どない。何万行、何十万行と、時代を超えて積み上げ続けられる(これが楽しいんだよ!)。恐らく 5年後 10年後もC++でコードを書いているだろう。巨大で複雑で高速なソフトウェアを書きたいなら、C++を使うしかない。C++は裏切らない。