• ベストアンサー

プログラム言語別用途

僕は、Javaはweb系のアプリに使われると聞きました。 VBは画面を作るときに使うと聞きました。 C言語は、汎用や制御系に使われるとネットなどで見ました。 C言語がいまいち何に使われるのかがわかりません。 ゲームとかにも使われるんですよね? C言語は汎用とありますが、webでは使うことはできないんでしょうか?webはJavaとかperlになるんでしょうか? もし、自分がweb系をやりたいのに、C言語を勉強するのは違うレールを走っていることになるんでしょうか?(Javaを勉強する前に、C言語をやっておくと入りやすいは抜きにして) C言語を使った業務って例えばどんなものを開発するんでしょうか?例えばどんなものでしょうか?業務用のアプリとかはちがうんですか? 例えば、病院などの患者のデータベースのようなものは。 またVBは画面を作ると聞いたのですが、画面?ってかんじです。画面しか作れないのですか?そんな事ないですよね?本当に画面だけですか? また、C言語で画面は作れないんですか? もし、C言語でゲームを作れるとしたら、ゲームの画面はC言語とは別物なんでしょうか? 例えば、エクセルやアクセスのように、入力欄に名前や数字を入力してそのファイルを保存するような形のアプリはC言語では作れないんでしょうか?画面がありますよね?ってこはVBになるんですか? どのような言語では、どんなアプリが作れるかや、 どんなアプリでは、この言語になるっていうのがいまいちわかりません。 皆さんは就職の際に、自分の作りたいものの言語が、たまたまJavaを使ったものだったや、C言語を使ったものだったといった感じなんでしょうか? それとも、Javaは嫌いで、C言語がの方が好きだからweb系の道に進まなかったといった感じなんでしょうか? それとも、web系だろうが、そうでなかろうが関係なくアプリを作りたかったからって感じなんでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

はじめまして。 ゲーム開発の仕事をしています。 >C言語がいまいち何に使われるのかがわかりません。 >ゲームとかにも使われるんですよね? PS2等のコンシュマー、Windowsの市販パッケージソフトは C/C++で作られています。 コンシュマーの場合それ以外の言語の開発環境が無かったりします。 >C言語は汎用とありますが、webでは使うことはできないんでしょうか?webはJavaとかperlになるんでしょうか? Cでも可能です。ただ開発効率が悪いため、あまり使われないだけです。 >例えば、エクセルやアクセスのように、 >入力欄に名前や数字を入力してそのファイルを保存するような形のアプリはC言語 >では作れないんでしょうか?画面がありますよね?ってこはVBになるんですか? エクセルやアクセスはVC++で作られています。ただし画面に表示する機能 はC言語のものはなくOS(Windows)から提供されています。 >どのような言語では、どんなアプリが作れるかや、 >どんなアプリでは、この言語になるっていうのがいまいちわかりません。 どの言語を使っても、そのアプリが作れないということはありません。 JavaとC言語を比較するとこんな感じでしょう。 C/C++・・・OSに依存する。ただしOS上で可能なことを全てできる。実行速度が速い。開発効率が悪い。 Java・・・OSに依存しない。Javaの実行環境内で処理をする。実行速度が遅い。開発効率が良い。 >皆さんは就職の際に、自分の作りたいものの言語が、たまたまJavaを使ったものだったや、 >それとも、Javaは嫌いで、C言語がの方が好きだからweb系の道に進まなかったといった感じなんでしょうか? >C言語を使ったものだったといった感じなんでしょうか? >自分がweb系をやりたいのに、C言語を勉強するのは違うレールを走っていることになるんでしょうか? 私の場合ゲーム開発にはC/C++が必須だったということです。 javaやvbも好きですし、趣味では使っています。 逆にweb開発専門の会社でC言語を必要とするところはあまりないでしょう。

noname#114571
質問者

お礼

お返事ありがとうございます。 ちょっとわからないところがあったのですが、 >例えば、エクセルやアクセスのように、 >入力欄に名前や数字を入力してそのファイルを保存するような形のアプリはC言語 >では作れないんでしょうか?画面がありますよね?ってこはVBになるんですか? エクセルやアクセスはVC++で作られています。ただし画面に表示する機能 はC言語のものはなくOS(Windows)から提供されています。 のところの、「画面に表示する機能はC言語のものはなく、OSから提供されています。」 の、OSから提供されているっていうのはどういったことでしょうか? 宜しくお願いします。

その他の回答 (5)

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.6

>OSのしくみをしるのにはどういった勉強がいいでしょうか? とりあえず、勉強するなら実際プログラムを 組んでみるのが良いでしょう。順序的に C言語をまず理解してください。 いきなりすべてを知ることは無理です。 Windows自体もC/C++とアセンブラで書かれているのです。 (ちなみにWindows2000は約3500万行あったらしい) コンパイルとは http://www.doumo.jp/postgretips/tips.jsp?tips=11 無償C/C++コンパイラ http://www.borland.co.jp/cppbuilder/freecompiler/ C/C++の基礎及びWindowsプログラミング http://www.kumei.ne.jp/c_lang/ 基本的にWindowsはブラックボックスですが C/C++でGUIのプログラムを組めば流れは見えてくるはずです。

noname#114571
質問者

お礼

お返事ありがとうございました。 サイトまで教えていただきありがとうございます。 ちょっとやってみようと思います。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.5

>>Windowsの市販パッケージソフト >などとありましたが、それでは、C言語を使ったソフトを開発するのは、 >Javaなどに比べたら難しいのでしょうか? >(僕の勝手なイメージで市販されてるソフトは頭の >良い方しか作れない^^;という、イメージがあって) C/C++そのものがメモリアドレスを直接扱うという点で 他の言語に比べると敷居が高いかもしれません。 その代わりOSの制限内で行えることは何でも可能ですし C++のソースにはアセンブラを併用して記述する事も可能です。 またパッケージソフトを作る場合、ある程度OSの仕組みも 把握していけなければいけません。

noname#114571
質問者

お礼

お返事ありがとうございました。 OSの仕組みも把握しておかなければとありました、 OSの仕組み・・・・・。OSのしくみをしるのにはどういった勉強がいいでしょうか? そういった本が売っているんでしょうか?今まで本屋さんでは見たことがないです・・・・・。 インターネットなどで、検索かけると出てきますか? 検索してみますね。

  • kaeru_007
  • ベストアンサー率22% (8/36)
回答No.4

プログラミング言語は道具であり、目的にそって選ぶものです。 ”この言語ではこれは出来ない”というよりは、”これがしたいなら、この言語が楽”という判断基準になるわけです。 ちなみに、言語の中でもC言語(UNIX-C)は高級アセンブラとも呼ばれていて、特殊です。 いまどきの言語の一種に含めて話すのが誤解の元のような気もします。 アセンブラの拡張言語ですから、便利な機能などは何もありません。 だからこそ、「で、なにに使うの?」と思われたのかと思われます。 色々な言語が普及している現在では、ハードに依存した処理を書く場合以外には使う利点もありません。 画面を伴うようなアプリケーションでは「画面」が必須となりますが、C言語には画面を扱う機能が殆ど用意されていないため、その部分をVB、VC++、HTMLで作成するのが一般的です。 ただ、マーケット的にはJavaの技術者が少ないため、代替としてC言語が使われたりしています。 仕事で構築するような大きいアプリケーションでは、 画面はVBかHTML、サーバ処理はC、もしくはJavaという感じでしょうか。 言語の違いは、アセンブラ以外は殆ど大差ないと思ってください。 ただし、Javaはオブジェクト指向での開発となるため、C言語(UNIX-Cの場合)になれてしまうと、Javaに慣れるのに若干面倒な事になります。 なるべくなら、Javaを先に学ぶのがいいでしょう。 当面、何の言語を勉強すべきかについてですが、 Web系の仕事を目指すなら、Javaをお奨めします。 ゲームプログラマを目指すのであれば、Cをお奨めします。 VBは・・・、必要になった時に急にでも覚えられるので、わざわざ勉強する必要はないでしょう。 最後に、これは一方的なアドバイスですが、 マーケット的にはJavaの技術者が全然足りていません。 どの会社もJavaの技術者が欲しい状況です。 つまり、フリーランスのエンジニアになる気が少しでもあるならば、Javaの経験があるかないかで収入が全く変わって来ることを覚えておいた方がよいです。 というわけで、一人前になったら、 是非うちの会社に来て下さいw

noname#114571
質問者

お礼

お返事ありがとうございました。 web系についてもう少しお聞きしたいのですが。 web系って具体的に例を挙げるとすればどのようなものなんでしょうか? ネットバンキングやネットショップなどですよね? 他にはどういったものがあるんでしょうか? また、こういったものをJavaで開発するんですよね? また、病院などの患者のデーターやレンタルビデオなどのお客のデーターや借りた日や返却日予定日などを管理するソフトなどはC言語で作って、画面などはVC++などで作るんですか? よろしくお願いします。

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.3

>OSから提供されているっていうのはどういったことでしょうか? C言語の規格そのものには、グラフィック描画 (例えば線を描く等)の命令は一切用意されていません。 画面を描画するというのは、OSに依存するものなのです。 (ウインドウの描画の優先順位等をOSが管理している為) Windowsを例にした場合、Windowsには API(Application Program Interface )という、 OSとの架け橋みたいなものがグラフィック描画を仲介します。 C言語ではグラフィック描画のAPIを呼び出すことで線を描いたりすることが 可能になるのです。 ちなみにVBやJavaも、グラフィックを描画するには このAPIを呼び出しています。 しかしC言語と違いVBやJavaでプログラムする場合 それを意識することはほとんどありません。 (VBやJavaでは自動的にやってしまうと言えば分かりやすいでしょうか) またVBやJavaで作ったソフトをWindowsで動かすには VBのランタイムやJavaのランタイムを 事前にインストールしていなければ動きません。

noname#114571
質問者

お礼

お返事ありがとうございました。 なんとなくですがイメージできました。 C言語は、 >Windowsの市販パッケージソフト などとありましたが、それでは、C言語を使ったソフトを開発するのは、Javaなどに比べたら難しいのでしょうか?(僕の勝手なイメージで市販されてるソフトは頭の良い方しか作れない^^;という、イメージがあって)

回答No.2

たくさんのことを聞かれていますが、まず、プログラマ(SE)としての現状としては、ゲーム製作・自社パッケージ部門などの専門部門でもない限りは、複数の言語を使用することが多いです。 私も、VB,Java,C#,PHPでの開発を経験しました。学生時代はC/C++をやってました。 C→Java→C#なんかは勉強としては、入りやすいです。いずれにしても、Javaはやることになると思います。 コードも書けないくせに、「Javaはいい」などと声を上げてる管理職のおっちゃんは多いです(笑)。また、顧客もJavaを好む傾向があります。よほど、聞こえがいいのかも。逆にVBというだけで、「大丈夫?」みたいなことも言われたりします。根拠はないように思えます。 当然、下っ端のころに開発言語の決定権などありませんので、従うことになりますね・・・。

関連するQ&A