khabaネタ
(6)
- (2010.06.22a)
- ○○という言語は、××という処理をこんなに短く書けます、みたいな話がある。しかし、それはkhabaでは問題にならない。だって適当なラッパーさえあれば、容易に他の文法体系になるのだから。ということは、デフォルト文法がどんなに書きにくくて使いづらい文法であっても良いということだ。
- しかし機能不足は許されない。狙ったコードがどうやっても生成できないようなものは許されない。
- 最適化とかもいらない。そういうことは上位がやればいいのだ。
- そもそも最初からきちんとしたものを作る必要が無いというか、その気がないんだから、最適化なんて考えるほうがどうかしている。
- サイズもどうでもいい。後から改良すればいいのだ。
- 大事なのはコード変換ができて動作する仕組みそのもの。
- (2010.06.22b)
- メモリを作るのは難しいが、定数の整数配列を作るのは難しくはない?
- ポインタがあって、そのポインタでリード&ライト保証するのは難しい。しかしここをどうにかしないと先に進めない。
- (2010.06.24a)
- 作りたいもののイメージをまとめる。
- バイトコードなのでCPUやOSに依存しない。
- データには必ずフォーマット情報がつくので、意味不明なバイナリが存在しない。
- コンパイラベースなので動作が速い。
- 2000年問題とか、ファイルサイズのビット数の問題とかが基本的に生じない。エンディアンに悩むこともない。
- 一つのソース内にさまざまな言語を混ぜられる。それどころか、一つの関数の中にいろんな言語による記述を許す。
- コンパイルされるのはプログラムだけではない、データのコンバートも「コンパイル」の一種と見なす。そして変換されたものはキャッシュされる。
- それで何が得られるのか?
- 新しいプログラミング言語が作りやすくなるから、言語が進歩する。
- (2010.06.24b)
- 1ブロックのコードサイズが大きすぎた!どうする?
- 粒度をあげればいい。究極的にはインタプリタ動作のコンパイル、みたいな。規模は更に膨らむが、それでいいじゃないか。
- 構造体サイズやデータサイズについても同じ。
- そういうものに最初から配慮するのは非常に難しいから。当面は、何も考えないPCモデル向けでいいのでは?いろいろできるようになってから悩めばいい、悩んで何もできないでいるよりは。