JRuby の背後にいる大物の 1 人であるOla BiniIoke
は、次のような新しいプログラミング言語を開発しています。Io
、Lisp
、Smalltalk
およびの影響を受けRuby
ます。この新しい動的プログラミング言語についての考えを共有してください
注意。シルドマイヤーからの質問
Ioke は、DSL を作成するために使用する非常に興味深い言語です。拡張可能な単純な構文 (制御フローでさえすべてがメッセージである) が興味深いと思います。Ioke でのマクロのサポートは優れています (メッセージの一部が評価 [または「アクティブ化」] される前に取得します)。
Ioke は明らかにまだ非常に若いプロジェクトですが、非常に有望です。
さらに考えてみると、単純な構文に関しては少し矛盾しています。たとえば、特別な構文を使用する場合のより表現力豊かな制御ブロックなど、純粋なメッセージではなく、もう少し構文的な砂糖を望んでいるためです。他のメッセージと同じブラケット構文で実装する必要があります。
これは好みの問題だと思います。言語定義を単純で「純粋」に保ちますか、それともより多くの構文で「汚染」し、もう少し表現力豊かにしますか?
興味深いようですが、現在は概念実証にすぎません。
今似たようなものが必要な場合は、IO 言語を見てください。
私の知る限り、これはワンマンショーです。書き込みツールやライブラリなど、プログラミング言語を普及させるために必要なすべての作業を 1 人の人間が請け負える可能性は非常に低いと思われます。
したがって、彼が大企業に彼を支援してもらい、彼の言語を使用するか、IOKE 開発者のコミュニティを確立することができない限り、彼の言語がどれほどパフォーマンス/エレガントであっても、失敗する運命にあることを示唆しています。
より表面的なレベルでは、私は IOKE という名前が嫌いです。主な理由は、それがどのように発音されるべきかがまったく明白ではないからです。
私はIokeにとても刺激を受けました。Iokeebnf構文は数十行です。しかし、それは私がForth、C ++、JSで好きだったすべてを私に与えることができます。また、Iokeは、演算子にASCII-127以外の文字を使用する勇気があります。
人間の心は非常に単純なものしか扱えませんが、それらを簡単に高次構造に抽象化し、新しい単純なものと同じように抽象化を扱うことができます。そして、いくつかの抽象化をまとめて、それらを何度も抽象化します。毎回、いくつかの異なる方法を使用して、単純なものを非常に単純なものに一般化します。
Iokeを使用すると、さまざまな抽象化レベルごとにアイデアを表現する新しい方法を作成できます。各レベルで表現するための新しい構文または新しい方法が必要です。ツールを作成するにはツールが必要です。そして、あなたは迷子になったり、抽象化したり、詳細に迷ったりしたくありません。
Iokeの作者は、モニターの後ろだけでなく、モニターの前にも何かがあることを確認する勇気がない他の言語の作者よりも、人間の心の特性をよく理解しています。しかし、言語のユーザーは自分の心の仕組みも知らないので、彼らは責任を負いません。ですから、Iokeは本当に他の言語の平坦性を攻撃する勇敢な試みであり、したがって、私たちが考えることを学んだ方法の平坦性を攻撃することです。