- ベストアンサー
C言語は全くの素人なのですが・・・
C言語は全くの素人(C言語って何?レベル)でも独学で市販のテキスト(初めてのC言語など)などを使って取得出切る物ですか?もしC言語の勉強を始める前にこれだけはしておいた方が楽にC言語の勉強に入って行ける様な勉強がありましたら是非、教えて下さい。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
#1さんと同意見です。プログラミング言語初体験でC言語はお薦めしません。 >独学で市販のテキスト(初めてのC言語など)などを使って取得出切る物ですか? 取得出来るかもしれません。が、確率が低い、と思います。 参考事例を二つほど。 まず、独学じゃなくて、大学で「強制的に習わされる」としても、非常に学生の宿題の丸投げ率が高い言語です(笑)。これは特筆に値します。結論から言うと、「学校で習わされる」としても「最初に学ばせる」にはキツい言語だ、と言う事ですね。大学側もその事実を把握してんだかしてないんだか(笑)。つまり、「プログラミングを学ぶ」目的には適してない、と言う事です(逆に言うと、「別の言語を習得していて」「C言語を学ぶ」なら可、なんですが)。 最近でも、全く知らない人からいきなりメールが来て、この宿題 課題 ex3: http://edu.inf.shizuoka.ac.jp/lecture/2006/X121/exercise/ex3.html を教えてくれ、とか書いてました(笑)。その学生が丸っきり勉強してないんだか、それとも静岡大学の情報学部のカリキュラムにそもそも無理があるんだか(笑)。 いずれにせよ、「学校で教える」にせよ手子摺るのがC言語です。独学ならなおさらキツい、と思います。「C言語って何?レベル」だとなおさら、でしょうね。 第二に「入門書の類の出版数が多すぎる」と言う事です。「書籍数が多いのは良い事だ」と思われるかもしれませんが、個人的には逆、だと思っています。言い換えると「入門書として定番書籍が存在しない」と言う事を意味している、と思います。 つまり、事実上、「習わされる言語=自分で"学びたい"と思う言語ではない」んで、外的要因(例えばそれこそ「学校でやらされる」あるいは「就職に有利な言語」として)でC言語を学ぶわけですが、どの入門書も根本的な意味では「決定打ではない」と言う事です。だからこそ雨後の筍のように「C言語入門」がどんどん出版されている、と言う(笑)。しかし、結局「どの本も分かり辛い」のです。だから「C言語入門書」ってのは数が多い。 これは入門書の作者陣が「説明が下手糞」なのか(笑)。まあ、そう言う部分もあるでしょうが、別な見方をすると、「C言語をプログラミング初心者に説明する」と言う事自体が土台「無理がある」と言う事でしょうね。そうとしか思えません。つまり、「定番書籍」と言える定番書籍があるわけがない、と言う事になります。 (出版社観点だと、逆に言うと「商売的にオイしい」分野かもしれません・笑) >これだけはしておいた方が楽にC言語の勉強に入って行ける様な勉強 つまり、それは「C言語を勉強する前にもっと別の簡単な言語を習得してる」方が良い、と言う事です。それが一番の勉強法です。 恐らく、「動的型付け言語」と言われる種類の言語を使って、まずは「プログラミング」自体に慣れた方が良いでしょう。その後「C言語」をやった方が結果効率的です。 個人的にはSchemeが好きなんですが、今度は「プログラミング入門書」と言える入門書が無いです(笑)。それはそれで困り物(当然!)です。 類するような動的型付け言語として、候補としては ・Python ・Ruby ・JavaScript なんかがあります。このうち、JavaScriptは構文スタイルはCやJavaに似てるんですが、これも「JavaScript単体で上手くプログラミングを教える」入門書は、知ってる限り存在しないんで除外します。 結局、PythonかRubyをまずは使ってみる、ってのが一番良いでしょうね。色々調べてみると、Rubyの方が日本語で読める情報が多い、です。恐らく「まずはRubyを使って」「プログラミング自体を」学んでからCに移った方が良いでしょう。 Rubyはオンラインの日本語で読める「プログラミング入門」がPythonよりも良くって、特に「なるべくお金を使わずにプログラミングを覚えたい」のならRubyの方がお薦めですね。 まずは次のチュートリアル プログラミング入門 - Rubyを使って - : http://www1.tf.chiba-u.jp/~shin/tutorial/ 辺りで「プログラミング自体」に慣れてみてください。
その他の回答 (5)
- TERABIT
- ベストアンサー率44% (4/9)
>独学で市販のテキスト(初めてのC言語など)などを使って取得出切る物ですか? 出来なくはないですが、独学でやる場合、最低5~6冊程度は本を買っておいたほうがいいと思いますが。 ANSI C 言語辞典は、とりあえず持っておいたほうがいい気がします。 簡単なリファレンスになります。 多分、書いてあることの意味がわからないことも多いと思います。 どれかの本には、自分の理解できる書き方がされているじゃないかと。 わかってきだしたら、何冊かは間違いが書いてあるだろうと予想もされますので、その間違いがわかるようになると思います。 昔のコンピュータの動作(8088やMC68000位の時代)がある程度わかる知識があれば、 C言語は、まだ、マニュアル首っ引きでどうにかプログラム出来る言語ですから。 (ほんとは、ANSI 以前の C の方がわかりやすいですけど)
- asuncion
- ベストアンサー率33% (2127/6289)
C言語以外のプログラミングの経験はどの程度お持ちですか?
- zwi
- ベストアンサー率56% (730/1282)
>C言語は全くの素人(C言語って何?レベル)でも独学で市販のテキスト(初めてのC言語など)などを使って取得出切る物ですか? 出来る人もいます。 出来ない人もいます。 ただ明確な目的がない人よりは、作りたい明確な目的のプログラムがある人のほうが挫折しないようです。 >もしC言語の勉強を始める前にこれだけはしておいた方が楽にC言語の勉強に入って行ける様な勉強がありましたら是非、教えて下さい。 「これからはじめるプログラミング 基礎の基礎」 http://gihyo.jp/book/2009/978-4-7741-3710-0 あたりから読んで見てください。
- jacta
- ベストアンサー率26% (845/3158)
> もしC言語の勉強を始める前にこれだけはしておいた方が楽にC言語の勉強に入って行ける様な勉強がありましたら是非、教えて下さい。 とりあえず、国語だけはしっかり勉強しておいてください。 国語力が弱いと、テキストを読んでも理解できるかどうか分かりません。 プログラミングの初心者であれば、アセンブリ言語から入った方がC言語の理解は早いと思います。
- koko_u_u
- ベストアンサー率18% (216/1139)
>独学で市販のテキスト(初めてのC言語など)などを使って取得出切る物ですか? 予測不能です。 >もしC言語の勉強を始める前にこれだけはしておいた方が楽にC言語の勉強に入って行ける様な勉強 一般常識があればよい。 そして、プログラミング言語初体験で C言語はお勧めしない。