藤原本『Cプログラミング診断室』を斬る
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
NGNG厨房のボクにわかりやすく教えて下さい。
ここで読めます。
http://www.pro.or.jp/~fuji/mybooks/cdiag/
0002名無しさん@お腹いっぱい。
NGNG0003名無しさん@お腹いっぱい。
NGNGまぁまぁいいけど。ちょっと変と思ったとゆーことを覚えている。
まぁ、タダなんで、いっかーなんて思ったことを思い出したりする。
しかし、どこがちょっと変だったかは、もう1度読まないと言えない
ので、面倒なので、どーでもいーです。
どの技術本にも言えることだが、それがすべてだと思ってしまうと
大海を知らないカエルになってしまうので、気をつけようと、
また心に刻む、冬の寒くて眠い午後でした。
0004名無しさん@お腹いっぱい。
NGNG大学在学中で世間知らずのバカが召喚されるから注意ね。
0005名無しさん@お腹いっぱい。
NGNG書いてることは
・ちゃんと構造化しよう
・車輪の再発明はダメ
程度なんだよ。基本中の基本。
それが出来てない大噴飯モノの「実例」を
俎板に乗せてガスガス切ってるのがウリなんだろうな。
00061
NGNGうんうん、かなり古い本だから、ちょっと現状とはあわない
所はあるかもしれないけど、ボクは結構いい本だと思ったんです。
でも、2chでは、「藤原ドキュソ」という意見が多いみたいだから、
どこがいけないのかなーって思ったりして。
0008>1
NGNG0009名無しさん@お腹いっぱい。
NGNGってこと。俺はこれをモチベーションにしてがんばってきた。
実際他の職種と比べるとこれは凄いことだと思う。これを教えてくれた藤
原本には感謝している。
0011名無しさん@お腹いっぱい。
NGNG00121
NGNG初心者のボクは信じてもよいのでしょうか?
0013名無しさん@お腹いっぱい。
NGNG藤原本の一番の問題点は、悪い点を指摘する痛快さから、
信者を作ってしまうことにある。
#内容的に古い等もあるが、些細な事だろう。
痛い信者は、既存の、或いは他人の正しく動いている部分にまで、
「ここはこうした方が良い」と感じてたら、ソースに手を入れてしまう。
その理由が、「関数が長過ぎる」や「変数名がわかりにくい」や
「標準関数にある」だったりする。
それが時に不必要なバグを招き、
プロジェクトを混乱させ、
バージョン管理を台無しにする。
読み物としては面白い。
(ただし、書いてある事は普通に学べば自然に身についている内容)
面白いが、「他人の欠点を探す」癖をつけない事が肝心。
著者が悪例をけなしているのは、単にそういう趣旨の連載だったからであり、
読者に「欠点を探す」癖をつけさせるためではない。
0014名無しさん@お腹いっぱい。
NGNG同感。
こういうのはプロになったら、先輩や同僚からボコにされるから
ほっときゃいいんです。
0015名無しさん@お腹いっぱい。
NGNG>「プログラマの生産性には数十倍の格差がある」
うーん、ずいぶんと控え目な意見ですね(笑)
もっと差がありますよ
0016名無しさん@お腹いっぱい。
NGNG欠点があるなら指摘してみろ
>>13
>痛い信者は、既存の、或いは他人の正しく動いている部分にまで、
>「ここはこうした方が良い」と感じてたら、ソースに手を入れてしまう。
痛い信者じゃなくても、悪いのは直すべきだろ?おまえ大学在学のバカ?
>同感。
>こういうのはプロになったら、先輩や同僚からボコにされるから
>ほっときゃいいんです。
藤原の本読まないやつや批判するやつはプロになれないし
糞プログラムしかつくれないやつだろ(藁
0017名無しさん@お腹いっぱい。
NGNG0018名無しさん@お腹いっぱい。
NGNG>>13
>痛い信者は、既存の、或いは他人の正しく動いている部分にまで、
>「ここはこうした方が良い」と感じてたら、ソースに手を入れてしまう。
>その理由が、「関数が長過ぎる」や「変数名がわかりにくい」や
>「標準関数にある」だったりする。
もともと手を入れる必要のないプログラムであればそのまま放っておくのも手だが、
再利用しようとするときには、正しく動いていても設計やコーディングのまずさが
破綻の原因になることがあるから、適宜、既存部分を変更することはよくあるよ。
動作検証の手段を日頃から備えておけば、デグレードの可能性は低く抑えられるし
開発効率も良くなるよ。検証手段なしだと既存部分の変更は怖くてしょうがないだろうね。
0019名無しさん@お腹いっぱい。
NGNGプログラムはある意味宗教なんだから。
俺はプロテスタント系かな。。。
0020名無しさん@お腹いっぱい。
NGNGそのくせ自分は長い関数をかくから、かしこいと勘違いしている馬鹿も
それが診断室ではボコボコに批判されているから
そこでかちんと来て、くそみそに言っているんだとおもう
0021名無しさん@お腹いっぱい。
NGNG>藤原の本読まないやつや批判するやつはプロになれないし
>糞プログラムしかつくれないやつだろ(藁
だったらいいんだけど、実態は、はぁーーーー(;_;)
0022名無しさん
NGNGK&RやThompsonのソースに比べて饒舌って感じ。
引数8個以上ならべる関数見ると、もうC++行けって感じ。
ただ短くすればいいとかそういう問題でない。
0023名無しさん@お腹いっぱい。
NGNGs/饒舌/冗長/
じゃなくて?
0024名無しさん
NGNG「寡黙」です。汚いソースを「散文」に例えると、
美しいソースは「俳句」って感じ。
藤原は散文的。
0025名無しさん@お腹いっぱい。
NGNGこいつダメダメじゃん。基礎も理解してないくせに、
よくもまあ初心者いじめができたもんだ。
0026名無しさん@重箱の隅
NGNG>文字列リテラルは無条件にconst修飾子がついているものと見なされます。
「K&R 2nd.」石晴訳 p.236
>文字列定数とも呼ばれる文字列リテラルは"..."のように2重引用符で囲まれた
>文字列である。文字列は“文字配列”の型をもち、記憶クラスはstatic(以下の
>A4節参照)であり、与えられた文字で初期化される。
言ってること違うぞ。
0027名無しさん@お腹いっぱい。
NGNG実状を見るに、const 付いてると言ってもいいんでないかい?
読者がそれを読んで、ああ、書き換えできないんだなと思えばそれでよし。
ダメ?
0028名無しさん@お腹いっぱい。
NGNG> 初心者いじめ
初心者いじめじゃないだろ?
だいたい初心者では、あんなクソでかいプログラムはつくれん
0029名無しさん@お腹いっぱい。
NGNG良いところだけ吸収しろって。
0030名無しさん@満腹
NGNGこんな所でわめいてたって、時間の無駄。
酔っ払いがカーネルおじさんにからんでるのと一緒。
0031善意の通行人
NGNG>酔っ払いがカーネルおじさんにからんでるのと一緒。
うまいたとえだなあ。もらい!
0032名無しさん@お腹いっぱい。
NGNG003326
NGNG件の本によれば、以下のプログラムはコアを吐くらしいけど、
char *q="def"
main(){
q[1]='@';
printf("q: %s\n");
}
ちゃんと「d@f」て表示されたぞなもし。
Sun OS 5.5.1付属のccで。
0034名無しさん@お腹いっぱい。
NGNGたまたま、あなたの処理系で落ちなかっただけの話です。
0035名無しさん@お腹いっぱい。
NGNGccでok
gccでだめだった。
0036名無しさん@お腹いっぱい。
NGNGgcc でもオプション指定によってはオッケー。
比較的古いソースでは確信犯的に>>33のように書かれているものが
あるから(rogueとかそうじゃなかったかな?)、文字列リテラルを
DATAに配置させたくなることが実際にはしばしばあって、現存する
ほとんどのCコンパイラは何らかの方法でそれをサポートしている
と思う。
VC++はDATAに置くほうがデフォルトね。
0037名無しさん@お腹いっぱい。
NGNGDATAってなんすか?
ヒープの事?
0038名無しさん@お腹いっぱい。
NGNG0039名無しさん@お腹いっぱい。
NGNG初期化済みのstaticデータ(記憶クラスの意味で)を格納したセグメント
のことだ。これは書込み可能なメモリ領域に配置され、上書きしても
Segmentation faultが発生しない。
無論この辺はアーキテクチャ依存の話になるが、
data@` textといった用語および大体の意味は共通的に使われている
と思うよ。
(まあMS-DOSみたいなメモリ保護のないOSでは「書込み可能」も糞も無いが)
0040名無しさん@お腹いっぱい。
NGNG藤原先生にからむんじゃねーよ
100回プログラム診断室読んでからレスしろ ボケ
おまえらがプログラマなんかやってるから業界のレベルが低いんだよ
大学在学のバカと一緒に一度ごみ箱にぽいされちゃえば?(藁
0041名無しさん@お腹いっぱい。
NGNG斬る?こんな糞スレつくるな ボケ
0042名無しさん@お腹いっぱい。
NGNGMIGIMITE HIDARIMITE MINA OBAKA. KEKEKE.
004325
NGNG上級者ぶって他人のソースの重箱の隅をつつくことを
題材にしている輩よりは数百倍マシ。
そんな輩が、誰でも知ってるような Cの基本さえ
わかってない(少なくともこれは重箱とは思えないし)
のだから叩かれても仕方ない。
正しいコーディングスタイルを教えるのが目的ならば、
別にこういう書き方をしなくてもよいと思う。
少なくとも俺は読んでいるうちに気分が悪くなったよ。
あと、盲信する輩はイタくない(仕方ない)。
将来この筆者よりも深い知識を得た段階で、盲信で
あった事に気づけばよい。
0044名無しさん@お腹いっぱい。
NGNG誰でも知ってることしか書いてないとか言ってるけど、
「Cプログラミング診断室」が初級者を対象にした本
だから当たり前。
「Cプログラミング専門課程」がもう一段上のことを解説
した本。
0045名無しさん@お腹いっぱい。
NGNG「態度が気にくわない」というのは嫌いになる十分な理由になると思う。
それを押してまで読むべき内容のある本じゃないから。
教育的というよりは、初心者をようやく脱したレベルの人間への
受け狙いと思え、受け狙いとしても下品であるし、同じような題材ばかりで
退屈だ。
少なくとも同系統の本としては、結局「プログラム書法」の足元にも及ば
ない(C言語用じゃないが)。
0046名無しさん@お腹いっぱい。
NGNGだから馬鹿だっつうの。
0047名無しさん@お腹いっぱい。
NGNG0048名無しさん@お腹いっぱい。
NGNGずばり痛いところをつかれたからだろう?
よくいるんだよな。てめえは天才のつもりで偉そうにしたいけど
誰かの忠告で、そうじゃないと指摘され、
指摘したやつを逆恨みする馬鹿
0049名無しさん@お腹いっぱい。
NGNG0050名無しさん@お腹いっぱい。
NGNGわからん、どうしてもわからん
>printf("q: %s\n");
%sに対する引数が存在しないのに正常に出力される処理系の仕組みがわからん
005145
NGNG「だから」一言で片づけずに、なぜ馬鹿だと思うのかちゃんと
説明してみろよ。
>>48
ハハハ。そういう理由しか想像できないとは余程
洗脳されているか単なるバカのとっちかだな。
顔を洗って出直してきたらどうだ?
45に書いたと思うが、理由は「品がない」だからだよ。
似たようなクサレコードを延々と&&嬉々として貶している様には
ハッキリ云ってウンザリせずにはいられない。
俺にはそれが初心者向けの「教育目的」よりはむしろただ単に
阿呆を貶して笑いたいだけに見えるのさ。
0052他人ごと
NGNG00532
NGNG00541
NGNG0055名無しさん@お腹いっぱい。
NGNG>理由は「品がない」だからだよ。
おまえが下品だから鼻につくだけだろう。近親憎悪で。
0056名無しさん@お腹いっぱい。
NGNG>阿呆を貶して笑いたいだけに見えるのさ。
とかさ。
0057名無しさん@お腹いっぱい。
NGNGたしかに、藤原氏が出すような(あそこまではひどくないにせよ)いっちゃった
文字通りの「コード」を書く奴いるもんなぁ。
どーでもいいけどさ。
0058名無しさん@お腹いっぱい。
NGNGなんでプログラム書法と同系統なの?
あなたが言ってるようにあの本は駄目なプログラムを晒し者にして
わいわいやってる本でしょ?
それは面白いし、なんで駄目なのか分からない人にとってはためにもなるよ。
まあ時代遅れなのは事実だけど。少なくともあの当時は実践的なテクニック
だったぞ。
00598086
NGNG006045
NGNGプログラム書法は、駄目なプログラムの駄目な部分を指摘し、
どのようにすれば改善されるかを示し、そこからより一般的な
スタイル上の定石を導き出すといったことの繰り返しであった。
確かに「さらし者にして楽しむこと」が主目的であるかどうかと、
より深いレベルの考察および充分に教育的な配慮が行われているか、
が明白に違っているから、「同系統」とまでは呼べないかも知れない。
足元にも及ばないというのはそういうことだ。
>それは面白いし、なんで駄目なのか分からない人にとってはためにもなるよ。
エンターテイメントとしては、同質&&あまりに低レベルな「症例」の
羅列で、いい加減ウンザリするのだがな。
本気で「ためにしたい」ことが目的なら、もっとやりようはいくらでも
ある。
0061名無しさん@お腹いっぱい。
NGNG初級者を対象にした本だということをお忘れなく。
0063名無しさん@お腹いっぱい。
NGNGそれ、「何の」レベルかという点で話し合いにおける解釈が食い違ってると思う。
0065名無しさん@お腹いっぱい。
NGNGあの当時は的確だった。今はちょっと的外れなこともある。
#しかし下げたまんま育っていくなぁ
0066名無しさん@お腹いっぱい。
NGNGこっちも面白いよー
0067名無しさん@お腹いっぱい。
NGNG罵倒しつづけてることに不快になる人はいるだろうな。
まぁ面白いと思う人は多いからそういう方法が
あったっていい。堅い本よりは読みやすい。
0068名無しさん@お腹いっぱい。
NGNG中尾竜己さんは何番かな〜?
0069名無しさん@お腹いっぱい。
NGNG言ってた奴を見た事ある。
藤原氏に感化されてる?(;´Д`)
0070名無しさん@お腹いっぱい。
NGNGでも結構役に立ったよ、少なくとも自分には。
まぁ別に信者になっても良いと思うけどねぇ、
な〜んも読まんで
この例のような、恐ろしいコーディングされるよか
遥かにマシであると考えるのだが?
0071名無しさん@お腹いっぱい。
NGNG現実はそれ以下の人が大半なんですから。
0072名無しさん@お腹いっぱい。
NGNG0073名無しさん@お腹いっぱい。
NGNG藤原に対しては、さして批判的ではない。語り口がエラソーだとかは
置いとくとして。
と学会はたまにあの冷笑的なスタンスに反吐が出そうになる。
「と」なモノのリファレンスとしては面白いけどな、
0074名無しさん@お腹いっぱい。
NGNG0075>74
NGNG「Cプログラミング専門課程」は普通のCの解説本。
■ このスレッドは過去ログ倉庫に格納されています