>>653
ついでに言うと、C言語は「生産性を上げる為に仕様を絞る」事もやろうとしてない。

仕様準拠は主に(長期的な)生産性向上の為(=ソースコードの品質を上げる為)として、
生産性を上げる為には仕様内の差異を潰す(仕様を絞る)事をしないといけない。
逆に言うと、仕様準拠だが実装がバラけるような「ユルい」仕様では意味がない。

具体的には、funcD(funcA(),funcB(),funcC())に対し、
C#やJSではABCD順に評価されると仕様で「固定」されているが、CではABC間は順序が規定されてない。
だから、この点、仕様準拠でも、たまたまABCD順の出力もあれば、BCAD順の出力もありえ、
その環境の「実行コード」をテストして動いたとしても、その「ソースコード」が正しいとは言えず、
本来は3P3=6倍の手間を掛け、「全順序ケースの『実行コード』」をテストするしか無いが、
現実的に、これが出来るコンパイラもない。

この辺、当たり前だが後発言語は潰してある。
Cでこの仕様を修正できない理由は、政治であり、(560参照)
コンパイラ作成側が1mmも譲らず、あらゆる自由度を最適化余地の既得権益としてるからだが、
これでは「何のための仕様なのか」であり、完全に本末転倒になっている。
(がまあ、これ含めてCの文化ではあるが)

なのでまあ、C界隈は、仕様準拠して生産性を上げるぞ、なんて目指して無くて、
昔から変わらず、自分環境で自分の希望するコードを得るための手段、となってる。
(勿論、仕様準拠ゴリゴリもありだが、Cの場合はそうやっても生産性が上がるようにはなってない。
《でもやらないよりはマシだが》)