c言語教えてくれ (20レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
12: 05/24(土)20:48 ID:aQkh9jD4(1/7) AAS
>>10
はい来ました。
他スレから参戦の方は 2chスレ:tech 参照。
ということは、C言語学んで、あわよくばonigurumaのコードを自分で書き直しての正面突破狙いか?
まあこのノリは俺は好き。(ゴネて何もしない奴等が多すぎるので)
ただ、ポテンシャルは認めるが、onigurumaで上手く行ったのはかなり運が良かったのも事実なので、そのつもりで。
とはいえ、あっさり行ってしまうかもしれないが。
(俺はここ10年ほど本屋に行ってないので情報はどうしようもなく古いが)
> おすすめのC言語本
これについては色々問題があるのだけど、結局の所は「K&R」のみ、となる。(ただし大学のHPでも可、後述)
省11
13: 05/24(土)20:49 ID:aQkh9jD4(2/7) AAS
しかし同時に、怨嗟の声もだいぶある。
前述の通り、最低要求レベルが「既に他言語で自分がやりたい事は何であれ一通り出来る」程度なのに、
Java以前はCしかなかったので、何も知らない初心者にこの本で学ばせるという無茶振りがされ、この時点で半分ほどは撃沈してた。
そして「ポインタ」でさらに半分は撃沈するので、最終生存者が1〜2割程度という状況だった。
多分、高校の物理を1年次に文理分けず全員必修の場合、
(余程の上位校でない限り、文系を選ぶ人達=)半分超が撃沈してた状況に近い。
勿論、(高校物理を突破した)理系連中だけに大学でプログラミングをやらせてたわけだが、それでもそうなってた。
今でも「三角関数なんて人生デハー」「方程式ナンテー」なんてのも偶に居るが、
(最近では橋下と出川、てか橋下は毎回言ってるので完全にトラウマで根に持ってるんだろう)
それ以上に酷かったので、この本の言われ様も酷くもなる。
省10
14: 05/24(土)20:49 ID:aQkh9jD4(3/7) AAS
ただしK&Rはペラペラで、内容は薄い。(頑張れば1週間で普通に読める程度)
しかし、C言語の全てがそこに詰まっている。つまり、C言語も実はペラペラで薄い。
そしてここまで説明した事は、今の大学の教授/准教連中は当然知ってて、おそらくそれなりに考えて対策もしてる。
だから今なら、
1. まずPython等で、プログラミングが一通り出来るようになっておき、
2. どうしても本がよければK&R、
何でもよければ各大学のCS向けの「C言語講座」の講義内容がHPに上がってるだろうからそれで学び、
(10年ほど前は長崎大、数年前は東工大がいいと思ったが、今どこがいいかは知らん、が、まあどこでも似たようなものだし、問題ない)
3. ポインタで引っかかった場合は、C言語を書くのは諦める
4. 問題なく突破出来た場合、
省12
15: 05/24(土)20:51 ID:aQkh9jD4(4/7) AAS
>>11
断然IDE。初歩の理解にはブレークポイント/ステップ実行が使えるのは重要。
(90年代はIDEは有料だった事もあって初心者《=for/while/if等の動作もおぼつかない人》
にもprintfデバッグ強制だったから死人続出してた、というのはある)
ただ、Pythonでこの辺既に知ってたらあまり関係ないだろうし、
結局の所、各大学の講座の丸パクでいい。
つまり、今の君の知識状況に似てる大学のCS講座を探してその環境を丸ごと真似る。
初心者にはどのIDE/環境が良いか、なんて考えてるのは講座持ってる連中くらいだし。
(この意味では各大学の講座が教科書指定してる本もそれなりに使えるはずだが)
また、どの程度Cに深入りするかも丸パクでいい。
省9
16: 05/24(土)20:51 ID:aQkh9jD4(5/7) AAS
質問は>>9で多分行ける。回答してもらえるかは不明だが、聞くのは自由だ。
俺自身は「自分で」やる事には興味あるが、「他人に」教える事は全く興味ないので、
正直、初心者レベルの質問されてもウザイだけなので無視する。
(その他俺にとってはどうでもいい事も。
無限に馬鹿と初心者が沸くネットで全部構っててもキリがないので。
最初から言ってるように、俺はソースコードを読むダシに君を使っただけ。だから感謝して貰う必要もない。
俺の場合は「この仕様/機能の為にこのコード構成/戦略は妥当なのか?」を読むので、仕様知らないとどうにもならない)
連中も同じかもしれんが、少なくとも俺より断然Cの規格/文法周りには詳しいし、
暇人してたり、何かしら琴線に引っかかれば質問者そっちのけで議論開始するだろうし、見てれば参考にはなる。
ただ、Cは、知らない人が使えるようには出来てない。
省6
17: 05/24(土)20:52 ID:aQkh9jD4(6/7) AAS
あともし、onigurumaを引き継ぐ気なら、開発順は、
1. 仕様を可能な限り厳密に確定させる
2. リファレンス実装を作る(遅くていいので自由度の高い設計を採用し、完全に仕様を満たす物を作る)
3. onigurumaの動作を確認し、仕様を満たせてない部分を確認する
4. onigurumaの改変で仕様を満たせるかを検討する
5. 改変で行けるならそれで、駄目なら大幅交換か、リファレンス実装高速化で対応するかを考える
が正しい順となる。結果的に最終局面はアジャイルになるだろうが、最初からウォーターフォールを捨てるのは間違ってる。
分かってるとは思うが、コードは、
書く < 読む < 変更する(仕様追加する) < 削除する (同じ動作で冗長なコードを除く)
の順で難しくなるので、「最初に言っておいてくれれば…」はよくある話。
省12
18: 05/24(土)20:53 ID:aQkh9jD4(7/7) AAS
だから、ongurumaを引き継ぐ気なら、1. は今すぐ初めてもいいし、
(可能かは知らんが)GitHubのonogurumaのリポジトリ上でこれまで同様、仕様について議論し続けてもいい。
2. については、勿論Cの方がいいが、クソ遅くても動くことが重要なので、Pythonでもいい。
主たる目的は「この構造で仕様を満たせるかを確認する事」であり、動作速度ではないので。
4. 以降はCを読み書き出来ないと話にならないが、1.2.3.もかなり時間はかかるので、並行するのはあり。
てな感じ。まあ頑張ってちょ。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.444s*