回答編集履歴
2
もひとつ修正
answer
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
Cで未定義動作が「多い」、というより他の言語で未定義動作の話を聞いたことがない気がしますがそれはともかくとして、私はCの方が難しいと考えていますがしかし
|
|
2
2
|
> 未定義動作が多いから
|
|
3
|
+
|
|
3
4
|
というのは視点がずれている気がします。
|
|
4
5
|
|
|
5
6
|
そもそもとしてその手の議論では言う人毎に「簡単」「難しい」について、観点がばらけていると思います。
|
1
記述修正
answer
CHANGED
|
@@ -15,5 +15,6 @@
|
|
|
15
15
|
組み込み以外の分野でいうなら、C以外の言語が実用的になったのにはハードウェアの高速化というのが大きく効いているものと思います。Cでなければまともな速度が出なかった処理が、(マルチコア化なども含めて)ハードウェアが速くなったことでインタープリタであるPythonでも大抵はなんとかなってしまうわけです。
|
|
16
16
|
|
|
17
17
|
> 人のミスで未定義動作のコードを書いてたりすると思いますが、それはいいのですか?
|
|
18
|
+
|
|
18
19
|
いいわけありません。で、そういうことをおっしゃるのは多分プロの仕事をちゃんとはご存知でないのだと思います。まずはMISRAのような、ありがちなミスを防止するコーディングのガイドラインもあるので必要に応じてそういう「ルール」に沿ってコードを書きます。コードを書いたらそれでソフトウェアの完成とするものではありません。テストをするし、レビューも受けるのが普通です。また、ソースコードを静的解析をするQACとかCodeSonarとかいったツールを使えば結構小うるさく指摘をしてきます(ただしツールは高価...)。
|
|
19
20
|
「売り物」のソフトウェア開発では、100%の保証ではないにしても、可能な限り不良を流出させない努力がされるのが普通でしょう。それはCでも他の言語でも変わりません。
|