Loading article…
式指向プログラミング言語とは、すべての(またはほぼすべての)構文が式であり、したがって値を返すプログラミング言語です。 [ 1 ]典型的な例外は、マクロ定義、プリプロセッサコマンド、宣言であり、これらは式指向言語ではステートメントとして扱われることがよくあります。
Lisp [ 2 ]とALGOL 68は式指向言語です。Pascalは式指向言語ではありません。
すべての関数型プログラミング言語は、式指向である。
言語設計者を含む批評家[ 3 ]は、プログラマーが誤って代入式をコーディングしてしまい、変数を式で置き換えるのではなく、その式との等価性をテストしないというプログラミング上のミスのクラス全体を、式指向のせいにしている。
AdaやJavaなどの一部の言語では、制御式をブールデータ型に厳密に評価されるものに制限することで、この種のミスを防いでいます。[ 4 ] [ 5 ]
Pythonなどの一部の言語では、代入を式ではなく文として実装しているため、他の文や式の中に代入をネストすることはできません。[ 6 ] (バージョン3.8で異なる構文の「代入式」が追加されるまでは。[ 7 ])
式指向言語の中には、単に副作用を引き起こすだけの式は、 void 型を返すものがあります。