* Essenの歴史 -(by [[K]], 2020.06.11) ** (1) -Essen(えっせん)は、OSASK計画のサブプロジェクトで、新しい言語を作ることによって、プログラミングをより容易にしようという試みです。 ** (2) 歴史(概要) -[2020.04.23] ''ES-BASIC ver.0.2a'' : ES-BASICのかなりまともなバージョン → [[esbasic02a]] ** (3) 歴史(詳細) -これは時系列を追いかけたいときのためのものであって、基本的に読む必要のないものです。上記の概要だけで、たいていは事足ります。 -[2015.03.17] ''KH-FDPL'' → http://khfdpl.osask.jp/wiki/ -[2016.02.17] ''KHPC (persistent-C)'' → http://khfdpl.osask.jp/wiki/?persistent_C -[2016.10.24] ''Essen (Essen Rev1)'' : セキュリティキャンプ2017で作っていたバージョン1 → http://khfdpl.osask.jp/wiki/?Essen -[2017.07.31] ''Essen Rev2'' : セキュリティキャンプ2017で作っていたバージョン2 JITコンパイル方式 → http://khfdpl.osask.jp/wiki/?EssenR2 -[201?.??.??] ''Essen Rev3'' : その後迷走したバージョン -[2018.03.05] ''Essen Rev4'' : SecHack365 / セキュリティキャンプ2018で作っていたバージョン → [[EssenRev4]] -[2018.02.09] ''Essen2019-A'' : OSC2019東京・春で発表したもの(展示) → http://k.osask.jp/wiki/?p20190209b -[2019.07.16] ''ES-BASIC ver.0.0a'' : SecHack365で作っていたバージョン → [[esbasic0001]] -[2020.04.23] ''ES-BASIC ver.0.2a'' : ES-BASICのかなりまともなバージョン → [[esbasic02a]] ** (4) 説明 //-OSASK計画では、理想の環境を実現するためにOSから作り直そうと考えていました(第一世代OSASK)。 //-それが揺らいで、既存OSの上に理想の環境を構築すればいいのではないか、そのほうが労力は少なくて済むのではないか、みたいになり、世代を重ねてきました。 -あるとき私はプログラミング言語を作ろうと思いました。しかし、どんな言語にしたらいいのか事前に決められません。それで、「言語を簡単に作るための言語」を作ろうと考えました。これができれば、仕様が決まった後で短期間で作れるはずです。これが''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言語として作りたいと思っています。