Re: good program
新城@筑波大学情報です。こんにちは。
C言語の話から外れてきたんだけれど、
In article <m3u12p2znr.fsf_-_@kzin.dip.jp>
Mito <co_mon@ybb.ne.jp> writes:
>> よいプログラムとは、一番は、人間が読んで分かりやすいプログラ
>> ムかなあ。それから、ちゃんと動く(よいプログラムでも動かない
>> のも場合によっては許す)。次は効率がよい(よいプログラムでも
>> 効率が悪くても場合によっては許す)。
> この、「よいプログラム」の定義はどこから来たものなのでしょう?
そのよいプログラムの定義は、新城の直感です。まあ説明すると、
技術の進歩を考えると、
・効率の方は、コンパイラが頑張ればいい。部分評価とか。
・よいプログラムが動かないなら、コンパイラと規格が悪い。だか
ら、よいプログラムはそのままでコンパイラと規格の方を替えればいい。
というのがあります。
部分評価の技術を使えば、たぶん、こんなコードがあったとして、
a[10000] = "abc" ;
0終端以降は使われないくらいは解析して、それ以降の0で埋める
コードを出さないくらいは、そんなに難しくはないんでしょう。
まあ、部分評価の理論的には、配列の扱いは難しいみたいんだけど。
> 読みやすければ、いくら効率がわるくっても、たとえ動かなくって
> もいいってことですよね。
「いくら悪くても」とは、ちょっと言えませんね。さすがに。
O(n^2) のプログラムと O(n log n) のプログラムがあって、いく
ら O(n^2) のプログラムがいくら読みやすくても、O(n log n) よ
りいいとは言えない、いくらコンパイラの技術が進んでも、O(n^2)
のプログラムを O(n log n) には自動変換はしてくれないと思います。
> segmentation fault とかの話題はよくわかりませんので静観させ
> ていただきます。私の考えは太田さんにフォローしていただいた通
> りです。
記事が多くても別に困らないで、自分の読みたい記事を誘導するよ
うな記事を書くといいです。
In article <3989370news.pl@insigna.ie.u-ryukyu.ac.jp>
kono@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
> 河野真治 @ 琉球大学情報工学です。
> 規格が一つ、そして、実装が一つ。実は同じとは限らない。規格み
> ないのも馬鹿ではあるけど、規格だけを信用するのも良くないです
> ね。
規格が出た所で思考停止するのもなんとかして欲しい。
昔、RFC 読めというのも、あったんだけど。
\\ 新城 靖 (しんじょう やすし) \\
\\ 筑波大学 電子・情報 \\
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