Essenの歴史
(1)
- Essen(えっせん)は、OSASK計画のサブプロジェクトで、新しい言語を作ることによって、プログラミングをより容易にしようという試みです。
(2) 歴史(概要)
- [2020.04.23] ES-BASIC ver.0.2a : ES-BASICのかなりまともなバージョン → esbasic02a
(3) 歴史(詳細)
- これは時系列を追いかけたいときのためのものであって、基本的に読む必要のないものです。上記の概要だけで、たいていは事足ります。
- [2019.07.16] ES-BASIC ver.0.0a : SecHack365で作っていたバージョン → esbasic0001
- [2020.04.23] ES-BASIC ver.0.2a : ES-BASICのかなりまともなバージョン → esbasic02a
(4) 説明
- あるとき私はプログラミング言語を作ろうと思いました。しかし、どんな言語にしたらいいのか事前に決められません。それで、「言語を簡単に作るための言語」を作ろうと考えました。これができれば、仕様が決まった後で短期間で作れるはずです。これがKH-FDPLです。
- KH-FDPLはあまりうまくいかなくて、それで作り直すことにしました。今度は、関数や構造体を宣言するように、新しい構文や新しい演算子を自由に宣言できるような言語を作ろうと考えました。それがEssen Rev1です。
- しかし、途中でJITコンパイラの実行速度に魅せられてしまい(笑)、言語はJITコンパイラ方式で作らねばならないと信じるようになり、次はJITコンパイラな言語を作り始めます。これがEssen Rev2です。
- その後、作っているうちに「うーん、作りたいのはこれじゃない・・・」というのを繰り返して、度重なる作り直しに嫌気がさして、言語開発を休止する決意をします。
- そして、今まで作ってきて事前にどういう関数があれば作りやすくなりそうかが分かってきたので、それを一度整理してみることにしました。
- そんな自作のライブラリがある程度できたところで、「試しにこれで言語を一つ作ってみるか」と気楽に作り始めたのがES-BASIC ver.0.0aです。もちろんJITコンパイラです。
- これは3日間で、「とても3日で作ったとは思えない」ほどの出来栄えになり、私は気をよくしてさらに改良を続けます。
- 結局、言語を作りやすくするために言語を作るのではなく、ライブラリを作ればよかったのです。やっとそれに気づけたわけです。
- ES-BASICはその後も成長を続けて、ES-BASIC ver.0.2aで一区切りつけることができました。この先はBASICではなく、C言語として作りたいと思っています。