Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 218

Warning: preg_match(): Compilation failed: nothing to repeat at offset 1 in /srv/www/dev.activebasic.com/dai/wp-includes/class-wp.php on line 219
AB開発日記

linking now…

abdev 3 Comments »

最近忙しくて開発者フォーラムに顔を出すことができていません。開発者の皆さん、すみません。

しかし、決して開発がストップしているわけではありません。言語仕様の拡張はもちろんですが、コンパイラエンジンのベース部分の改良が進行中です。

開発者の方々はAB5のライブラリを作っていて下記のような感想をお持ちでしょう。

「標準ライブラリが充実するにつれて、コンパイル速度やEXEファイルのサイズが大きくなっているよな…」

そう。単純な話、ソフトウェアが扱うリソースが大きくなればシビアな環境が要求されます。

ということで、最近は言語仕様の拡張に費やす時間を少々削いで、もっぱらリンカの開発に取り掛かっています。

AB5のコンパイラは充実したリンカを保有する形式を考案しています。このリンカ、どのあたりが充実しているかってのがポイントになるわけですが、、、

・メタ情報をフルに持ち合わせる
・コンパイル済みのネイティブコードを保有している
・32/64ビット共に同じ内部仕様を持ち合わせる
・オブジェクトファイルをXML形式、CVS形式、バイナリ形式など任意の方式で生成できる

一番重要なのは一番目のメタ情報を持ち合わせる点でしょう。コンパイル済みのオブジェトファイルをインポートすれば、そこ含まれるクラスが完全にオープンな状態で利用することができます。

あともう少しでこれらの環境を公開できそうなところです。本当に申し訳ないのですが、開発者の皆さん、今しばらくお待ちください。

どちらにせよ、今後の開発に備えた大規模なリファクタリングが必要だったので、ここら辺の力仕事はササッとこなしたいとこです。

帰ってきました

abdev 3 Comments »

5月の月末は仕事でロサンゼルスとサンフランシスコにいました。で、今帰ってきたところ。本当は日本時間の5/31の夜には付く予定だったのですが、あちらの国内線が遅れてしまって、帰るのが一日送れたというワケです(これを “Miss connection” と言うらしいっす(汗))。

実は6/1にAB5CP4をリリースする予定だったのですが、たぶん一日ずれて6/2になると思います。お待ちいただいている開発者の皆さん、すみません。なんとか明日にはリリースできるよう、最終調整を進めようと思います。

Tシャツの日

その他 Tシャツの日 はコメントを受け付けていません。

仕事三昧の中、久々の日曜らしい日を過ごしましたよー!

土曜日はほぼ一日寝てしまいましたが、日曜日はなんと朝五時にバッチリ起きました(目覚ましレスですw(゜o゜)。

午前中は色々と溜まっていたタスクをこなしてTracを更新。午後は外へ出掛けました。

今日は休み。天気は良し!そして夏っぽい気温!

本日はTシャツの日なのです。と、勝手に心の中で決めて渋谷へゴー。あまりこっち(東京)のセレクトショップとかは詳しくないので、そういう店が並んでいる通りへ行って片っ端からTシャツを物色。

ここまで意気込んでいて、結局買ったのは3着でしたf(~~。ウーム、パンチが足りなかったな~。ホント、少ない時間で選ぶのって難しいです。

気を取り直して、帰りがけにはPCをパワーアップする下記のアイテムをゲットしてきました。

・メモリ(1GB×2)← おいらのDELLはECCとかいうヤツで、なかなか手に入れるのが大変だったりする…
・ONKYO ワイヤレス ヘッドホンセット
・Microsoftベーシックキーボード ← 2000円弱のクセに、タッチがよろしいのです(^^)。会社で使っていて好感触だったので、家のやつもコレに変更!

こんな感じで有意義な一日を過ごせたので、また明日からがんばれそうです。5月もあと半分だ~早いよ~

Microsoft SDKの調子が悪い

abdev Microsoft SDKの調子が悪い はコメントを受け付けていません。

Visual StudioにMicrosoft SDKをインストールして使っているのですが、現状、下記のような不具合に見舞われます。

【x64用の環境】
・[C++ Compiler] ReleaseモードでマルチスレッドのCランタイムを選択しているのに、libcpmtd.lib(デバッグ版のC++ランタイム)が読み込まれる。
・[C++ Compiler] たぶん、上記の問題の絡みか?_CrtDbgReportWが未解決のシンボルになる。

【x86用の環境】
・[library] comctrl32.libにバグありそうな感じ。一昔前のPlatform SDKでは出なかったツールバー周りの描画が壊れが生じている。

x64用のランタイムライブラリ、間違えてデバッグ版でリリースしているんでしょうか?それとも、おいらの設定違い!?

こういうライブラリ/リンクミス周りのニッチなデバッグ作業は疲れのもとです。イライラのもとなのです(><!ここは時期VSの "Orcas" に期待!いつでるのかな~。

第3回AB開発者ミーティング

abdev 第3回AB開発者ミーティング はコメントを受け付けていません。

参加された皆さん、お疲れ様でした~☆遠方からいらっしゃった方、本当にありがとうございました。

今回はデモ系のものを用意できなかったのが心残りでしたが、直近のバージョンアップに繋がる濃い議論ができたことが私としては一番の収穫でした。

さぁ、色々とやること盛りだくさんな感じです。まずは目標立てたラインにたどり着けるよう、テストケースの徹底や名前空間周りの整備を徹底していきましょう!

一ヵ月後が楽しみです。

プログラミング言語作者のためのワークショップ2

abdev プログラミング言語作者のためのワークショップ2 はコメントを受け付けていません。

参加された方々、お疲れ様でした!
この二日間、まさに充実した休日を過ごせました。

>酒徳ニーサン
念入りな下準備をしていただいて、ありがとうございました。
良い景色のコテージとゴージャス料理には感動でした~(><)

p1030030.JPG

早速、メシネタで申し訳ないのですが、とにかく海鮮料理がヤバかったです。魚がオイシイくて、エビがでかいんです。生牡蠣が生きているんです!腹ごしらえが十分すぎたこの二日間、ざっくりと下記のような流れで進みました。

【一日目】
1. 自己紹介タイム
2. 「Tonyu / Aroe」プレゼン(by 長さん)
3. 「なでしこ」プレゼン(by 酒徳さん)
4. 「ことだま on Squeak」プレゼン(by 岡田さん)
5. 「ドリトル」プレゼン(by 兼宗さん)
6. コテージへ移動して夕食
7. 「Ruby 2.0」プレゼン(by 笹田さん)
8. 「ActiveBasic」プレゼン(おいら)
9. 「Onion」プレゼン(by 水島君)
10. 風呂タイム
11. 宴会(自由討論)

【二日目】
1. 8時起き(早かった…)
2. 朝食を食べて、出発
3. 自由討論
4.(課題)再帰を使わずに二分岐データの表示を行う方法を各言語でコーディングしてみる
5. 開発したソフトウェアを広めるために工夫している点
6. ジェネリックス仕様の内部的な実装例
7. インターフェイス仕様の内部的な実装例
8. Haskell講座

p1030033.JPG

特にきになったのは、各言語がどんな実装になっているのかを感じ取れた点でしょうか。特に、GCの実装の話やジェネリクス実装の内部構造に関する話題を聞けたのは収穫でした。また、今回のワークショップでは日本語プログラミング環境が多く、普段の日本語で自然な表現方法はどのようなものであるのかを皆で真剣に考えたりもしたので、こちらも新鮮でしたね。このような場に参加することができ、新鮮な思いができたので来週からのアクションにつなげていきたいと思います。

メモ:

soyBasicという面白い環境を長さん(←作者本人!!)に教えてもらいました。ドコモケータイで動く復刻BASIC(互換性はかなり高そうです)。

http://soybasic.sourceforge.jp/

それでは参加された皆さん、また近いうちにお会いしましょう!

プログラミング言語作者のためのワークショップ

abdev 35 Comments »

一泊二日、熱海にいます。海鮮料理と温泉がたまりません。

ということで、「プログラミング言語作者のためのワークショップ」に参加中☆

それらしぃ~名前の集会ですが、想像通り、内容は濃いです。

・なでしこ(酒徳さん)
・Ruby 2.0(笹田さん)
・Tonyu / Aroe(長さん)
・Onion(水島君)
・ことだま on Squeak(岡田さん)
・ドリトル(兼宗さん)
・ActiveBasic(おいら)

酒徳さんチョイスのベリグーなコテージ&温泉にありついているので、帰ったら内容をまとめて、写真と一緒にアップしようと思います。さて、昨日から続くこのワークショップ、今日も夕方まで楽しむぞぉ~┌( ・_・)┘

関係ない話題ばっかだし、サボってるし、、、

abdev, その他 2 Comments »

ということで、久々のサブミット!

ニ連休、これまたお気に入りのアーティストが増えました。有名だから皆知ってるだろなぁ~

YUI
http://www.yui-net.com/
さて、時期AB、伸び伸びですね~(こんなんでいいのかっっ)f(^^;;;最近は仕事が忙しいといえばそうなのですが、合間の時間で好きなことはできています。

【オブジェクトはALL参照型になっています】
何かとなると、値型のオブジェクトが邪魔をしていたAB4でしたが、結局こういう決断にたどり着きました。ん?オブジェクトがデフォルトで参照型になると、何がよいかって?そりゃ、まぁ色々と特権が付くのですよ!(←書き始めると止まらなくなりそうなので、今日はハショります。寝たいし。)

【動的型情報がつきます】
アップキャストは勿論、ダウンキャストも可能になります。オブジェクト自身が一体どんな構造をしているのか、実行時に調べることが出来ます。今後、オブジェクトと外部データのシリアライズに威力を発揮してくれることでしょう。

【もう保守的じゃないGC】
GCは不必要なメモリオブジェクトを判別するとき、グローバルルートまたはローカルルートを元に参照データをたどってマーキングしていきます。

ネイティブなコードを吐くコンパイラはなかなか苦手なのだと思いますが、、データそのものがあるだけでは、その中が参照データなのか、ただの数値型なのかは判断がつきません。となると、何でもいいから、怪しいヤツはマークしておくこと!となるのですが、いかんせん遅いんです(実際、直近のAB5βがそれでした)。

そこで、AB5では動的型情報を活用することで、参照のみを辿ることで余分な処理がザックリ切り捨てました。まずはかなり快適になっています。

更に今後は各オブジェクトメモリに年齢を付けて世代別の機構を取り入れていこうと考えているため、パフォーマンスは乞うご期待といったところでしょうか。

【これからの配列は動的なのがデフォルト】
AB4までの配列、C言語から一切成長していない構造で自由度が少なかったことかと思います。可変データを扱うときはポインタを定義して、mallocとかして、、、というように、Basic言語の想定を遥かに超えたコーディングを余儀なくされていたことと思います。

AB5からは、ArrayListが標準になります。現在のβ版ではまぁまぁ動くようになっているので、実用化に向けた取り組みをしていきたいところです。

と、AB本体に関する最近の流れをサラッと取り上げてみましたが、なんといってもライブラリの充実化が今までにない勢いで進んでいるところでしょうか。明らかに、以前と比べるとレベルの高い開発者の方に各タスクをお願いできています。とても頼もしい限りです。

そろそろ色々とアクションを起こしていきたいところ。時間が出来次第、ブログ再開したいなー

久々の壁紙変更

その他 久々の壁紙変更 はコメントを受け付けていません。

Fedora Core 7の壁紙を適用してみました。

うーん、新鮮。

http://www.linux.com/article.pl?sid=07/02/22/1631225

久々なヒット

その他 久々なヒット はコメントを受け付けていません。

友達のmixi日記を見ていて発見したアーティスト。ここ数年、J-POPという分類でイイ!と思ったことはなかったのですが、こいつは違います。

もっと曲出してくれないかな~

磯貝サイモン 「君はゆける」

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