開発方針

以前考えたときから時間も経ち考えも変わったりしたので、改めて開発方針をメモしておく。

以前、なでしこを移植しようと思ったときは、「Macでも日本語でプログラミングがしたいな。それなら『なでしこ』を移植すればいいか。」という軽い気持ちの思い付きだった。
しかし『ハッカーと画家』を読んで感化されたり、自分の好みのプログラミングスタイルを考えたら、「そのまま移植するのもなんだかなぁ。」と思ってきた。(これも思い付きか??)
なので、「日本語プログラミング」という軸だけ残して、後は自由に作ってみることにする。
(よって、今後カテゴリーは「日本語プログラミング for Mac OS X」に変更します。

で、とりあえずの言語仕様の方針。

  • 余計な部分は極力省けるようにする。

変数の型指定とかはオプション扱いにする。ロジックのみをガシガシ書きたい。

  • (構造化プログラミングスタイルで書くときは、)構造が見えやすいように書く。

if と else と end-if の結び付きが分かりやすいようにしたい。

  • BNFはきちんと書いておく。

自分のため。また、後々引き継いでくれる人がいるかも(願望)。

  • 言語仕様の変更が柔軟なこと。日本語以外の言語でもすぐに使えること。

英語圏を中心に作られたプログラミング言語への反発もこの開発のモチベーションだが、日本語だけ特別な扱いにしたら同じ穴のむじなになってしまう。

細かい実装方法の方針。

  • 日本語「りすぷ」を作って、それを使ってこの言語を実装してもいいかも(思い付き & Paul Grahamさんの影響)。

car, cdr, cons, quote, atom, eq, cond を実装すれば、後はこれらを使って defun で行けるらしい(受け売り)。
日本語は逆ポーランドなので、逆ポーランド版のりすぷになる。

勉強すべきこと。

  • 日本語の扱い方。

Unicode ってどう扱えばいいの?そもそもエンコーディングって何?プログラミング言語ではどう扱えばいいの?