C言語相談室(上級者専用)

■ このスレッドは過去ログ倉庫に格納されています
2018/03/02(金) 22:48:03.65ID:2Cs+DkMh0
C言語の話題のみ取り扱います。C++の話題はC++スレへ。
上級者専用です。10,000行程度のソースを扱えない人は以下スレへ。

C言語なら俺に聞け
https://mevius.5ch.net/test/read.cgi/tech/1519046038/

適宜以下を使用してください。
https://paiza.io/
https://ideone.com/
http://codepad.org/

C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf

C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html

C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/

JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/

次スレを立てる時は本文の1行目に以下を追加して下さい。
!extend:on:vvvvv:1000:512
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2018/03/02(金) 22:50:03.02ID:PBdn8yjo0
修正部分について

老害が来てもウザイので「10,000行程度のソースを扱えない人は」と現在状態に変更した。
上級者には一朝一夕ではなれない。
初心者は文法事項にばかりに目が行きがちだが、
今日覚えれば明日から使える文法事項で練度を測るのはナンセンスだ。
2018/03/02(金) 23:46:23.75ID:zrkhMBv60
チムポから膿が出てるんだけどやっぱ病院行ったほうがいいかな?
1週間くらい前に天神でナンパした女から貰ったらしい・・
4デフォルトの名無しさん
垢版 |
2018/03/03(土) 19:53:06.03
エンディアンとアラインメントとメモリバリアについて完全に理解していることが最低条件です
2018/03/03(土) 22:37:45.12ID:YArqddrc0
>>3
泌尿器科、内科、性病科
2018/03/04(日) 01:16:08.51ID:6LJJRQUTa
言語の上級者じゃなくて
ハード知ってるかどうかだけじゃね
2018/03/05(月) 00:58:42.58ID:udBqLrh50
年齢制限はあるんですか?
2018/03/07(水) 00:48:41.98ID:qZwEfbWa0
>>7
年齢制限自体はないが、実質的には30前後になるだろう。

プログラミングにおいても「10,000時間の法則」は当てはまる。
勿論こなせばいいというものではないが、ある程度こなすことも絶対的に必要だ。
この点において、学生が「上級者」の域に達していることはほぼあり得ない。
一般的には、10,000時間=1日8時間*週休2日で50週*5年だから、
実働率の低さ、あるいはその分の残業等も含めて、職業マなら5-10年でここに至る。

これは主要なプロジェクトの公開時の年齢を見ても分かる。
BASIC: Bill Gates (20)
Linux: Linus Torvalds (21)
Turbo Pascal: Anders Hejlsberg (23)
PHP: Rasmus Lerdorf (27)
Java: James Gosling (30)
GNU Emacs: Richard Stallman (32)
Ruby: Matz (32)
C++: 禿 (33)
JavaScript: Brendan Eich (34)
Python:: Guido van Rossum (35)
Pascal: Niklaus Wirth (36)

ゲイツ、リーナス、ヘルスバーグは天才と称される人々で、確かに早い。
ただこれらは「実装」しただけであり、新しい「仕様」を考えたわけではない。
それ以外は軒並み30前後からだ。
これはつまり、いい仕様を考えられる人(≒上級者)が2周目に開発した結果だということ。
1周目は何かのプロジェクトに混ぜ込まれてそこで10,000時間こなしているか、
或いは1周目から新規プロジェクトを立ち上げたがゴミで終わった、ということ。
(1周目の未熟者が立ち上げたプロジェクトは物にならなかった、ということ)
なお、ラスマスはいろいろと語録が有名だが、こう並べると実は凄い。
2018/03/07(水) 00:49:42.00ID:qZwEfbWa0
会社に入って惰性でやっている奴も多いが、
もし職業マになっても学生の頃の情熱を持ち続けて日々努力を重ねるなら、
多分30前後で「ああ、大体分かっちゃったな」と思えるときが来る。
そのときには、10,000行は普通に扱えるようになっている。
逆に、10,000時間をこなしていない状態で、10,000行を扱えないのは当たり前。
それは絶対的に練習が足りないだけ。そして学生はこれに該当する。
練習すればいいわけではないが、練習もしないと上手くはならない。
お前らが今一生懸命書いているコードも、数年後に見直せば全くのゴミだと分かるだろう。

そして問題なのは、その2周目に何をするかで、
まあ大体会社にガッツリ組み込まれ、公私とも忙しくてそれどころではないが、
そのときにOSS方向にも立ち上げればMatz位の立ち位置は狙えるということ。

日本の問題は「プログラマ35歳定年説」の通り、
せっかく10,000時間こなした熟練者がマネージャになり、全くコードを書かなくなってしまうこと。
結果、未熟者だらけでコーディングしており、当然生産性は低く、給料も低くなる。
だから給料を上げる為にはマネージャに昇格するしかない、という悪循環となっている。
一方、海外では、プログラマの人件費は高く保たれており、(日本の2倍)
結果、熟練者もコーディングし続けることが可能で、生産性も高く保たれ、給料も高く保たれている。
これじゃ海外に勝てないのは当たり前だ。
詰まるところ、日本ではヘボが、海外ではエキスパートがコード書いてるんだから。

ただこんな愚痴言っても始まらないのだが、とにかく俺がお願いしたいことは、
お前ら初心者がここを読むのは勝手だが、投稿はして欲しくない、ということ。質問も含めて。
君らだって、大学の研究室に幼稚園児が乱入してこられても困るだろ。
上級者/熟練者も、上級者/熟練者のみで効率よく話せる場を必要としていて、
初心者が乱入してこられると困るんだよ。
ただ逆に、俺は初心者が初心者なりの考えでワイワイやることも必要だと思うから、
君らが従来スレでやり合う分には文句を言わない。(このスレが続いている限り)
俺は自ら進んで隔離されるのだから、お互い棲み分けって事でよろしく頼む。
2018/03/07(水) 00:50:24.22ID:qZwEfbWa0
今現在、また今後とも、Cが使われるのは極めてプロフェッショナルな領域のみだ。
つまるところ、「Cみたいな開発効率の悪い言語を使う理由は、Cじゃないと駄目だから」でしかない。
C以外の言語も充実している今、
「プログラミング初心者」が「独学」でCを始めるのは俺は全く勧めない。他言語にしとけ。
学校等でCを選択しているのなら、それは教師側の都合だから、(知らない言語を教えられないだけ)
逆に言えば、その先生に聞けばいい話であって、俺らに質問してくること自体が間違い。
つまり、
・直接聞ける相手がいるならそっちで聞け、それの方が絶対早い
・プログラミング一般について質問があるようなら、まず他言語で一通り学んでからCに挑め
・C特有事例で質問があるのなら、従来通り質問スレを使え
でしかない。敢えて匿名掲示板上の上級者に回答を求める場合は、例えば
・自分としては一通り出来るつもりである
・ところが上司の方針に全く納得できない。これ本当にそうなのか?ただの老害か?
という場合であって、具体的には
> 職場の人がみんなそうで、毎日変数一つにまとめろとかクラス一つにまとめろとかいろんな人から怒られたりして気が狂いそう
> javaから入ってオブジェクト指向学んだんだけど、javaと同じようにオブジェクト指向で作っちゃいけないの?
> 戻り値列挙型で定義したら戻り値二択にしてboolで返せって、戻り値によってswitch文で処理書いてたんだけどそれも全部捨てろって
> 俺そんなにおかしいもの書いたのかな?
> 共通化したりするとわかりづらい読みづらいって言われる
> https://mevius.5ch.net/test/read.cgi/tech/1467992113/10-
これとかだね。彼は非常に上手く2chを使った。さすがにこれを職場でやるわけには行かんし。
2018/03/07(水) 02:36:38.66ID:Tq6bvCAq0
ム板じゃなくマ板でやれって内容だな
2018/03/17(土) 18:32:08.61ID:6umCop+Md
上級者は自己解決できるから、このスレは洋ナシなんじゃね?
■ このスレッドは過去ログ倉庫に格納されています