ここから本文です

解決済みの質問

プログラミング初心者でC,C++に手を出す方々、また初心者にこれらを入門に薦める方...

kgr_iさん

プログラミング初心者でC,C++に手を出す方々、また初心者にこれらを入門に薦める方が多いように思います。
何か人を引きつける魅力があるのでしょうか?

特にC,C++が必要となる局面が一般ユーザにあるとも思えません。
しかし、検索すると入門サイトが大量に出てきます。
ここで検索しても薦める方が多いようです。
将来を考えるなら、と言う方もいますが将来の前の近未来に挫折が待っているようにも思います。
もちろん職業プログラマになりたいというのなら話は分かりますが。

他の有名どころと比較しても難しい言語だと思います。
また、大抵の場合、他と比較してソースが長くなり面倒なだけだと思います。
高速度要求のプログラムが作りたいという明確な目標があるのならいいですけど。
そういったのが明記されていないのならコンパイル言語じゃなくてスクリプト言語でもいいじゃないか?とも思います。
windowsならVBもありですかね。

少し展開してしまいましたが、
質問内容は、「C等が初心者を引きつける魅力とは何なのでしょう?」です。
大学や企業で強制など意外の理由で、初めての言語にCなどを選んだ方の意見も聞きたいです。
もちろん、他の方々からの意見も。
自分には、いくら考えても初心者がC,C++を使うメリットが見えてこず、マイナス面しか出てこないため質問させていただきました。

もし、お時間がありましたらお願いします。

違反報告

ベストアンサーに選ばれた回答

hfh01452さん

C/C++言語が他の言語に無い最大の能力は
「プログラマのしたい事がすべて出来る」
という点にあります。
これは裏返すと「すべてをプログラマが行わなければならない」という事でもあり、この点が入門者へのハードルともなります。
しかし実際にOSを記述している言語は、アセンブリ言語を除けばC/C++言語以外にありません。
実際Linuxも「アセンブラ+C言語」で記述されています。

「単にアプリケーションを作りたい」というのであれば私も他の言語で教えますが、「コンピュータとはどういうものか」を教えるためにならC言語を使います。

この質問は投票によってベストアンサーが選ばれました!

この質問・回答は役に立ちましたか?
役に立った!

お役立ち度:お役立ち度 3点(5点満点中)3人が役に立つと評価しています。

ベストアンサー以外の回答

(7件中1〜7件)

並べ替え:回答日時の
新しい順
古い順

 

kinshimaxさん

こういう疑問をもたれることができるのは、Cをかじっているから考えられることです。

yumemomo88さん

Cができれば他の言語も応用でできるからです。
逆に独学でCが理解できないのなら、PerlだろうがVBだろうがPHPだろうが理解できないと思いますヨ。

たしかに初心者(素人)にとっては、Cを使っていったい何を作る?って思うかもしれないですが、
でも何でもできる言語で基本の言語は?といわれるとCなんです。

それでもメリットが見えてこないというなら、
Cを避けて別の言語から始めるのもアリだと思いますヨ。
スクリプト言語では実現できない壁にぶち当たって、そこで始めてCに手を出すのも良いと思います。

  • 違反報告
  • 編集日時:2008/4/14 01:13:27
  • 回答日時:2008/4/14 01:09:54

sumomomomomomomomonouchikanaさん

もしスクリプト言語すすめちゃったら、簡単にマスターできてむかつくじゃん。
しかもスクリプト言語しか使えないくせにプログラマ面しちゃうなんて耐えられない。
ここはひとつ、俺が苦労して覚えた(つもりになってるが実はぜんぜん使いこなせていない)
C言語をマスターしろ。っつーか挫折しろ。そして俺の偉大さを思い知れ。
もし使えるようになったら、そんときは何でもできるC言語をすすめた俺に感謝しろ。

ってことじゃないかな。

char_winwonさん

実際、一般の(シェアの)ゲームのほとんどがC言語またはC++言語(以下C)で作られていると言われています。
DirectXもCです。

もちろん、それらに限らずCのユーザが多い理由としては、やはりプログラムが高速に動くことです。
Cを使うことでプログラムの全てを制御できるという利点もあります。
(Cが使えるとカッコいい!とか、チャレンジ精神で取り組む人もいます)

そして何より、Cを勉強することでプログラムの仕組みを深く理解することが出来ます。
これが入門に薦められる一番の理由だと思います。

私もCから始めました。一部難しい箇所もありましたが、
その時、私には「シューティングゲーム」をどうしても作りたい!という大きな目標がありました。
だから挫折せずやってこれたのだと思います。

もちろんこれは他の言語にも共通して言えることでしょう。
目標も無くただ勉強していたのではいつか絶対に挫折します。

少し反れましたが、場の空気に押されている可能性もあります。
”Cって有名だし、何十年経っても根強いユーザが居そうな感じ”といった理由です。

結論として、チャレンジ精神、DirectXを使いたい、高速に動くから、なんとなく有名だから、
といった理由が、初心者を引き付けるのではないでしょうか。

keisuke_web_designさん

私は、BASIC→アセンブリ言語→C→C++と習得してきました。
アセンブリ言語習得後に高校の授業でCOBOLとFORTRANを齧りましたが
BASICと比べてその有用性がまったく理解できなかったので、以後使う機会がなく
すっかり忘れてしまいました。
すでにアセンブリ言語を習得していたこともあり、CやC++が難しいとは思いませんでした。
むしろBASICよりも「できること」が一気に広がり、現在ではC++しか使用していません。

たしかに他の高級言語に比べると難易度は超一級です。
が、よくよく考えてみるとCやC++の難易度を上げているのは
「ポインタ」に起因する事項がすべてであり、それ以外の部分については
むしろ他の高級言語よりも格段にシンプルで覚えやすいのも事実です。
なのでポインタさえ持ち出さなければ、『プログラミングの習得』には
もっとも適した言語なのでは?と思います。

そしてポインタを使いこなすことができれば、CやC++は機械語と
1対1で対応するアセンブリ言語に、唯一取って代わることのできる
高級言語となります。実際、Cコンパイラは通常C言語でコーディング
されていますし(鶏が先か卵が先か?)、またOSを開発することができる
唯一の高級言語でもあります。
このように習得レベルに合わせて、応用の幅が大きく広がるのもCやC++の
魅力だと思います。

classiclll_jpさん

難しい事へのチャレンジの楽しみ。
多様な解釈が可能な言語仕様上の曖昧性への興味。
といったところでしょうか。

tikisukemanbooさん

どうせ勉強するなら何でもできる言語を選びたいということなんじゃないでしょうか?
Java, C# は、フレームワークやライブラリの壁を越えることができません。

言語は、何がしたいかで選ぶべきなのですが、初心者にはそれがありません。なので、
何でもできる言語ということになるのだと思います。

ただ、「何でもできる=全部自分でやる」わけで、最後まで C/C++だけで行く人は
苦労すると思いますけどね。

C/C++は現代の言語の基礎になる言語です。C/C++の言語仕様をマスターした人なら
ほかの言語を容易にマスターできます。学習用にはもってこいです。

知恵ノートとは?

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。

お客様自身の責任と判断で、ご利用ください。

話題のキーワード

[カテゴリ:C言語関連]

違いがわかる知恵袋

[カテゴリ:C言語関連]

ただいまの回答者

14時15分現在

2712
人が回答!!

1時間以内に4,725件の回答が寄せられています。

>>回答ひろばに行く


知恵コレに追加する

閉じる

知恵コレクションをするID/ニックネームを選択し、「追加する」ボタンを押してください。
※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。

ほかのID/ニックネームで利用登録する