携帯電話 (J2ME) で入力するのが非常に簡単な小さな言語を作成することを考えています。携帯電話内で実行するために実装するより適切な言語は何ですか (常に j2me)? 適切な意味、小さくて簡単な構文、携帯電話での入力が簡単。
それはリスプですか?ある種の Basic/Python/Ruby (そうではないと思います...)? または別の新しい (新しい構文を提案できますか?)?
携帯電話 (J2ME) で入力するのが非常に簡単な小さな言語を作成することを考えています。携帯電話内で実行するために実装するより適切な言語は何ですか (常に j2me)? 適切な意味、小さくて簡単な構文、携帯電話での入力が簡単。
それはリスプですか?ある種の Basic/Python/Ruby (そうではないと思います...)? または別の新しい (新しい構文を提案できますか?)?
私はまさにそのような言語の作成者です: http://www.hecl.orgの Heclです。アプリケーションをより簡単にするために、Web インターフェースを介して簡単なアプリケーションを作成できるサイトも作成しました: http://www.heclbuilder.com。また、言語の実装について説明する記事を書きました。
http://www.welton.it/articles/hecl_implementation
注目に値する他の言語には、Lua と Javascript があり、どちらもモバイル実装を持っています。
エディターのサポート(ネスト構造、インデントされた表示、バランシングなど)を含めると、何らかの形式のLISPの実装と使用は比較的簡単になります。ライブインタラクティブパフォーマンスプログラミング用のLISPベースの言語のスクリーンショットを見たことがあります(ただし、現在は見つかりません)。構造のネストを示すために、(括弧の代わりに)画面上のインデントされた影付きの長方形の領域を使用しました。
言語ではなく、エディターのデザインが最大の考慮事項になると思います。たとえば、ある種の「インテリセンス」のようなオートコンプリートをサポートすることは、サムストロークを節約するために不可欠です。エディターのある種の言語感度も大いに役立ちます。たとえば、C ユーザーが「for」と入力すると、オートコンプリートはループの構文を埋めるためのオプションを表示する必要があります。
for (;;) {
}
Hecl を調べるとよいかもしれません: http://www.hecl.org/
Forthは通常、これらの種類の要件の正当な候補と見なされます。そして、それは想像できるほど簡潔です。拡張可能で、小さく、順応性があります。内蔵の小画面エディタもあります。
携帯電話で何が簡単に入力できるかはわかりませんが、1 文字あたりの計算能力が最も高い言語はAPLです。構文または設計のアイデアのソースとして、その最新の後継であるJ プログラミング言語を好むかもしれません。
超コンパクトが必要な場合は、nano-False http://www.aldweb.com/pages/winikoff/#falseを試してください
故意に痛みを伴う Brainfuck や Whitepace よりはましですが、あまり使い物にはなりません。簡単な構文をより簡潔にした Forth と考えてください ;-)
スタックで考えることができれば、 Quartus Forthはかなり使いやすく、API の Intellisense サポートがあれば、はるかに生産的であることがわかりました。Palm で小さなアルゴリズムのプロトタイピングを行う場合、私はPluaまたはLispmeを好みました。LispMe環境は、キーワードを見つけるためのリストをうまく利用し、GUIプログラミングを容易にしたので、とにかく勉強する価値があります
あなたがしなければならない大きな決断は、ユーザーが電話の数字キーパッドだけを使用することを期待するか、それとも完全なキーボードに合理的な近似値を入力できることを期待するかです. Palm の大きな利点の 1 つは、高品質のフルサイズの折りたたみ式キーボードでした。悲しいことに、これが恋しいです (そして、誰かが接続用の iPhone アクセサリを作ってくれることを願っています)。フル キーボードを持っていない場合は、動詞のセレクターを使用して、単語を入力するのではなくピッキングアクションを使用できるようにします。ユーザー コードと比較して、フレームワークのクラスとメソッドの従来のコードで入力されたコードの量を検討してください。
私が言語について夢を見ようとするとき、私は夢を見ているときにどの機能が私にとって重要であるかを考えます。どの機能が自分にとって重要であるかを理解して初めて、どの構文に対する最良の答えを思い付くことができます。たとえば、名前付きパラメーターが必要な場合は、メソッド呼び出しの外観(Objective-CまたはPython)に関する設計の選択に大きく影響します。
言語の設計は本当に楽しい作業です。一歩下がって、「これがXで行われる方法が本当に好きですか?」と自問することをお勧めします。(いくつかの言語名に置き換えます)。それがあなたがいつも愛しているものなら、それを盗んでください。そうでない場合は、他の場所を見てください。好きなものの究極のマッシュアップを作成し、嫌いなものは除外してください!
Brainfuckの文字数はわずか8文字で、携帯電話での入力は非常に簡単です。
もちろん、それを理解して何かをすることは...それほど簡単ではありません。しかし、それは要件を満たしています...。
joel.neely の回答は、その問題を回避する 1 つの方法を示していますが、Lisp はすべての () のために入力するのが難しいでしょう。
したがって、既存の言語を使用したい場合は、どの言語が最も珍しい文字を使用していないかを確認する必要があります。
次に、画面サイズの問題があります。言語が冗長になればなるほど、一度に画面に収まるコードが少なくなります。どのようなデバイスを目指していますか?大画面のスマートフォン (限られた視聴者) または 240x240 ピクセルのフィーチャー フォン?
使用する言語のインタープリター/VM は少量のメモリに収まる必要があり、パフォーマンスがあまり良くない可能性があることに注意してください。
基本はとても簡単です。
私はLispに近づかないだろう。あなたがあなたのモバイルユーザーに彼らが電波から持っている頭痛に加えて頭痛を与えたいのでなければ。