

現在C言語を勉強中なのですが、C言語自体の将来性はどのくらいあるのでしょうか?
せっかく勉強するので、できれば将来性のある言語に重点を置いて学習したいと思って
います。
よくC言語は枯れた技術だと言われることが多いのですが、これからはC++やJava等が
使われることが多くなり、C言語はあまり使われなくなる言語なのでしょうか?
現状はゲーム分野や組み込み分野ではC言語は現役バリバリに使われていると
聞いているのですが、今後はJavaやC++といった言語がこういった分野でも
主流になってくる(C言語に取って代わる)のでしょうか?
C言語自体、あまり将来性がないようであれば、今後勉強するに当たって、
C言語をとことん追求するよりも他の言語に学習の重点を移行させたいと
考えています。
私自身はプログラムを勉強し、将来はゲーム制作あるいは組み込み分野の
開発に携わりたいと思っています。
こういったことに詳しい方がおられましたら、ぜひ教えて頂けないでしょうか?
No.12ベストアンサー
- 回答日時:
組込み系のソフト開発をしている者です。
業務は、ほぼ C だけです。
# アプリグループの中には C++ で開発しているところもあると聞きますが、
# 詳細はよく知りません。。。
# ちなみに、私は下回り (通信関係のプロトコル制御まわり) をやっています。
まずは、何でもいいので、一つの言語を極めるくらいまで勉強してみてください。
今、C の勉強をされているのであれば、C を極めてみましょう。
ま、極めるというのは大げさかもしれませんが、文法のことで質問することがなくなるくらいにはなりましょう。
特に C であれば、配列、ポインタ、構造体、できれば共用体といったところをしっかりとマスターしましょう。
# そうそう、組込み系であれば共用体は必須だと思ってください。
一つ言語を知っていると何が良いかというと、比較の基準ができることです。
今せっかく勉強している C を勉強しているのであれば、それをがんばってみてください。
将来性云々の話は、いろいろな方々が回答されているとおりあまり意識する必要がありません。
大事なのは、一つの問題に対して、どのような手順で解決すればよいのか、という「考え方」を学ぶことです。
No.11
- 回答日時:
言語は何であれ、問題をどのように認識し、それを、どういう順番で処理するという基本的な考え方こそが大事です。
C言語を勉強するのではなく、プログラムを作るときの「考え方」を勉強するのであって、その時に何も言語を指定しないと実行して確かめることが出来ないので「たまたま」C言語を使っているだけでしょう。
No.10
- 回答日時:
仕事でプログラミングやシステム構築やネットワーク構築やってる者です。
みなさん書かれている様にC言語は基本でしょう。
UNIXってOSは何で書かれているかご存じですか?
Cです。
なのでその上で書かれるアプリとの親和性も良いです。
Cを知らなきゃC++無理でしょ・・・
>私自身はプログラムを勉強し、将来はゲーム制作あるい
>は組み込み分野の開発に携わりたいと思っています。
個人的な意見ですが、情報処理技術者試験の基本情報をCASL(アセンブラ)で合格する様、頑張りましょう。
私はCHILLと言う電話交換機専用の言語とC、C++を経験してますが、CHILLではデバッグの時アセンブラとマシン語でやってました。
修正パッチはsourceではなくアセンブラを書いて自分でマシン語変換して入力していたおかげで、『何故コンピュータが動くのか?』ってことには、今の高級言語しか知らない若い技術者さんよりは長けていると思っています。
基本を知ることがこの世界では大事です。基本がわかっていれば応用できます。幸いC言語はポインタという者があり、どちらかと言えば今の世界では低級言語に近いです。
アドレスやメモリ空間の概念を知らずして上は目指せないし、問題発生時の対処は出来ません。
それのC出来ればどんな環境でもちょっとしたツール作るのに便利だよ。。みんなそうじゃないのかな?
C++、Java、C#なんてのはその後でもいいんじゃない?
いきなりオブジェクト指向やると基本が解ってないので、メンテしづらいめちゃめちゃなコーディングする人になっちゃうよ・・・
No.9
- 回答日時:
将来性は無いでしょうね でもプログラムを
勉強するのには今は必要でしょう
私は40年プログラムに携わっていますが
特定な言語はあまり必要はありません
しかし自分の置かれた環境は常に特定な言語でしたね
それと同じでプログラムを学ぶ必要があるのに
C言語を学ばなくて何を学びますか
貴方の環境にある言語はそんなに沢山ないでしょう
常にプログラムを学ぶことを自覚しましょう
言語は環境なのです
No.8
- 回答日時:
現役の火星探査機の制御プログラムはC言語で開発されています。
理由は「枯れた技術」だからです。
皆さんが指摘されているように、
1.「枯れた技術」は褒め言葉です。
2.プログラムの実行環境はメモリやCPUの能力がふんだんに使える環境だけではありません。(特に機械の制御は)
3.プログラムの開発は「いかに物事を整理して順序立てられるか」が問題であり言語の種類にはあまり関係ありません。
ですから、C言語をマスターすることは無駄になりませんよ。
No.7
- 回答日時:
言語なんて基本は同じ。
使えといわれたものか、目的に適したものを使う。
知らなければその場で勉強する。
あえて知っておくとすれば、C++, JAVA。
つぶしがききます。
No.6
- 回答日時:
C++はCの拡張であって、Cの(多分、ほぼ)全てが含ま
れていますから、今後ゲームや組込でC++が全盛となっ
ても、Cがすたれたというのとはちょっと違うと思い
ます。
枯れるについては、それ自体には不具合が出尽くし
て安心して使える(応用できる)ようになった、とい
う理解です。
Javaですが、C/C++でのポインタ(=アドレスアクセス)
による高速処理の優位性が無くなるとは考えられな
いので、C/C++が無くなってJavaになるとは思えませ
ん(JavaはC++に似てますが)。ですから、ゲームや組
込にはCは相変わらず必須と思います(できればアセ
ンブラも)。
No.5
- 回答日時:
C言語は昔から使いやすく
今でも十分使える言語一つです。
たぶん、色々と言語出ていますが
やはり、BASIC、Fortran、Cなどの
ベースで出来ていると思われるので
習得しておいていいと思える言語です。
No.4
- 回答日時:
私は科学者としてC言語を使用していますが、gouf-ms07bさんが記述されているように、現在ではFortranの代替としてC言語が主に使用されていると思います。
私はC++やJAVAを覚えていませんので、軽く聞き流す程度で読んでいただければと思います。C言語を勉強していて「得をしたな」と思うことは、現在使用されているグラフィックライブラリなど、言語内で参照する便利な関数群(OpenGLなど)がC言語系の言語で書かれていることが多いので、理解するのが非常に簡単であることだと思います。使用する際にもなんの違和感もなく自分の作成した関数のように使用できます。ゲームプログラミングをされるのであれば、この手の能力は必要かと思います。
C++に関しては私は勉強していないので、なんともいえませんがC言語を知っている人が覚えると最初は変数定義などで戸惑うらしいですが、覚えてしまうと「もう手放せない」という感覚を覚えるそうです。
もし1から覚えるのであれば、やはり「大は小をかねる」という乱暴な議論ですが、C++を覚える方が良いのではないでしょうか。本質的にはC言語と変わらないはずですので、上に書いたような能力は身につくと思われますし、現在勉強されているC言語の知識も生かせると思います。
JAVAについては全く知りません。あしからず。
追伸:私もそろそろC++を覚え始めようかと考えております。
[引用]
C++に関しては私は勉強していないので、なんともいえませんがC言語を知っている人が覚えると最初は変数定義などで戸惑うらしいですが、覚えてしまうと「もう手放せない」という感覚を覚えるそうです。
[引用]
一度、C++にも手を出したことはあるのですが、オブジェクト指向に関する
知識が不十分だったためか、どうもクラスを煩わしく感じてしまい、
あまりメリットを感じなかったことがあります。
オーバーライドやポリモーフィズムはちょっと便利かなとも思った
のですが、「手放せない」ほどのメリットは感じませんでした。
私の知識不足が原因ですが、まだまだ修行不足を痛感しました。
No.3
- 回答日時:
はじめまして。
自分も学生時代(10年前)から同じ様な事を
言われてました。
でも、今でもC言語は色々な分野で使用されて
いますので、勉強しておいて問題は無いと思います。
JavaやC++は確かに使い勝手は良いですが、現在
色々な分野での開発者はCで制御をしている様なので
まだ、10年くらいは現役では無いのでしょうか?
自分は産業機械の開発をしていますが、9割Cで
制御しています。
Cを越える言語は当分でないのでは無いのでしょうね
仮にCが無くなるとしても、一気に無くなる訳では
ないので、急に明日から職に困るとまでは行かないと
思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- 数学 C言語と将来性 7 2022/10/13 16:49
- IT・エンジニアリング FORTRAN、COBOL、C、Java、C++とか誰が作ったのですか?言語習い使いまた出て、キリが 4 2023/05/06 23:11
- その他(言語学・言語) ピダハン語 2 2022/07/14 12:41
- IT・エンジニアリング バックエンドエンジニアに転職 2 2022/04/07 00:51
- IT・エンジニアリング c言語とjavaの需要について 3 2022/06/23 22:59
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- 高校 テスト勉強について 中間テストの結果がかえってきたのですがあまりよくありませんでした。 現代の国語と 2 2023/06/05 00:46
- 哲学 日本語は 言語類型として あたかも始原のごとくである 3 2022/05/29 04:41
- C言語・C++・C# 参考にいろいろとc言語、c++言語プログラミングでレジストリーを操作したいのですが、無料配布のc++ 3 2022/12/22 01:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLとC++で、どんなホームペー...
-
スプレッドシートの作成
-
gtkでビープ音
-
vbaとc言語の関連性について
-
軌道計算
-
C言語、C+、C++、C#の違い
-
NET Frameworkってなんですか?
-
計算速度の速いC言語を教えてく...
-
C言語から呼び出し可能なXM...
-
UNITY Float型の接尾辞fって
-
PHPってハッカー達にとっては必...
-
EUC-JPとShift_JISのどちらがい...
-
プログラミング言語の住み分け...
-
C言語を覚えたいのですが
-
関数のファイル名指定で変数を...
-
チューリング完全とは何か?
-
C言語の画像処理として使われ...
-
プログラム言語・スクリプト言...
-
ホームページビルダーの超簡易...
-
プログラムからアイコンファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
プログラムからアイコンファイ...
-
C言語とhtmlの違いを どな...
-
COBOLでのNOT = の AND条件
-
プログラムに書かれる"%"記号の...
-
UNITY Float型の接尾辞fって
-
C++における継続行
-
COBOLで文字タイプを数字...
-
UWSCはどのプログラミング言語?
-
Excel VBAで文字化けする (英語...
-
VBScriptで引数を省略したい場合
-
vbaとc言語の関連性について
-
VCとVC++
-
TO_CHARで小数点以下がある場合...
-
パスカルケースの由来。
-
VBSでDim、Private、Publicの違い
-
C++ ってなんて読む?
-
C for Linuxでの設定ファイル読...
-
VBSとWSHは読み方が違うだけで...
-
VB.NETからC言語への乗...
おすすめ情報