実際のプログラミングの質問よりも社会的な好奇心...
1000年前に最初のプログラミングクラス(Fortran 66)を受講したとき、そしてわずか500年前に最初のCクラスとC ++クラスを受講したとき、言語間でかなり標準的な句読点がありました。Basic(shudder)、PL / 1、PL / AS、RexxでもPascalで見ました。わかりました、APL2はこの議論の一部ではありません。
各言語には、独自の句読点があります。Pascalのピリオド、Fortranのコンマ区切りのdoループ、他のほとんどすべてのセミコロン。
私が学んだように、各言語には、空白(または左マージン)<space> if <space>などで区切られたキーワード(if、for、do、while、untilなど)もあります。
各言語には、呼び出されたものすべての関数、サブルーチンがあります。一部の組み込みの一部のユーザーがコーディングしました。それらは<whitespace|left margin> function_name(parameters);によって相殺されました。sqrt(x)またはrand(y);のように
最近、句読点規則の新しいセットがあるようです。特に、初期化子が変数宣言の最後に接着されるC++ではintx(0); またはauto_ptr<p>p(new gizmo); これは常に、誰かが関数prototoyeを宣言している、または関数を整数として使用していると思い込ませます(え?)。
次に、「if」と「for」は親子関係を拡大したようです。if(true)for(;;)など。キーワードはいつから関数になりましたか。
そして最後に、機能は彼らの親子を流したようです。sqrt(2)select(...)
質問:古い方法が消えて、この新しい方法が流行したのはいつですか?私以外の誰かが読むのが面倒で、句読点の配置が伝えるために使用した情報がなくなっていると感じますか?K&Rが「if」または「for」の最後に{を付けて、あちこちでバイトを保存することをよく知っています。ここではその言い訳を使用することはできません。HDDスペースが100MiBを超えて急増したため、読みやすさを失う理由としてのスペースがなくなりました。
あなたの考えが求められます。これを行う正当な理由がある場合、私は喜んでそれを学び、おそらくあと50年でそれに慣れるでしょう。もちろん、コンパイラーがこれらの(IMHO)タイプミスを認識し、そのまま続行するのは良いことですが、そのようにコーディングできるからといって、そうしなければならないという意味ではありませんよね?
ありがとう!