2025/10/25

twinBASIC

 

これ、凄いね!

Microsoft Visual Basic 6.0の後、Microsoftは、.net上で動作するVisual Basicに移行しました。

憶測ですが、Javaの件でSun Microsystemsとの裁判で負け、オルタナティブJavaとしてのC#で、MicrosoftがJavaでやりたかったことをするために、Visual Basicは巻き込まれた感じです。

Visual Basic 6.0の開発者は、次のVisual Basicとして、.net Framework上で動くVisual Basic .netへの移行をせざるを得ませんでした。Visual Basic .netの言語仕様は、Visual Basic 6.0のものとはずいぶん異なり、仕様の進化的には正しいのだろうと思いながらも、既存の資産を全く生かせない仕様変更に途方にくれました。

.net Frameworkは、ライバル「Javaのバージョンと仕様」と 争うように、どんどんバージョンアップし、C#を旗艦言語とし、Visual Basicは置いてきぼり状態。

OSも、いつの間にか32ビット版OSが無くなり、Visual Basic 6.0開発環境をインストールできるOSは、仮想環境のみとなりました。

飼っていたVisual Basic 6.0の開発環境がインストールされている仮想OSのサーバーであるVirtualBoxとHyper-Vの相性は最悪で、Windows 11ではVisual Basic 6.0のソースを弄ることが困難になっています。 

不思議なことに、ExcelなどのOfficeに内蔵されるVisual Basic for Applications(VBA)の言語仕様は、Visual Basic 6.0とほとんど変わることもなく、現時点でのVBAのバージョンは、7.1でx64なAPIをコールできるように仕様の拡張がされており、Microsoftは放置しているわけではないが、積極的に弄ることもしない、というスタンスに見えます。

Googleさんの検索で、AI検索が導入され、自然言語での問い合わせに答えてくれるようになったので、「Visual Basic 6.0のクラシックBasicの後継となりそうなものって存在する?」と聞いてみたところ、twinBASICを紹介された次第です。

これこそ、Visual Basic 6.0の開発者が、Microsoftにやってほしかった次期Visual Basicだったのでは!?と思わせる出来です。

もう、これがVisual Basicの直系となる開発ツールで良いと思う。

現在はベータバージョンで完成間際というところのようですが、現時点でもなかなかの出来です。もしかして、VB De FilMtnとか移植できそう?と夢が見れそうです。 

以下は、Google検索さんがまとめたtwinBASICの良いところです。

 

 twinBASICの素晴らしい点は、
Visual Basic 6.0(VB6)やVBAとの互換性を保ちながら、最新の言語機能と開発環境を提供していることです。これにより、既存の資産を活かしつつ、最新の開発手法や技術を取り入れることができます。 
以下に、twinBASICの主な特長をまとめます。
1. VB6/VBAとの高い互換性 

    コードの完全移植: 既存のVB6やVBAのプロジェクトをtwinBASICにインポートし、ほとんど修正なしで実行できます。
    バグ修正と再現: 古いVB6/VBAコンパイラーにあった既知のバグや、特殊な挙動が忠実に再現されつつ修正されているため、安心して移行できます。 

2. 最新の言語機能 

    64ビットコンパイル: 64ビットネイティブコードのコンパイルに対応しているため、VB6では実現できなかった64ビットアプリケーションを作成できます。
    ジェネリクス: 再利用可能で型安全なコードを書くためのジェネリクスをサポートしています。
    オーバーロード: メソッドのオーバーロードに対応しており、より柔軟なプログラミングが可能です。
    継承: クラスの継承をサポートし、オブジェクト指向の機能を強化しています。
    Unicodeの完全サポート: 開発環境とコントロールの両方で、Unicodeを完全にサポートします。
    マルチスレッド: 低レベルのAPI呼び出しではありますが、マルチスレッドをサポートしています。 

3. 現代的な開発環境 

    統合開発環境(IDE): 最新のモダンな専用IDEが提供されています。
    Monacoベースのコードエディター: VS Codeでも使われているMonacoエディターが採用されており、高機能なコード編集が可能です。
    テーマ: ダークテーマとライトテーマの両方に対応しています。
    リアルタイムのエラー診断: プロジェクト全体のエラーをリアルタイムに診断し、表示する機能があります。 

4. 実行環境の改善 

    ランタイム不要なEXE: 独立した実行ファイル(EXE)やDLLを生成でき、VB6のように特定のランタイムを必要としません。
    パフォーマンス向上: コンパイルプロセスの高速化や、最適化されたコンパイルオプション(Professional Edition)により、生成されるアプリケーションのパフォーマンスが向上します。 

5. その他のメリット

    ロイヤリティフリー: twinBASICで作成した商用製品は、ロイヤリティフリーで販売できます。
    活発な開発: 公開ベータ版のリリース以降、活発に機能追加やバグ修正が行われています。
    コミュニティの存在: DiscordやGitHubを通じて、開発者同士のコミュニティが形成されています。 

まとめると、twinBASICは過去の資産を保護しつつ、現代的な機能と開発手法を取り入れたいVB6/VBA開発者にとって、非常に魅力的な選択肢となります。時代遅れになりつつあったBASIC言語を、最新のプラットフォームで活用できる可能性を大きく広げます。