アカウント名:
パスワード:
世の中はCでできている。WindowsだってLinuxだってアメンボだって、みんなみんなCでできている。
プログラミング言語だってCでできている。PythonだってRubyだってオケラだって、みんなCでできている友達なんだ。
アメンボとオケラのCは炭素では?
Cの難易度が誇張されているように思うのだが。Javaより難しい?
間違ったコードが間違ったまま動くから、独習するのは難しいと思います。Cだけ学ぶより、CPUやコンパイラをセットで学んだほうが楽だと思えるぐらい。
先日某所で char number[sizeof(int)]; というブットビコードを見かけました。整数を一旦文字列にしようと思ったらしいですが、スタック壊しながら動いちゃいますから、初学者は何が悪いか気がつきませんよね。
このコメント自体が盛大な釣りですか?とりあえずあなたが初学者さんと同レベルであることはよく分かりましたので、願わくは一生Cのプロジェクトで関わり合いにならないことを祈っておきます。
> 願わくは一生Cのプロジェクトで関わり合いにならないことを祈っておきます。
賛同者は多いとおもいますが、経験的には、その類の願いが叶うことは決してありません。(泣
知らないなら素直に「どこがおかしいのかわからないから教えてください」と言えばいいものを「釣り?」とかほざくのが言語の問題? 言いがかりにもほどがある。これが不遜メソッド [hatena.ne.jp]って奴ですか?
ごめんなさい、別コメでも補足しましたが、その後に
sprintf(number, "%d", some_small_integer);
ってのが来るのです。整数が3桁までなら動いているので、その時点で何がおかしいかを知る手段はない。ですが、4桁目まで使ってしまうとスタック壊しますよね。メモリの置き方によってはこれでも動いてしまう場合があるのですが、こことは直接無関係な変更をした瞬間に動かなくなって、どこが原因だかわからなくなってハマっている、なんてこともしばしば。
実際人のこと言えず、配列を踏み越えちゃったり解放したメモリへの参照が残ってたり、なんてケースではバグの発生条件が不確定だったりバグを顕在化した変更とバグの原因が遠かったりで、なかなか大変な目に遭うことも。ええ、僕自身が「Cのプロジェクトで一緒になりたくない」存在かもしれませんね…orz
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
CはCでも・・・ (スコア:5, おもしろおかしい)
世の中はCでできている。WindowsだってLinuxだってアメンボだって、みんなみんなCでできている。
プログラミング言語だってCでできている。PythonだってRubyだってオケラだって、みんなCでできている友達なんだ。
アメンボとオケラのCは炭素では?
Re: (スコア:0)
Cの難易度が誇張されているように思うのだが。
Javaより難しい?
Re: (スコア:0)
間違ったコードが間違ったまま動くから、独習するのは難しいと思います。
Cだけ学ぶより、CPUやコンパイラをセットで学んだほうが楽だと思えるぐらい。
先日某所で char number[sizeof(int)]; というブットビコードを見かけました。
整数を一旦文字列にしようと思ったらしいですが、スタック壊しながら動いちゃいますから、初学者は何が悪いか気がつきませんよね。
Re:CはCでも・・・ (スコア:2)
#釣り?
なんら、変な所ないのですが・・。
>整数を一旦文字列にしようと思ったらしいですが、スタック壊しながら動いちゃいますから、初学者は何が悪いか気がつきませんよね
盛大な釣り?
閑話休題
Re: (スコア:0)
このコメント自体が盛大な釣りですか?
とりあえずあなたが初学者さんと同レベルであることはよく分かりましたので、願わくは一生Cのプロジェクトで関わり合いにならないことを祈っておきます。
Re:CはCでも・・・ (スコア:4, おもしろおかしい)
> 願わくは一生Cのプロジェクトで関わり合いにならないことを祈っておきます。
賛同者は多いとおもいますが、経験的には、その類の願いが叶うことは決してありません。(泣
Re:CはCでも・・・ (スコア:2, すばらしい洞察)
c言語の欠点が、まさにこの問答で現れていると思いますよ。「初学者」と「Cのプロジェクト」参加者との、このギャップを埋める努力を誰がしているのか、と。もしかしてその努力って、初学者の自助努力に大きく頼っていませんか。
初学者が「Cのプロジェクト」参加者レベルまで達するのに必要な学習はどのようなもので、それは独学で可能か?あるいは、間違って覚えたことを修正するのにはどうすればよいか?
客にカネを払わせるに値するプロジェクトの推進には初学者は無用でしょうが、「Cのプロジェクト」参加者レベルの人材が天から降ってくるわけもなく、何らかの形での教育は必要不可欠なわけですよ。まして、フリーソフト(たとえばlhaplusとか・・・ただしこの設例に他意はありません)などは一人でやっているわけで、その人が仮に間違った知識でコーディングしていたら?間違っているが偶然にも動いてしまう場合は?等等
c言語の使い手の雰囲気って、初学者を排除する文化が蔓延しているように見えます。「Cのプロジェクト」参加者レベルとしてはそれでいいのでしょうが、初学者を邪魔者扱いでは、その初学者がいずれ書くであろうプログラムの質はいつまでたっても上がらないでしょう。
意味不明 (スコア:0)
> それは独学で可能か?あるいは、間違って覚えたことを修正するのにはどうすればよいか?
それは初学者当人やその上司、PMの問題であって、「言語」の問題とは一切関係無いよ。
或いは貴方がこれまで参加してきた「C言語によるプロジェクト」の巡りあわせが
極めて不運だったのでしょう。
Re: (スコア:0)
知らないなら素直に「どこがおかしいのかわからないから教えてください」と言えばいいものを「釣り?」とかほざくのが言語の問題? 言いがかりにもほどがある。
これが不遜メソッド [hatena.ne.jp]って奴ですか?
Re: (スコア:0)
ごめんなさい、別コメでも補足しましたが、その後に
sprintf(number, "%d", some_small_integer);
ってのが来るのです。整数が3桁までなら動いているので、その時点で何がおかしいかを知る手段はない。ですが、4桁目まで使ってしまうとスタック壊しますよね。メモリの置き方によってはこれでも動いてしまう場合があるのですが、こことは直接無関係な変更をした瞬間に動かなくなって、どこが原因だかわからなくなってハマっている、なんてこともしばしば。
実際人のこと言えず、配列を踏み越えちゃったり解放したメモリへの参照が残ってたり、なんてケースではバグの発生条件が不確定だったりバグを顕在化した変更とバグの原因が遠かったりで、なかなか大変な目に遭うことも。ええ、僕自身が「Cのプロジェクトで一緒になりたくない」存在かもしれませんね…orz
Re:CはCでも・・・ (スコア:2)
> sprintf(number, "%d", some_small_integer);
うがぁ;;
笑えないですね;;。
そこで、「%*.」「%.*」「%*.*」とかを教えてあげましょう。
彼も一つのスキルを手に入れられます。
閑話休題