AB5CP1公開完了!

abdev 3 Comments »

ということで、AB5評価版の公開作業、一段落です。

公開前に滑り込みセーフでWindows Vista Beta2での動作確認をとりました。Vistaはセキュリティ周りがかなり強化されているようで、レジストリの書き込み部分(関連付け)の動作がちょっと怪しいことをのぞけば(あとはデザインのアンマッチさとか…)、特段問題となるような挙動はありませんでした。

それにしても、AB5は言語仕様の強化、ライブラリの強化を掲げて今後も継続して開発を進めていくのですが、どうやら本格的にGUIの設計部分も考慮していかなければならないのかもしれません。

Vista環境でGUIツールとしての機能を十二分に生かすためには、.NET Framworkと仲良くなるか、それと同等のGUIコントロールをこちらで用意する必要がでてきます。後者の選択肢はあまり賢そうではないので、何か.NETへつながる抜け道を検討していく必要性がありそうです。

ActiveBasic 5.0 Customer Preview

abdev ActiveBasic 5.0 Customer Preview はコメントを受け付けていません

AB4の最終版をリリースしてから、早4ヵ月弱が過ぎてしまいました。一般的なソフトウェアの更新率から言えば対して間が空いている状態ではありませんが、発展途上に置かれているABにその方程式は当てはまらないものと考えています。

AB5では、言語仕様的な改良も当然として、実際にその環境の上で展開される具体的な手法の提案という意味で、パッケージ化を見据えます。

AB4までは、既存のAPIセットを利用できる環境へと仕上げておりましたが、ここらへんで一つの言語として、一つのIDEとしての評価が高まるように努めていきたいところ。

なかなかこの場ではそれらの詳細を述べることがし辛いものもありますので、可能であれば、来週辺りにActiveBasic 5.0の評価版を一般の皆様に向けて公開したいと思います。

公開までの道筋は見え隠れしているものの、まだまだやらなければならないことが山済みです。

最後に、お待ちいただいているユーザーの皆様、AB5リリースに向けた最終調整はまだまだ先になってしまうかと思いますが、少々お時間をいただると助かります。AB5評価版の一般公開の後、英語版開発も前向きに考えていきたいと思っております。

涙の決定戦

abdev 涙の決定戦 はコメントを受け付けていません

いや〜、本当に良い試合で涙腺のかった〜い私も涙を浮かべてしまいました。

普段はあんな口調の亀田興毅ですが、日々の淡々とした練習をこなし、本気の試合につなげているんだということを再確認させられた人はいっぱいいることと思います。

人は窮地に立たされたとき、その人間の持つ力の本当の部分が出てくるといいます。まさにWBA世界ライトフライ級王座決定戦はいつもは垣間見ることのできない、彼の姿を見ることが出来ました。

さぁさぁ、これからのメディアでの発言が気になるところ。まぁ、何を言っても、日々の練習を怠らずに、次につなげていってもらいたいものです。今までもそうしてきたでしょうし、彼ならば今後もそのスタイルを貫くことが出来ると信じております。

アウェイの雰囲気に呑まれることなく最終ラウンドまで際どい試合を展開してくれたファン・ランダエタ、そして浪速乃弁慶 亀田興毅、お疲れ様!

Windows Vista到着!!!

abdev 1 Comment »

きましたぁ〜

Windows Vista Beta2 Customer Preview Program

w(≧ロ≦)w

Windows Vista正式発売に備えて色々と準備をしていきたいと思います。でも、その前にPCにインストールできる環境を作らねば…

バックアップは重要ですが、現在進行形の仕事内容がおじゃんになってしまったらヒジョ〜に困るので、インストールのタイミングに迷います(インストール前のワクワク感を味わっているワケです)。

まぁ、言ってみれば、できればHDDがもう一台欲しい…

ということなんです。

たまには自分で増設してみようかな(めんどくさがりな神様が起きてくる前に…)

デバッガの開発、再スタート

abdev 5 Comments »

最近、言語ロジックばかりに作業リソースを費やしすぎていたので、ここらで気分を変えて、中途半端になっていたデバッガの作りこみを再スタートさせようと思います。

まず、AB5に搭載されるプロセスデバッガ、下記のような要素をカバーできるように改良を行います。

  • プロセスへのアタッチ機能
  • ABで開発されたEXE/DLLが複数にわたってプロセスにマッピングされたとき、相互のソースコードを同時に参照しながらステップ実行が行えるようにする

あと、デバッガのGUIがあまり宜しくない(使い勝手が悪い)ので、各種機能のデザインをやり直すことと、タブ機能などを活用して様々なデバッグ要素ウィンドウを閲覧可能にしていきたいと思います。

さてさて、昨日も花火を見てしまって、夏を満喫しております。でもスイッチを切り替えて、ここらで気を引き締めていきまっせ〜!

日本平花火大会

abdev 19 Comments »

いや〜、行ってしまいましたよ〜。地元の花火大会。今年初めての花火は、静岡の日本平でした!

日本ホテルのひろ〜い庭園で打ち上げが行われるのですが、私らはラッキーなことに最前列集団に混ざってゴザスペースを確保することができました。打ち上げ場所がすぐそこだったので、寝転がって見上げる感じで、、、

来年は、家族動員で、Lサイズのゴザを二枚くらいしいて、挑みたいところです。場所取りならおいらに任せろよ〜!!!

今年はあと何個のお祭りにいけるかな〜、キモだめしとかも行きたいし、バーベキューもあるし〜、、、これじゃぁ、学生の時とかわらんですな

CStringクラス

abdev 3 Comments »

オペレータのオーバーロードがほとんど出来上がったので、試しにCStringのデモコードを書いてみました。

Class CString
Public
    m_lpszBuffer As LPSTR
    m_length As Long

    Sub CString()
        m_lpszBuffer=calloc(1)
        m_length=0
    End Sub
    Sub ~CString()
        free(m_lpszBuffer)
        m_lpszBuffer=0
    End Sub

    Function Operator() As LPSTR
        Return m_lpszBuffer
    End Function

    Sub Operator= (ByRef objString As CString)
        m_length=objString.m_length

        m_lpszBuffer=realloc(m_lpszBuffer,m_length+1)
        memcpy(m_lpszBuffer,objString.m_lpszBuffer,m_length)
        m_lpszBuffer[m_length]=0
    End Sub

    Sub Operator= (lpszText As LPSTR)
        m_lpszBuffer=realloc(m_lpszBuffer,lstrlen(lpszText)+1)
        lstrcpy(m_lpszBuffer,lpszText)
        m_length=lstrlen(lpszText)
    End Sub

    Function Operator+ (lpszText As LPSTR) As CString
        Dim tempString As CString
        tempString=This

        tempString.m_lpszBuffer=realloc(
            tempString.m_lpszBuffer,
            tempString.m_length+lstrlen(lpszText)+1)
        lstrcpy(
            tempString.m_lpszBuffer+tempString.m_length,
            lpszText)
        tempString.m_length+=lstrlen(lpszText)

        Return tempString
    End Function

    Function Operator+ (ByRef objString As CString) As CString
        Dim tempString As CString
        tempString=This

        tempString.m_lpszBuffer=realloc(
            tempString.m_lpszBuffer,
            tempString.m_length+objString.m_length+1)
        memcpy(
            tempString.m_lpszBuffer+tempString.m_length,
            objString.m_lpszBuffer,objString.m_length)
        tempString.m_length+=objString.m_length

        tempString.m_lpszBuffer[tempString.m_length]=0

        Return tempString
    End Function
End Class

パラメータの型を識別しながらオーバーロードしていくのは良いのですが、キャストされることを見越して、戻り値でオーバーロードの解決を行うためには、コンパイラのほうをもう一捻りしなくてはなりません。

CStringは仮の名前なので、クラスが完成したらString型へ変更しようと思います。で、コンパイラにこびりついている従来のString型をすべて解除する方向で行きたいと思います。スマートに行ってくれることを祈ります・・・・・

オペレータのオーバーロードは予定通り

abdev オペレータのオーバーロードは予定通り はコメントを受け付けていません

オペレータオーバーロード、ロジックはそのままで、64コンパイラへの対応を行いました。ロジックがそのままなら、コードをポンづけで対応したいところなのですが、演算過程のレジスタ割付とかが違っているので、ちょっと手直しをしなければなりません。量はそれほどでもないのですが、いかんせんデバッグに時間がかかる・・・(そろそろデバッグの新手法でも編み出さないとヤバめになってきました)。

さて、ここらが一段落したところで、一般公開向けのAB5βを考えて参りたいと思います。

やはり、AB5が重要視したいところは、提示されたライブラリと言語仕様を活用して、いかにスピーディーに安全なコーディングを行えるかといったところです。今回ばかりは、ただ単にAPIセットをザザァ〜っと提示するだけではなく、実用的な使えるライブラリを提供したいきたいところ。で、業務面でも生かしつつ、実績が上を挙げられれば文句はありません。

しかし、まだまだその先があります。ここからは非現実的なものを含む、夢物語を…

  • 意味解析&コード生成ロジックはそのままに、C/C++の構文規約に近づけたバージョンの開発
  • テンプレートを導入したジェネリックプログラミングのサポート
  • IDEのプラグイン機能の導入(特に、コントロール類を外部から簡単に追加したい!)

三番目の案件なんかは、できればAB5でも導入していきたいくらいの勢いです。IDEすべてをというわけにはいきませんが、AB5程度の言語セットであれば、IDE用プラグインをCOMコンポーネントで実装させることができそうです。

さてさて、明日は地元の花火大会(今年初!)。なんとか、雨は大丈夫なよう。降るなよ〜(><)

欲張ってます

abdev 1 Comment »

AB5のリリース時期を大幅に遅らせているワケですが、なかなか見切りがつきません。

AB5として、実装させたい機能が次から次へと出てきていて、混乱ぎみなのです。まぁ、これはこれで深刻には捉えていませんが、整理する必要があります。

公式情報とはいきませんが、現時点の開発状況を考慮すると、下記のような機能を実装する予定です(テスト済みの機能もいくつかあります)。

  • オペレータのオーバーロードに対応
  • cdecl規約の関数定義及び呼び出しに対応
  • インターフェイスの定義に対応
  • 仮想関数、純仮想関数および抽象クラスの定義に対応
  • String型をクラスモジュールで提供
  • Variant型の搭載
  • dynamic_castに対応
  • COMコンポーネントの生成に対応
  • COM DLLのimportに対応(タイプライブラリをもとにしたインターフェイス定義の自動生成)
  • CObject(正統派オブジェクトの基底クラス)の提供
  • ODBCをラッピングしたDB操作用クラスモジュール(できれば、ADOの仕様を勉強したい…)

標準ライブラリ内ではAPIの公開のみではなく、何かと便利なクラスモジュールを提供していきたいところです。とにかく、開発者ユーザーの皆さんと討論を行いながらライブラリの仕様を取り決めていかねばなりません。もうすぐ、β3出せそうなんで、少々お待ちくださいm(__)m>開発者グループの皆様

そんなこんなで、今夜は32コンパイラでオペレータのオーバーロードをテストしているところです(しっかし、終わりそうにないな〜)。64コンパイラへの実装、明日できるかな…

ひょんなところからGoogle

abdev ひょんなところからGoogle はコメントを受け付けていません

散らかっていた部屋を整理していたら、前に都内のイベントで貰ったGoogleストラップが出てきました。

なんか、形もいいし、気に入ったのでストラップにチャレンジしようと思います(続いたためしが無い…)。

うーん、整理整頓を進めれば進めるほど、忘れていたものが出てきそうだ…。ヤフオク展示会でも開くかf(^^;;;

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン