2

そのため、私のプログラミング経験を通じて、静的型付け言語の 2 種類の型注釈に出くわしました。私はそれらを「前」と「後」と呼んでいます。C スタイル言語はフォーマットを使用します

int i = 5

ほとんどの非 c ファミリー言語はフォーマットを使用しますが、

var c:int = 5

前者のカテゴリの例は、C、C++、Java です。後者のカテゴリの例は、Scala、Haxe、Go です。

これは表面的なものに思えるかもしれませんが、私の質問は、各スタイルの利点は何ですか? なぜ一方を他方に使用するのですか?そもそもなぜCはそのスタイルを採用したのですか?

4

1 に答える 1

1

マシンは気にしません - 特定の言語を設計した人々が、ある種の構文が他の構文よりも優れている、または読みやすいと感じただけです。現代のコンパイラには通常、いくつかの処理段階があり、この構文の違いのほとんどは通常、テキストを解析してコンパイラの内部構造 (AST - 抽象構文ツリー) に変換する最初の段階の後に失われます。

いくつかの歴史的な優先順位があります。たとえば、「接頭辞」対「中置」対「後置」表記 ( http://en.wikipedia.org/wiki/Polish_notationhttp://en.wikipedia.org/wiki/Infix_notationhttp ://en.wikipedia.org/wiki/Reverse_Polish_notation ) コンピュータ工学の歴史の文脈では、エッジケースで使用されていました。たとえば、「中置」表記は通常、後置/RPN 表記よりも解析が難しく、より多くのメモリを必要とします。リソースが本当に不足している場合 (数 KiB 以下のメモリ) では使用されませんでしたが、ハードウェアが十分に強力であるため、これらの理由のほとんどは現在では使用されていません。

今日、言語を設計するとき、そのような構文の詳細の選択は、他の一般的な言語または既存のプログラマーが存在する言語グループに似た言語を作ろうとすることによって影響を受けます。人が利用します。

tl;dr: 言語を作成した人、および彼がより読みやすいか、または「行うべき正しいこと」に依存します)。

于 2013-10-13T14:13:12.153 に答える