No.5ベストアンサー
- 回答日時:
どのプログラミング言語がどのような用途に使われるかは、それぞれのプログラミング言語が開発された時代背景を知ることで理解できるのではないかと思います。
http://ja.wikipedia.org/wiki/%E3%83%97%E3%83%AD% …
C言語は、UNIXの移植性を高めるために開発されたことから判るとおり、非常にハードウェアよりな低水準処理を記述でき、かつ、移植性も高いという特徴があります。C言語は構造化プログラミングの概念が盛んな頃に開発されましたが、後にオブジェクト指向という概念が生み出され、C言語をオブジェクト指向に拡張したC++が開発されました。
今でもOSを開発する場合に使用するプログラミング言語はほぼ間違いないくC/C++ですし、OSとかかわりが深くハードウェアと直接やり取りするデバイスドライバの開発もC/C++の独壇場です。また、マイコン等の小さなCPUで機器を制御する組み込み系のプログラミングも、圧倒的にC/C++で行われています。
C/C++以外の代表的なプログラミング言語とその用途を挙げます。
FORTRAN:
歴史的には古い言語に見えますが、スーパーコンピュータ上で科学技術計算をするときは未だにFORTRANが主役です。地道な改良と豊富なライブラリに支えられています。
COBOL:
この言語もFORTRANに次いで古いですが、銀行などの会計システムは未だにCOBOLです。
Perl:
強力な文字列演算機能を持ち、webサイト上で動くCGIを開発する用途で一気に広まりました。blogシステムの代表格であるMovable TypeはPerlで記述されているそうです。(一部PHP)
Microsoft Visual Basic:
Microsoft Windows上で動作するアプリケーションを開発するための言語(と開発環境)で、フォーム(ウィンドウの土台)に部品を貼り付けることで簡単にGUIプログラムを作ることできます。私たちが普段Windows上で使っているプログラムのなかには、VBで作られたものも少なくありません。
Java:
C/C++に似た文法を持つ、本格的なオブジェクト指向言語です。Javaで書かれたプログラムはJavaVMという仮想マシンの上で動くため、JavaVMがあればOSに依存しません。GUIから通信、データベースへのアクセスなど非常に幅広いライブラリを有しています。PC上で動くJavaアプリケーションもありますがあまり多くはありません。webサーバ上でサービスを提供しているプログラムがJavaで書かれていることもよくあります。DoCoMo携帯の上で動くiアプリも、Javaプログラムです。
No.4
- 回答日時:
#3さんの例えはVB(Windows限定)とC/C++でしょうね。
C++はCに対してプラス機能(オブジェクト指向など)を付けたものって
感じですので
C++もCも汎用性が一番高いけどその分機能が完璧な習得は不可能でしょうね。(ANSIのC言語辞典のANSI規格上の関数すべて覚えていて完璧に
使いこなせる人いたらすごいですよ。)
C/C++初心者が一番最初にぶつかる壁はポインタあたりかな。
Windowsアプリを作る場合確かにC++は便利ですが
ソフトハウスでは効率重視の場合が多いです。その場合
どうしても短期間で開発が容易なVBを選ぶ場合が多いですね。
PCショップで販売しているパッケージソフトの多くでは
VC++あたりで開発が多いですね。
No.3
- 回答日時:
C++の表現力はすごく豊富です。
汎用機の一部でよく使われたPL/Iという言語がありますが、「PL/Iをマスターした、とはナカナカ言えない」といわれるほど機能豊富でした。そのPL/Iと比較しても、C++は豊富な機能を持っています。で、「ほぼマスターした」と言えるのはとても難しいと思えます。
例えば、Cプログラマがタクシーのドライバとすると、C++プログラマはF1レースのドライバ能力を要求される気がしています。
タクシードライバを10人用意することは簡単でしょうが、F1ドライバを10人集めるのは困難ですよね。
ですので、入れ替わりの激しい派遣SE・PGなどを利用するシステムでは、C++での開発はちょっと難しい気がしています。
そして、C++の適正用途ですが、「複雑」「でかい」「速い」を要求されるような高度なシステムに向いています。
ですので、たんなる演算だけとか、ウインドウからデータをもらって、経理等の一般的な事務処理には、C++向きではないかもしれません。ただ、C++コンパイラーの使いやすい機能だけを利用するという意味で、C++が使われることも多いと思います。
で、会社の人々(派遣多し)の机の書籍を見るとC言語の本がほとんどのようです。それは上記の理由を考えると納得です。
結局、「C++はいい!」とSE・PGが考え、上司も納得するなら「C++あり」でしょうけど、「C++はいいのはわかる。でも、F1クラスの貴方が辞めたら、残りは一般ドライバーばかりだよ」と上司が考えたら、(C++コンパイラを使うかもしれないが)C++の選択は無いでしょうね。
No.2
- 回答日時:
> このレベルだとC++の特性や私たちが普段使っているプログラムが
> どのように出来ているのか想像すら出来ません。
「プログラムが想像できる」ってのは言語以外の問題が多いと思いますが、
別の言語なら想像できるのですか?別言語でできるならC++でもできそうですし、
別言語でできないならC++でもできないように思います。
C++が向いてるのは、処理性能が要求されたり、リソースが制限されたりする処理全般だと思います。
「GUIに応答性能が要求される場面」ならC++が向いていると思いますが、
「GUIの速度は要求されずに簡単に表示したい」なら不向きです。
システム用言語ってのは、ある程度汎用的に、それなりの処理をそれなりの速度とリソースで実行できるのが強みでです。
# メモリ管理を自前で厳密にできるとか、サイズが予測できるとか。
向き不向きの肝は「性能要求」で、「機能」だけでは決まらないと思います。
「記述のお手軽さ」より「性能要求」が大事な場面が、C++の向きです。
結果、C++の特性が生きるのは、ミドルウェアとかファームウェアとか、オペレーティングシステムとか、(何かの)処理エンジンとかになってきます。
いまだC言語が強い分野で、オブジェクト指向とか大規模開発とかしたい場合とかですね。
No.1
- 回答日時:
人によって答えは違うと思う。
それぞれに特徴があるし。
演算ならFORTRANとかあるしデータ処理ならCOBOLとかだってあるし。
GUIだけならpythonやtclの方がずっと簡単。
でも、ゲームプログラミングはCやC++が多いと思う。PSとか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- C言語・C++・C# 参考にいろいろとc言語、c++言語プログラミングでレジストリーを操作したいのですが、無料配布のc++ 3 2022/12/22 01:49
- その他(プログラミング・Web制作) プログラミングについて(Python) 添付した画像はC言語で簡単に作ったソースで、1つの配列に5つ 3 2022/09/10 19:15
- C言語・C++・C# 画像の画素値を変えるC言語のプログラムで指定された画像の中に白い三角形を右上に表示させるにはどのよう 3 2022/10/30 01:16
- C言語・C++・C# exeファイルが作れない(windows10) 6 2022/08/13 08:47
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- その他(言語学・言語) ピダハン語 2 2022/07/14 12:41
- C言語・C++・C# 至急教えてください!プログラミングの問題です。 割られる整数と割る整数を受け取って、商と余りを出力す 3 2022/07/05 10:23
- 友達・仲間 質問ではなく相談なのですが聞いて頂けますと幸いです。 私(A子20代)にはよく一緒にゲームをやるフレ 3 2022/04/15 03:42
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・プリン+醤油=ウニみたいな組み合わせメニューを教えて!
- ・タイムマシーンがあったら、過去と未来どちらに行く?
- ・遅刻の「言い訳」選手権
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・ハマっている「お菓子」を教えて!
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラムからアイコンファイ...
-
C言語、C+、C++、C#の違い
-
COBOLでのNOT = の AND条件
-
UNITY Float型の接尾辞fって
-
Excel VBAで文字化けする (英語...
-
ゲームは何文字のプログラムで...
-
C言語を勉強していますがWindow...
-
VBSでDim、Private、Publicの違い
-
vbaとc言語の関連性について
-
今ってプログラミング言語は何...
-
UWSCはどのプログラミング言語?
-
パスカルケースの由来。
-
TANDEM言語ってあるんですか?
-
FORTRANと他の言語(c、c++、ba...
-
COBOLで文字タイプを数字...
-
VBScriptで引数を省略したい場合
-
プログラムに書かれる"%"記号の...
-
プログラマーのフリーランスと...
-
C++ ってなんて読む?
-
【Cか】ノベルゲーム【Jav...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
COBOLでのNOT = の AND条件
-
UNITY Float型の接尾辞fって
-
プログラムに書かれる"%"記号の...
-
vbaとc言語の関連性について
-
C言語とhtmlの違いを どな...
-
C++における継続行
-
プログラムからアイコンファイ...
-
TO_CHARで小数点以下がある場合...
-
COBOLで文字タイプを数字...
-
パスカルケースの由来。
-
VBSでDim、Private、Publicの違い
-
Excel VBAで文字化けする (英語...
-
VBSとWSHは読み方が違うだけで...
-
VBScriptで引数を省略したい場合
-
Solve()とは、なんですか?
-
プログラムははぜ小文字大文字...
-
今、コンピューター言語で、COB...
-
C++ ってなんて読む?
-
HTMLとC++で、どんなホームペー...
おすすめ情報