- C#, C♯, C#相談室 Part91 [無断転載禁止]©2ch.net
602 :デフォルトの名無しさん[sage]:2016/09/29(木) 21:37:33.67 ID:o/Z16MWz - >>599
いやそのコードはおかしいけどな。多分以下。 while (*src!=0) *dest++ = *src++; それをキチガイというのは自由だが、Cならこれを読めない奴は馬鹿扱いだよ。 初心者は常に「自分の読めないコードは、コードが悪い」としか言わないのだけど、 実際はその初心者の技術レベルに問題がある場合の方が多い。 599はこれだね。
| - C#, C♯, C#相談室 Part91 [無断転載禁止]©2ch.net
607 :デフォルトの名無しさん[sage]:2016/09/29(木) 22:37:37.49 ID:o/Z16MWz - >>604
ああよく見ればそうだな。てかスペース見えんかった。 俺はプログラミングは固定ピッチフォントでやる派なので。 つか脱線でさらにスレチだがC++の開祖がプロポーショナル派で、 「プログラミング言語C++」もそれで印刷されているのだが、読みにくくてかなわん。 >>605 俺は余り詳しくないのだが、その範囲で話をすると、 K&R第2版P129には、そういう場合は while (*dst++ = *src++) にしろと書いてあるわけだが、実際はこの書き方はwarinigが出る環境の方が多いと思う。 したがっておそらく最適化はやってもらえる(はず。volataileでない限り。) >>595も本来はtypedefやマクロを使えばもっと綺麗に書けるし、多分それが普通。 悪い例を出しても言語間の比較にはならないよ。 どの言語でも糞な書き方は出来るから。(比較的C#はそうなりにくいのは認めるが)
| - C#, C♯, C#相談室 Part91 [無断転載禁止]©2ch.net
608 :デフォルトの名無しさん[sage]:2016/09/29(木) 22:39:05.84 ID:o/Z16MWz - >>607
すまんセミコロン抜けてた。 while (*dst++ = *src++);
| - C#, C♯, C#相談室 Part91 [無断転載禁止]©2ch.net
611 :デフォルトの名無しさん[sage]:2016/09/29(木) 23:40:01.94 ID:o/Z16MWz - >>610
マジ?と思って調べたら、どうやらそのようだ。つか、Pyshonも無いんかよ。 https://github.com/apple/swift-evolution/blob/master/proposals/0004-remove-pre-post-inc-decrement.md Cとは生まれた時期も目的も異なるからどちらがいいという問題ではないが、 Cで問題だった箇所を一つずつ潰すのも新しい言語のやるべき事だよ。 主張はそこに書いてある。同意するわけではないが、まあそういう見方もあるわなくらいには思う。 ただCは何だかんだで多分生き残る。 あれはほぼアセンブラで、限界までチューニングするにはあの記法が必要だから。 対してC#やSwiftやPythonは生産性/可読性重視だから、 おそらく次の新しい言語が出てきたら取って代わられる。 「近代的」っていうのはそういうこと。時間が経つにつれて「前近代的」になる。 これは近代的言語の宿命だね。 そしてCは「前近代的」でも生き残る価値があるから現存している。 ただ、++で問題を感じたことはないんだけどな。 そこの例に挙げられている > foo(++a, a++) をやる奴は死ねでいいけど、 これは引数の評価順を規定してないのが問題で、別問題。
|
|