- ベストアンサー
言語としてCを選択する理由
VB.NETをちょっとかじった初心者です。 よく「プロのプログラマーになるにはC言語を学ぶべき」と聞くのですが、なぜプログラマを仕事とするのにC言語を習得するのがいいのかわかりません。 また、「最初の言語はCがいい」もよく聞くのですが、なぜかわかりません。 どなたかC言語を習得する意義を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
C言語から始めるとなぜいいか?それは、(1)画面操作の煩わしい記述のないコンソールプログラムで学習が当たり前に書ける。(2)C++,java,C#言語に学習移行したときも、直ぐに入っていけるプログラム様式で学習できる。(3)WindowsのC言語プログラムを学習したら、ゲーム言語DirectXなどのサンプル見たときに何でそうなるのが理解できるし、C#/VB.NETで(WinAPI使用しての)グラフィック描画しているときに何でそんな手続きがいるのか等が理解できる。(4)また、本格的に制御系のハ-ド寄りの仕事をするときに使用する言語C言語(昔はアセンブラ主流)というケースが多かった。(5)最後にすばらしいコーディング規約と行儀のよいプログラムが先輩から学ぶ機会(逆もあるが)があるからです。(追記(6)C言語ははじめunixのOS記述言語として発達し、現在色々なところでOSやドライバ等の開発で活躍しています。)それからC言語はアセンブラ(機械語と1対1対応)的要素から高級言語(例、Basic言語)的要素までを表現できる優れものなんです。 そんな訳ではじめにC言語からはじめるとなんにでも展開できるような印象が持てるからそのようなことが言われるのです。
その他の回答 (4)
- yosi_yosi
- ベストアンサー率35% (165/468)
目的のものが異なれば、使用する言語も違うだけです。よってC言語を知らなくてもプロのプログラマとしてやっていけるでしょう。 ・Webアプリケーションを作るプロのプログラマにCは別に必要有りません。 ・簡単なUI部分だけのアプリケーションだとVBなどが開発効率が良いので、わざわざC(C++)を使う必要は無いでしょう。 ・リソースの限られている組み込み系だったら、VBなどは考えられません。アセンブラもしくはCでしょう。 ・OSの基幹部分ではVBなどは使わないでしょう。 などなど。 あなたが必要だと思えば、C言語を取得するのが良いでしょう。必要だと感じなければそのままでも大丈夫です。 私は一応プログラマとしてご飯を食べてますが、C/C++とアセンブラしか詳しくありません。(あとはふるーい、N88BASIC...) VBは仕事上必要ありませんので、習得するつもりは今のところありませんね。
お礼
まだプログラミングの目的も言語の特徴もさっぱりな状態ですので、この具体例はとてもありがたいです。 先に目的があって、必要なら言語習得ということですね。 とても参考になりました。 ありがとうございました。
- valvelde
- ベストアンサー率35% (46/129)
C言語でプログラムを組む必要がない限り習得する必要はないと思います。 >プロのプログラマーになるにはC言語を学ぶべき 単にC言語の仕事が多いからだと。 >最初の言語はCがいい 昔はよく聞きましたが、Javaがでてきてからはあまり聞きません。 VB.NETを使っててC言語の知識がなくて困ったことがなければ気にする必要はないと思います。
お礼
なるほど。確かに必要なときに学ぶのが一番モチベーションが上がりますね。逆に必要でないのなら必要になるまで放っておくのが手なのかも。 とても参考になりました。 ありがとうございました。
私は不便な言語だからという理由もあるように思います。 Cの標準的なライブラリには便利なものは余りありません。そうするとそれを自分で作る場合があり、その過程で多くのアルゴリズムを学ぶことができます。 VBやJavaでリンクリストとかを自分で作ることは殆どありませんよね。 (まあCでも最近はその手の良く使うやつはついてきますけどね)
お礼
それはおもしろいですね。 確かにVBやっててアルゴリズムを考えたことは無かったです。それを自分で考えて作っていくことが将来的な底力になると言うことですね。 おもしろそうです。 とても参考になりました。 ありがとうございました。
- gensuke_
- ベストアンサー率55% (5/9)
一つは、C言語をベースとして作られたC言語スタイルのプログラミング言語が 多いため、他の言語を見てもなんとなく理解できること、 もう一つは、ポインタ操作などコンピュータの仕組みを知らないと 書けないようなものがあるため、他の言語に移ったときも、 プログラムの動作がイメージしやすいからではないでしょうか。
お礼
なるほど。C言語スタイルのプログラミング言語が多いのですか。それは嬉しいです。 ポインタ操作を学んでいく事でコンピュータの基本も学んでいくことになると言う感じでしょうか。(レジスタとかアドレス指定とか?)それもすごい魅力的です。 とても参考になりました。 ありがとうございました。
お礼
第2の言語を習得するときスムーズになるケースが多いのは大きいですね。 アセンブラ的要素から高級言語的要素までを表現できる…確かになんにでも展開できるような印象を持ちました。これも非常に大きいです。 コンソールプログラムのメリットがよくわかりませんが(VBしか知らないからでしょうか)全体的にC言語に魅かれました。 とても参考になりました。 ありがとうございました。