C言語なら俺に聞け 151
■ このスレッドは過去ログ倉庫に格納されています
スキルの使い途を間違えているな 弱い者いじめではなく生産に使え チーム得点につながらない無駄なことをするやつを 上司は冷ややかに見ているぞ 初めて5[a]がOKなんだと知ったときの感動を思い出せ。そんな感動と興奮を仕事に散りばめてくれるエンターテイナーだよ。 Cに配列なんて概念なくて、 配列宣言っぽく見えるのはポインタ宣言とallocaの構文糖だという 言語だったらよかったのに。 いや、それは困る ポインタが指す先の実体は いつかどこかで配列になれなきゃ話が発散してしまう "0123456789abcdef"[n % 10] 忙しかったものですから、ウルトラ亀レスで申し訳ありません。 もちろんK&Rは良い本だとは思いますが、 よくないところがあると書きましたら、「それどこですか?」 のような質問がきていたのですが、仕事に忙殺されてレスが遅くなりました。 例えば、K&Rのハッシュ探索のプログラム。 ソースを見ればバグがあるとすぐわかるはずです。 K&Rのソースは単なるサンプルです。 仕事で実際に使えるわけではありませんし、 吐き出すハッシュ値をチェックしてみてください。 そのソースをF社の東大卒のプログラマがパッケージに組み込んでしまい、 大きなバグを引き起こしました。 で、俺が呼ばれてソースを見た瞬間に原因がわかって直しました。 K&Rを読んだときに気が付いていたからです。 K&Rを読んだときに、気が付く人はすぐ気が付いていると思います。 自分で考える人です。 本当のプログラマです。 >>173 自分で考えるのが良いってのは、プログラマに限らずなんでもそうだよね。 その上で本当のプログラマとやらにもとめられるのは、考えて理解することよりバグを出さないテストを行う能力だと思うね。 考えてもミスる時はミスるし。 場数を踏んだプログラマは、もちろんちゃんと考えるけど、その上で自分の理解やコードを信じない。 ちょっと話が違うかな。 >>173 それはK&Rのよくないところか? K&RはCとはどんな趣旨のものかを紹介する本で アルゴリズムを正確に教える本ではない 単にCの機能を説明するために例を挙げただけのナンチャッテコードを いきなり本番環境に持っていった東大卒とかぬかすやる気のねえクズと 大きな事故に至るまで欠陥を検出できない会社の検証ルールの問題だろうが 買ったもの、存在するものが四角い車輪だけだったとしてもか? 買ったもの、つまり売っているものは、自作したものよりも性能がいい Cできる人は(ここの住人のような)C++も当たり前にできるん? >>179 会社に今までC一筋20年くらいの人がC ++のプロジェクトに来たんだが使えなさすぎてクソワロタ もしかしてCのライブラリのソースコード全部読んでんの アホじゃね >>175 173です。 おっしゃるとおりです。 俺の言いたかったのは、まあそういう感じです。 K&Rの信奉者があまりに多いので どゆふうに指摘していいのか困惑している次第です。 つまり、言語の紹介本としては良い本だと思いますけど、 それ以上ではない。 現在、英語版のK&Rしか私の本棚に見つからないけど、 PREFACEの15行目からは、 This book is meant to help the reader learn how to program in C. と始まっています。 この部分、日本語版にはどのように翻訳されていたか失念しましたが、 まさに、そのとおりなのです。 しかし、ハッシュ値のところですけど、 あと数文字をコーディングするだけでまともなコードになるのに、 なぜしなかったのか?という疑問はあります。 プログラマなんて正常な判断ができないような過酷な状況に追いやられることなんてよくあるし、想像の余地はいろいろあるな。 >>179 Cを数年やってからC++を やりましたけど 最初は全くわかりませんでしたよ。 C++に慣れるまで1年ぐらいかかったかな? 全く別の言語と思ったほうが よろしいかと思います。 Cでインターフェース・抽象性を意識したプログラムを書いてたらそんなに変わらんと思う。 ただ現実としては委譲を使ってたところから無理して継承に適応するために混乱することはある。現場で待っているのは神クラス。 まるで別物と思うわ。 ただ仕事で使う分にはみなjavaと同程度の構文しか使ってないから、違いはさほどないと感じるかも 仕事以外でプログラミングすること自体がドMの極みw 34年間、ほぼ毎日プログラミングしてますよ! 定年になってもずっとやってると思います。 作りたいものが一杯有りすぎて体が2つ3つ欲しいです。 今、最も力を入れているのが人工知能です。 人類を滅ぼす悪魔のソフトを造るのが人生最大の目標です! >>191 >人類を滅ぼす悪魔のソフト これにはとても興味がありますね 「人類を滅ぼす悪のソフトウェア」 うーん、ぱっと思いつくところではテトリスとか… >>183 全然わかってねえじゃん あと数文字をコーディングすることが Cの機能を説明するサンプルとしては邪魔だったら その数文字をコーディングしねえのは当たり前だ サンプルってのはS/N比が大事なんだよ そこで伝えようとしていること以外のノイズは 徹底排除する必要があるんだ >>191 おまえ自分が作ったプログラムの敵が未来からタイムマシンで暗殺に来るぞ 脳波を検出して見たいVRを出してやるわ ==> 人類滅亡 >>193 初心者向きの本ですから真似する馬鹿もいるということを 想像すべきでしょうね。 おまえこそ馬鹿だな 想像力がゼロだ 笑えるぞ? 知ったかのクズだ 今どきCとか K&Rとかで 能書きこいて 馬鹿ジジイにも ほどがあるwww >>196 「初心者」という隠れ蓑に逃げる馬鹿って、自己紹介か? >>197 イラッとするのはわからんでもないが、ここはC言語スレだからそんなこというのは荒らしだぞ >>196 あの時代の初心者は今時の初心者と違って、大半はちゃんと自分で考えて自力で技術を習得していく姿勢があり、ただ教えてもらった通りにするだけのようなのは自然と落伍していったと思うよ。当時の想定する読者層にあった適切な内容だったろうと思う。 >>196 人の意見を聞く気がないなら チラシの裏にでも書いてなよ 175にもあるけど 初心者の真似するバカのコードが そのままリリースされる態勢を反省した方が前向き あと何であの本に信奉者がいるのか 理解できない自分も >>200 当時のccが寡黙だったのが却ってよかったよな なんで動かないのか自分の頭で考えるしかなかった 今どきのコンパイラは過保護で 落伍すべき者を引っ込み付かないところまで引きずっちまう >>202 お前のような馬鹿な奴は そのうち自滅するよ(笑) お前は「おれ天才!」とか 思ってる低知能のクズだ もっともたちが悪いクズ >>179 いや、俺は使えない。 C++は30年ぐらい前にやろうとはしたが当時のPCでもワークステーションでも流行っておらず当然そのような仕事もなく、自分は主にUNIX関係の仕事だったので使う機会がほとんどなかった。 その後PCの方ではWindowsが流行ったが仕事はそのままなので変わらず、趣味ではWindowsでDelphi使ったりもしたがC++はほとんど手を着けず大雑把にしかわからないまま。 仕事はやがてLinux関係に移行するがそこでもC++が必要とされる事はなく現在に至る。趣味でJavaを覚えたりもしたが自分の仕事ではほとんど必要とされなかった。 今は趣味で Kotlin を覚えているところだが、C++については複雑化し過ぎたようなので今さらやる気は起きない。多分今後もやらないと思う。 Windowsプログラムを作る必要が出てきたとしても今ならC++なしで出来そうだし必要になるとしても局所的だろう。 >>204 196の時点ではまだ僅かに技術的な話題に振れていたが 今度は100%罵倒のみ とうとう落ちるところまで落ちたな >>179 MFCが流行ってたりC++Builderが流行ってた時にはそれなりに使う人口がいたと思うけど、過去メンテ以外で現在積極的に使ってる人は少ないかもね。 >>157 え?こんな書き方出来たの!? 初めて見た []が演算子?? そんなの今まで読んだ本にのってなかったよ! []が演算子って常識じゃないのか? どの優先順位表にも載ってるだろ? もちろんこういう書き方も出来るのが[]演算子と文字列リテラルの合わせ技 int wday = 2; printf("%c", "SMTWTFS"[wday]); 標準入力で最初に数字を入力して、その値だけ文字列を入力するのはどんな感じで書けばいいですか 3 asdf qwert sdfghg こんな感じで最初の入力の値に合わせて配列を用意する?感じになるとおもうんですが なにもひらめきまへん >>211 配列の宣言に使う[]は演算子ではない 直接宣言子の一部だ 意図的に演算子に似せてあるので 勘違いするのは無理ないが 演算子は式に作用するもので 宣言子に含まれる[]はこの定義に該当しない >>213 文字を入力するだけで変数に入れる必要がないなら getchar() で '\n' 三回読んだら終わり。 変数に入れる必要があるなら最初の値の分だけ char * を保持する配列を char ** に malloc() や calloc() 使って確保して、更に全要素を malloc() や calloc() 使って確保して、それに対して fgets() を繰り返す。 令和も戦争のない年号になると良いが、ちょっと雲行きが怪しいな。 >>222 日本は戦争しないでしょ? そして巻き込まれもしないと思う。 だって日本には軍隊がないんだもの。 自衛隊なんて銃もろくに撃てないへなちょこばかりだから。 コンピュータ好きなオタクって勇ましいやつおおいよね 語尾によねをつけて同調を求めたがるのは左巻きの典型だよね 俺は右巻きだが「よね」はよく使う レッテル貼りは瞬時に反証される論議の中では自爆行為だ しょーもね やっぱり自信がないからコンピュータ好きになるのかな? ICEデバッグしてるとき、とある変数の値をいくつか足し算して、別の変数に代入する関数で、 変数の内容同じなのに、結果が違う。。 最適化OFFにしてビルドしてる。 その関数は、別の場所から2度呼んでて、1回目と2回目で結果が違う 計算に使う値は全く同じなのに >>230 自分の経験則で言えば、大抵は関数の処理途中で割り込み処理が発生してメモリかレジスタバンクを書き換えていると思う 一回目から二回目の間で変数のどれかが書き変わってるに決まってんじゃん >>230 加算に使っているレジスタを割り込みで使いっぱしてね? まれにポインタ周りバグっててメモリー書き換えてるとか てかICE使ってるならそこで止めて変数の中身確認しろよ ICE製造の過程でICEそのもののデバッグでもしてんじゃね ここ20年ほどフルICE使ってないなぁ。 未だにあるんだろうか? 230だけど、俺の見当違いでした。 インプットの変数の値が違っていたので、当然足し算の結果も違っていたというオチ。 ICEデバッグだと変数を表示するとメモリの中じゃなくて表示した時点で割り当てられたレジスタの値を表示するので、 変数としては変わってないはずなのに他で書き換えられるので逐一変わって混乱していた。 ICE初心者でしたw デバッグ中に最適化を抑制するのは間違いではないと思います。 慣れてくると最適化したままでもある程度推測できるようになりますので、 リリースオプションでICEを使用することの方が多くなるかもしれません。 ぶっこ抜くと言うよりターゲットボードのCPUの代わりに専用のソケットを実装して専用プローブで接続する PCなどと違って組み込みのSoCにソケットなど無いのでぶっこ抜いて差し替えるなど無理 >>243 20年前のICEならそうなんだろう >>244 JTAGの話か? ソケット云々の前にGHzオーダーのCPUだと信号引き出すなんてとても無理 scanf("%d%d%d", &a, &b, &c); こうまとめて入力するのをfgets使うとどうやるの? fgets(s, sizeof(s), stdin); sscanf(s, "%d", &a); ↑ このセットをループで三つまわすしかない? 一行でやる方法あるんかな いや、1行中に入ってるなら同じじゃないか? 行の区切りとか要素の区切りとか細かい話はあるけども またfgets教か マジいやらしさがカルト教団さながらだ >>246 なんというか、ほとんど答えが上に書いてあるかのような質問だな・・・ sscanf(s, "%d%d%d", &a, &b, &c); >>244 そんな感じ CPUじゃなくてROMだけど 就業先で当たり前のようにICE使わせて頂いてるけど、お値段見てビックリ・・ >>252 それって商売になってるのか? 普通に公開されてるが。 そうなの?何の宣伝になってるのか全くわからんのだが。 誰もアクセスしない隔離スレなんで 時々こうやって宣伝して引っかかるカモを呼び寄せようと 元々有償でプログラム作るスレとして作ったスレだったんだろうけど結局誰もそんな風には使ってなくてただのプログラム発表の場になってるよね? ま、しかし、5ちゃんのような掲示板で稼ぐのは無理があるよなあ。それ専用のサイトなら可能だろうけど。 既存をちょっと修正してほぼデグレのテストというスタイルの俺には、 要望に応じて1から新しいプログラムを組む人を尊敬する 修正は修正で既存への影響の面でそれなりのノウハウは要るにしても >>258 むしろ俺は人の作ったワケワカメなコードを文句も言わずメンテしてる人はすごいと思う。 >>259 文句を言わずに、というより 文句を言わせずに、だと思う。 俺は奴隷だったので よくわかる。 会社辞めて派遣になって 気分すっきり! な~んの責任もないのに 年収1000万だもの 派遣辞められません! >>260 派遣でそれほどの能力があったら独立して2000万は稼げるのでは ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる