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言語を、最新のプラットフォームで活用できる可能性を大きく広げます。

2025/05/03

家族が増えました

 

去年、12年飼っていた柴犬が亡くなって、もう犬はいいかな...と思っていましたが、妻が『さみしいから、犬を飼いたい』と言ってきました。

何度もペットショップを巡って、柴犬を探していましたが、人気の犬種だけにお高い!

それに、ピンとくる子がいない...。

そんな中、知り合いの人から「保護犬だったら買わなくても飼えるよ。」と言われ、県の保護センターにも行ってきました。

しかし、そこでもピンとくる子は居なくて。

 別の人から、「保護センターは、県が運営しているものと、松山市が運営しているものがあるよ。」と聞き、松山市の保護センターへ行ってきました。

そこで、この犬と出会い、「良いな、かわいいな」と思い、引き取ることに。

それが、4月15日火曜日、平日でしたが有給休暇で引き取ってきました。

命名:すもも

推定6~7歳の女の子で、雑種だそうです。

パッと見、柴犬っぽい格好ですが、柴犬よりも1.5倍位大きいです。

カリカリ餌は2倍食べます。食いしん坊です。デブ犬にならないように気を付けなければなりません。

前の子と同様、お散歩大好きで力が強いのでグイグイ引っ張りながら歩いていきます。結構、ムキムキです。

まだうちに来て間がないため、少し遠慮があるのかまだ距離が遠いです。

これから妻と一緒に、長く付き合っていきたいです。


2024/12/21

師走ですね、近況報告

前回の近況報告から、数年経っていますね。(^^ゞ
その間には、色んなことがあり、ブログを書く気がしなかったのが理由です。 

職場

 2019年の1月から居るという残業のない世界に、まだ居ます。残業のない世界とはいえ、やむなく残業したのはこの5年間で2日のみ!

家族が減りました

親父が脳梗塞の後遺症で、次第に認知症が進み、耳がほとんど聞こえない、肝機能不全で透析患者という状況で、介護的に非常に大変になりました。
介護疲れで、不注意により妻が大やけどで入院。
やむなく、介護施設にショートステイという選択で、親父を預かってもらうことに。
しかし、認知症&難聴&思い込みという組み合わせで介護施設でトラブルの連続、そのたびに私が呼び出され、何のために預かってもらっているのか?そもそも預かっているってことになっているのか?という面倒くささ。
介護施設のアドバイスにより、認知症の治療ということで、病院に入院となりました。
コロナの真っただ中だったので、ほとんど面会もできず、透析の別の病院のための通院も、介護タクシーをお願いしていました。
妻の入院の差し入れとかお見舞いとかもあるし、飼い猫や飼い犬の世話もあり、今思い出しても大変でしたよ~!
妻が退院する直前に、飼い猫が体調を崩して亡くなりました。「どうした~?体調悪いのか?」という間に。後始末を一人でやりました。
妻がやっと退院するものの、半年くらい通院があり、そのたびに有給休暇を使用して送り迎えをしました。割とストックがあった有給休暇は、この時点で無くなりました。
通勤の途中で、親父が入院している病院から携帯電話に、「朝呼吸が止まっているのを発見して、現在蘇生治療中なので急いで病院に来てください!」と電話あり。
結局、その時点で亡くなっていまして、葬儀場にてお通夜、お葬式となりました。
翌年は、妻側のお義父さんも亡くなり、そちらの葬儀にも参列。(同居はしていませんでした)
そして、今年の夏前に、1年の闘病生活の末に飼い犬も亡くなってしまいました。皮膚癌でした。
つまり、飼い猫、親父、お義父さん、飼い犬と家族が減ったわけです。

とても、ブログを書く気持ちの余裕はありませんでした。
 
こんなイベント山盛りでしたが、最近になって、そろそろ「あるべき自分中心の生活」に戻っても良いのではないかという気持ちになってきました。 
現在は妻と2人暮らしです。

2020/06/17

Java:サロゲート文字を考慮して1文字ずつ配列に格納したい

確かめずに、ソラで書いてるんだけど、
    String str = "𩸽が𩹉を𠮟る。";
    List<String> strList = str.codePoints()
                          .mapToObj(cp -> String.valueOf(Character.toChars(cp)))
                          .collect(Collections.toList());
こんな感じだっけ?

2020/04/19

 近況報告

仕事

バグを発見しても、資料を作り資料のレビューを、プログラムなんてしたことのない人に説明して、納得させられないと、資料の作り直し無限地獄で、いつまで経ってもバグの修正ができないイカれた世界から、残業のないシンプルなプログラマーだけをしていれば良い世界に転生したのは、去年の1月。
既に、1年が経っていますが、マジで残業をしたのはその間に1回のみ。
休日出勤って何?な世界で幸せに暮らしています。
あるんです、そんな世界。\(^o^)/
自分が思っている以上に大切に扱ってくれるし。
職業プログラマーな世界に転職してから、今が一番幸せかも...。

私生活

主にフリーソフトプログラマだったのは、既に何年も過去になっちゃいましたね。
今は、読書かNetflixが私生活の自由時間を占めていますので、コンテンツを作る側から消費する側になっていまいました。
作るといえば、土日や祝日には料理を作って家族に貢献はしていますよ。
読書は、職場でのスマホの持ち込みができないので、紙の本となっていますので、学生時代からのSFな小説を再読したり、新しく買ったりと。
昔はSFな小説といえばハヤカワ(水色)だったのですが、今時は創元(ラベンダー)なんですね。 ラノベは紙の本で買うと物理的に(心理的にも)部屋に置けないので、電子書籍で買うことがほとんどです。色々割引で買えますしね。
仕事でJavaしかしていないので。Javaはフリーソフトを書くには不向きな言語だと思いますので。Java自体のノウハウは非常に貯まるので誰かに言いたいくらいではありますが、仕事先は、インターネットから隔離された世界です。守秘義務との摺合せも面倒ですし。あしからず。

マイカー

中古のザ・ビートルに乗り換えたのは、去年の夏からだから8ヶ月になります。何が良かったかと言えば、燃費ですね。まぁ、通勤に使っていないせいもありますが、2ヶ月に1回くらいしかガソリンを入れなくて良い。満タンから800kmくらい走れますし。
ニュービートルと一緒で、ドライブは楽しいしぃ〜みたいな。
休日にしか乗らないから、黄砂とかクモの巣に悩まされています。

通勤

先に書いたとおり、マイカー通勤ではなく電車でGoなので、通勤中にスマホで読書ができます。行きは学生が一緒で混むので、ヘッドホン(イヤホンと言うのか?)で音楽オンリーですが。
今はコロナの影響で学生が乗ってこなくなったので、比較的空いていて通勤が楽です。

コロナ

もともと出不精なので、精神上は何も影響がないが、職場でマスク必須だし、通勤が電車なのでマスクを絶対しておきたいが、使い捨てのマスクが手に入らないのが、苦痛と言えば苦痛になるのかしら。
職場でタオル生地のマスクが支給されたんだけど、これでコロナから身を守れるのかが微妙〜。でも、無いよりは...。通気が良すぎてメガネが曇らないのが良いところ。

そろそろ夕方の犬の散歩の時間だ。それでは、また。

2019/09/03

こんにちは、ザ・ビートル

前車であるニュービートルと、新しくマイカーとなったザ・ビートルとを比べて、足りないところ、それは一輪挿し花瓶。
ニュービートルには、標準装備として一輪挿しがありましたが、ザ・ビートルには付いていません。
後付けの純正品らしきものも存在しているようですが、限定品であったらしく、今は欠品となっており入手は困難です。
代わりとなる一輪挿しを探しましたが、なかなか良いモノがなく...。

ニュービートルの一輪挿しを、ペンスタンドの代わりにして、ペンを挿している人が居る、という話を思い出し、だったら、一輪挿しではなく、ペンホルダーではどうだろうか?と探すこと数分。
ありました。
タブレット用スタイラスペンを、タブレットに貼り付けるタイプのケース。
早速、ザ・ビートルに取り付けてみました。
いい感じです。

2019/08/25

さよなら、ニュービートル

2001年式のニュービートルに乗って18年。
最後のニュービートル乗りになるまでニュービートルに乗り続ける。
と言い続けていましたが、さすがに維持費が掛かりすぎることが理由で、手放すことにしました。
車内のプラスチック部品が壊れまくり、ドアの取っ手が破損しています。
ドアの取っ手を修理するには、ドアの内張全体を取り換える必要があり、片側20万円するそうです。両方だと40万円。
それ以外にも、運転席側のドアのロックが、時々開かなくなったりして不便なので、修理をすると6万円。
サスもヘタって、後ろから見るとネガティブ・キャンバーになっていて、タイヤの内側だけが減っており、このままだと車検を通らない。
バッテリーも弱っていて、車検時に交換するべき状態。
バッテリーを格納するケースもプラスチックゆえにボロボロ。
ヘッドライトのクリア部分も、飴色になっており、交換なら10万円~20万円コース。
ハッチバックのゴムパッキンもボロボロだし。
ボンネットの塗面の剥がれもひどく、全塗装も考えていたものの、古い車ゆえになかなか全塗装をしてくれる業者が見つからず。

あれ?これだけ車検までに必要なら、それだけでザ・ビートルの中古が買えるのでは?
近所の中古車屋さんで、ザ・ビートルの相場を見ると、前期型だと150万円程度。
そうだ!ザ・ビートルの中古に乗り換えよう。ザ・ビートルなら、トラブルがあったとしても、自動車税も、維持費もニュービートルよりも安いだろう?

そう考えたのはお盆前。
そして昨日、ブラックのザ・ビートルが納車されました!!\(^o^)/
納車の前日には、乾式7速DSGのリコールが発表され、巷の乾式7速DSGはすぐ壊れて無茶金食い虫、という評判が故に中古車市場でVW車が割と安かったのも頷けます。
リコール修理だから、今後DSGの件は安心だし。
乗った感じは、良いよ~!
ずっと前に試乗した1.2リッター7速DSGのゴルフと同じく、低速でサクサク変速していき、排気量のわりに野太い排気音をさせるし、振動少ないし、剛性あるし、見た目マッシブだし。


ガンダムで例えると、グフからゲルググに乗り換えたようなものでしょうか?
連邦と後10年は戦えそうです。