ブログを引っ越します。
http://dev.activebasic.com/dai/
AB開発日記は上記のサイトに引っ越します。ブックマークされている方、アンテナやRSSでチェックされている方はURLの変更をお願い致します。
開発者用Wiki立ち上げ中…
新たに下記URLにて開発者向けのコンテンツを展開していこうと思います。まずはライブラリの仕様決定を行う場としてWikiを立ち上げます。
自前サーバーで元気に稼動中。開発者用Wiki
http://dev.activebasic.com/dev_wiki/
今日はリファレンスを書いていただく上での決まりごと(ようはテンプレート フォーマット)を作っています。本格的な運用はそれが出来次第ということになりますので、開発に参加いただいている皆さん、よろしくお願い致します(気が向いたらサンドボックスでも編集してみてください)。
sourceforge.jp上のヘルプセンター リポジトリをいじるよりも数倍はラクですよ!
GC実装 × 最終段階
ぎこちなくではありますが、GCとして動作するライブラリがほぼ出来上がりました。あとは、セーフティで安全にABユーザーの皆様にメモリ管理を行ってもらえるよう、下記のような点に重点を合わせて作業を進めていこうと思います。
1番目、まずはGCを使わない今までのソースコードが完全にコンパイル・実行できるようにします。GCを利用するしないはプログラマー次第ということになります。
2番目は1番目と言っていることが近いのですが、ようは今までmalloc/freeを使ったスタイルは問題なく動作するのは勿論のこと、mallocで確保されたメモリ空間もGC発動時の検査対象にすることでメモリの不正回収を回避することを意味します(mallocで確保されたメモリ上にGC_mallocで確保したメモリが参照されているにも関わらず、回収されてしまう問題が無くなります)。
過去のソースコードとの互換性を保ちながら、新しいコーディング手法としてGCを取り入れることが可能になります。
3番目は速度の問題です。基本ライブラリに組み込まれる利用頻度が高いモジュールでは、必ずしも内部処理をGCに頼る必要性はありません。例えば、Stringクラスのメモリ管理をGCでしてしまうと、利用する文字列バッファすべてがGC発動時の検査対象としてオーバーヘッドを生じさせてしまうなどの速度的な弊害が生じます。
GCと切り離して考えることができる基本ライブラリにおいては、GCとは無関係なメモリ空間を別途に用意し、速度低下を阻止します。
これが済んだら、正式にGCのリファレンスでも書いてみようと思います。3番目の別口メモリ空間に対するmalloc/freeに関しては、メモリ操作ライブラリの拡張が必要なので、ライブラリ開発フォーラムで仕様を提案したいと思います。
ご迷惑をおかけします
9月20日をもちまして、Discoversoftは法人としての活動をストップすることになりました。(有)Discoversoftとして業務を行った半年間、色々な方にお世話になり、私にとって今までの人生の中でとても良い経験ができました。
一人の技術者として、まだまだ私は力不足です。個人の考えの範疇で経験を積むのではなく、尊敬できる上司・先輩方の中に自らの身を置き自分を伸ばしていくこと、社会の一員としての責務を果たしていくことが今の私にとっての一番の目標です。
この半年は、働くことの意義や尊さを身をもって考えさせられた期間でもあります。それと同時に、快く相談にのってくださる関係者の方々、的確なアドバイスを与えてくださる諸先輩方が私の周りにはたくさんいること、本当に自分は恵まれた場に置かれているのだということに再度気付かされた次第でございます。
さしあたり、Discoversoftの法人活動はストップさせていただきますが、ActiveBasicの開発及びサポート、activebasic.comのWebサイト運営に関しましては、今までどおり、またはそれ以上の気持ちで取り組ませていただきます。
応援してくださる皆様、本当に感謝いたしております。
今後とも、暖かい目で見守っていただければ幸いです。