プログラミング言語にはどのような機能が望ましいですか?

compilation compiler-construction language-design language-features programming-languages
プログラミング言語にはどのような機能が望ましいですか?

最近、私の大学は学部生のために大規模なプロジェクトを設定しました。 これらのプロジェクトの1つは、他の言語の最も望ましい部分をすべて備えた新しいプログラミング言語を作成することです。 今では、効率的に(または密接に)実装するために多くのことを実行できないことを知っています。たとえば、言語を自然言語に非常に近づけます。

高階関数や2つの変数の値を交換する演算子など、便利な機能がいくつかあります。 しかし、私は非常に多くのことを考えるのに苦労しているので、いくつかの提案は非常に高く評価されるでしょう-最高のものが答えとしてマークされます。 私はここでアイデアを探しているだけで、それらを実装する方法は探していません。

  1  1


ベストアンサー

私が好きな機能:

  • 連想配列なので、 `price [” apple “]:= 0.99`のようなことができます。

  • for-eachループなので、存在しないインデックスの作成を心配する必要はありません。
    コレクションの要素

  • `=`の代わりに、代入用の `:=`演算子;)

  • 数値以外を許可するswitch-caseステートメント
    値:例: case" apple ":price:= 0.99

  • 有効なデータ型としての数値/日付の範囲。

  • 名前付きパラメーターとデフォルト値を持つ関数

  • 正規表現操作のネイティブサポート(Perlなど)

5


複数の継承があればいいのですが…​現在の言語では利用できません。

0


最も強力なもの:

  • 動的タイプ

  • 何も隠さない言語

  • 一流市民として機能します。 (機能を使用できるようにします
    プログラミング)

  • ランタイムイントロスペクション

  • 言語は、デフォルトの機能とオブジェクトをオーバードライブできます。

  • メタプログラミング

  • 動的コード生成

  • この言語で言語を拡張する(Lispのみがこれを持っています)

0


現在、私はJavaScript evalのような言語機能に憧れており、評価された命令シーケンスを実行する追加の機能を備えています。

execute_THIS( a += b; c = myfunc(a); if c < 0 exit(); );

つまり、言語ランタイムは、言語で記述されたステートメントを解釈して実行できます。

  • p

0


タイトルとURLをコピーしました