Re: strcpy, strlcpy.
大阪大学の齊藤です
Yasushi Shinjo wrote:
> 私はまだ CPU を交換してもらったことはないです。
CPUはよほど深刻なバグで、かつうまく世論が燃えないと、交換
してくれませんよね。
> OS の方は、毎
> 週のようにパッチを当てているわけです。
> この違いは、私は、何か
> 本質的な差はあると思います。齊藤さんは、この違いには本質的な
> 差はないという意見ですか。
そうですね。複雑度の差に目をつぶって本質的な差が有ると
決めつけるのはいかがなものかと思います。本質的な差は
おそらく有るとは思いますが、複雑度の差もかなり大きな
ファクターであろうというのが齊藤の直感です。
あと、CPUは交換コストが高すぎるので多少のことなら他の手段で
(たとえばOSのパッチで!!)対処するとか、放置するとかして
いますよね。
もしもPentium4がFPGAで出来ていて、気軽にパッチが当てられる
ものだったら、、、月に1回以上はパッチを当てていると思いますよ。
> Pentium の場合、23万行くらいは人間が書いているのでしょうか。
> 23万行で、あの品質が出きるなら、ソフトウェアも1つが 23 万行
> 以内になるように作るとよいとか、そういう目安が欲しいわけです。
もしも、8080の頃のようにトランジスタレベルで人間が回路図を書き、
マスクパターンを人間がカッターナイフで切っていたら、pentiumは
Windows以上にバグだらけでしょうねぇ。
アセンブラからコンパイラに抽象度レベルを上げたように、より大きな
「欠陥の無いことが確認された部品」を組み合わせるように変わって
いけばいいのかもしれませんが。
まずソフトウェアに関してやるべき事は、やるべきだと分かっている
ごく普通のことをちゃんとやるということじゃないですか。
仕様をちゃんと決めて動かさないとか、レビューをちゃんとするとか、
テストを十分にするとか、プログラマはちゃんと訓練してから実戦に
投入するとか。
齊藤明紀 saitoh@ist.osaka-u.ac.jp
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735