帰ってきました

abdev 3 Comments »

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

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

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

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

週末は地元で

abdev 週末は地元で はコメントを受け付けていません

確定申告の書類をそろえて地元へ戻ってまいりました。めんどくさがりのおいらですが、よくぞ書類をそろえられました(社会人として当たり前か…)。

さて、折角帰ってきたので、この土日は開発から離れてサーバーメンテでも行おうと思います。って結局ソフトから離れてもハードいじるのね…。地元ならでは、お決まりの大浴場にはキチんといってくるぞ~!

今夜は

abdev 今夜は はコメントを受け付けていません

会社に泊まりです。目標にしていた来週頭のベータ版(オブジェクトALL参照型)ですがもう少し時間がかかりそうです。

フゥ~

abdev フゥ~ はコメントを受け付けていません

オブジェクトのALL参照型ですが、なんとか一通りのソースコード “置換” は終了しました。

これから細かい修正に入ります。

因みに、64bit → 32bit という流れで作業を進めていますので、64bit版のほうが早く完成しそうです(こちら、既存のコードがかなり動き始めています)。

この土日にガッツリと作業をしたいところでしたが、、、仕事が入ってしまったのでそちらもがんばります。

AB × LinuxでWebアプリ開発は可能なのか!?

abdev AB × LinuxでWebアプリ開発は可能なのか!? はコメントを受け付けていません

休日を過ごしています。はい。

地元にいて特にやることもない、ということで、いつもはABと関連性の薄いLinuxとWebサービスの方面に触れてみたいと思います。

以前、このブログでwine(※)についてキャプチャとかしていたのですが、今日はコマンドラインベースで色々と動かせるかどうかを検証してみました。結果をまとめてみます。

※wine … Linux上でWin32APIを再現してくれるソフト

まずはウチの開発用Linuxサーバ(dev.activebasic.com)にwineをインストールしてみます。ちなみに、wineはX Windowが入っていなくても動きます。コマンドベースだけでもいけるとは、頼もしいヤツです。

# yum -y install wine
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
core                                                                 [1/3]
core                      100% |=========================| 1.1 kB    00:00
updates                                                              [2/3]
updates                   100% |=========================| 1.2 kB    00:00
extras                                                               [3/3]
extras                    100% |=========================| 1.1 kB    00:00
Reading repository metadata in from local files
primary.xml.gz            100% |=========================| 391 kB    00:01
updates   : ################################################## 1070/1070
Added 66 new packages, deleted 61 old in 4.99 seconds
primary.xml.gz            100% |=========================| 1.9 MB    00:25
extras    : ################################################## 6348/6348
Added 337 new packages, deleted 197 old in 25.08 seconds
Parsing package install arguments
Resolving Dependencies
--> Populating transaction set with selected packages. Please wait.
---> Downloading header for wine to pack into transaction set.
wine-0.9.30-1.fc5.i386.rp 100% |=========================|  16 kB    00:00

...省略

Complete!
You have new mail in /var/spool/mail/root

これでwineインストールは完了。

ABで下記のようなプログラムを書いてみます。

#console

Sub Output( text As String )
Print text + Ex"n";
End Sub

Output( Ex"Content-type:text/htmln" )
Output( "<html>" )
Output( "<head>" )
Output( "<meta http-equiv='content-type' content='text/html; charset=shift_jis'>" )
Output( "</head>" )
Output( "<body>" )
Output( "<h1>Hello World!</h1>" )
Output( "</body>" )
Output( "</html>" )

早速コンパイル。残念ながら、コンパイルはX Window環境がないとできないので、手元のWindowsで行います。できあがったhello.exeをサーバにアップロード。で、hello.cgiにリネーム(あらかじめ、.cgiがCGIとして動作するようにApacheの設定をしておきます)。

これは妄想ですが、ABコンパイラを完全なコマンドラインベースのツールに書き直した暁には、”# abc hello.ab” などというコマンドでLinux + wineの環境でコンパイルができるようになるかもしれません。

ためしに、シェルから動かせるかをテストしてみます。

# ./hello.cgi
Content-type:text/html

<html>
<head>
<meta http-equiv='content-type' content='text/html; charset=sjis'>
</head>
<body>
<h1>Hello World!</h1>
</body>
</html>

イッパツで動きました。問題Nothingです。では、これをWeb上からアクセスしてみましょう。期待する出力は得られるのでしょうか…。

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

ここでエラーです。なにやら、サーバー側の問題らしいです。管理者へ連絡しろとのことです。ちなみに、管理者は私です。早速エラーログを拝見してみます。すると、下記のようなエラーが!

[Sat Feb 17 23:37:52 2007] [error] [client 192.168.24.230] wine:
[Sat Feb 17 23:37:52 2007] [error] [client 192.168.24.230] can't get temp file name for /var/www/.wine
[Sat Feb 17 23:37:52 2007] [error] [client 192.168.24.230]  : Permission denied
[Sat Feb 17 23:37:52 2007] [error] [client 192.168.24.230] Premature end of script headers: hello.cgi

ようは、.wineディレクトリがないよって話らしいです。ちなみに、.wineディレクトリはWindowsの構成そのものを管理するための非常に重要なデータを格納しています。たぶん、どこかのiniで場所を指定できると思うのですが、他の場所にあった.wineディレクトリを一旦 “/var/www” に丸ごとコピーします。これで動くでしょう…。たぶん…。

リロード。

hello.PNG

できました~!成功!

というわけで、Linux上で動作するWebサービスの作成、ABでできそうです。肝になってくるのは、セキュリティ性やDBとの接続の手軽さ辺りでしょうか…。

Linux+wine上用のWebアプリを作ることを想定したIDEという発想、色々とできそうなことがありそうですね。

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