![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんばんは。
私は趣味でプログラミングを勉強している者で、Perl、PHP、JavaScriptをWebで役立てられるぐらいまでには習得できました。
現在Javaを勉強しているのですが、ここで質問です。
PerlやPHPはホームページ制作を実現する事が出来ますが、CやJavaなどのプログラミングは習得した後、どう役立てればいいのでしょうか?
私はCやJavaはWindowsアプリケーションを制作するためのものだと思っていたのですが、どうも違うようですし・・・(winアプリはVBが良い?)
入門書を読んでもコマンドプロンプトでforやらifやらプログラムの仕様を学ぶだけで、その後どういう風に役立てるのかが分かりませんでした。
ファイルの書き換えならPerlやPHPでも十分出来ると思いますし・・・。
CやJava等のWeb系じゃないプログラムの特徴や使い道?(何に向いているかとか)を教えていただけないでしょうか。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
IT屋の者です。
私の経験知ではこんな感じです。
1.C++、C
機器制御(携帯電話、デジカメ、ゲーム機、デバイスドライバ
液晶テレビファームウェア、エアコン、炊飯器、PDA、
生産プラント、ロボット制御…)
OS、サーバソフトウェア
※細かい制御に向き、高速、低容量ですが、大量に書く必要が
あり作るのが遅いです。このジャンルの仕事は高給です…。
2.JAVA(LINUX系)、C#・VB(WINDOWS系)
企業向け業務アプリケーション、データベースアプリケーション
※DB等の特化したソフトに関しては開発環境が整っているため
バグが入りにくく高速に作成することができます。
商用DBによくつなげるのでライセンス料が発生。
高速・安定ですが、一般向きには費用面で向きません。
3.PHP、PERL系
一般向けアプリケーション、広告、宣伝
※オープンソース系のため開発環境がテキストエディタなど
貧弱ですが、オープンソースDBによくつなげるのでライセ
ンス料が不要。スケーラビリティがあります。
Webアプリとローカルアプリの違いは。
ソースコードをローカルアプリのテキストエディタで作るか、
ブラウザの入力欄で作るかの違いで。
(当然ブラウザ側は、戻るボタンを押してもソースが消えるので
怖くてNGですよね?)
共有性があまり必要でなく、信頼性の高いデータを捏ねるのに
向いています。
また、オープンソース系と商用系の違いは。
単純にライセンス費用面+製造物責任の部分であり。
オープンソース系は調達費用が安いものの、誰しもオープンソースを
知らないので意外に長期運用コストがかかること。
金融データなど実害を直接伴うデータを大量に安全に保管するのには
リスク判断で向かないこと。
(OSやDBの部分で責任を取る会社がいない。)
商用系はその逆です。
以上です。
いかがでしょうか?
クライアント数ライセンスが
ご回答ありがとうございます。
Cは機器制御が主なんですね。
電気関係は少々疎いので宝の持ち腐れになりそうです。
Windowsアプリを作るのだったらJava→VBに進むのがいいのかな?
なんとなくプログラムのイメージがつかめました。
ありがとうございました。
No.5
- 回答日時:
・C/C++
ハードウェア制御
クライアントアプリ
・Java
サーバサイドアプリ
一部クライアントアプリ
有名な開発環境のeclipse+SWTはJavaで作られています。
OpenOffice.orgの一部機能はJavaが用いられています。
ちょっと前からJavaもJavaVMではなくネイティブコンパイラが登場してきている。
GUIのみネイティブ化できるSWTもある。
・C#/VB.NET
.NET Framework上で動くアプリ開発ができる。
現状でフル機能で動くのがWindows版しかないが
一応他のOSでのフレームワークも有志により開発されている。
・VB(6以前のもの)
Windows専用。
ランタイムが必要。
VISTAも対応している。(VB6の後からでた.NETは非対応になったが)
VC++と比べると開発効率がよくソフトハウスでよく利用されていた。
・Perl/PHP
Webアプリ。
またはPerlは文字列処理に強いので(ただしこの強いとする正規表現も他の言語に移植されてきている。)文字列処理用のスクリプトとしても利用される。
>Webアプリとローカルアプリの違いは。
>ソースコードをローカルアプリのテキストエディタで作るか、
>ブラウザの入力欄で作るかの違いで。
>(当然ブラウザ側は、戻るボタンを押してもソースが消えるので
> 怖くてNGですよね?)
まったく違う。
Webアプリとローカルアプリだろうがソースコードは普通のテキストエディタで開発できる。
>金融データなど実害を直接伴うデータを大量に安全に保管するのには
そういうところはメインフレームなどのハードと専用OSとそれ専用に開発されたアプリのセットで利用されていますから
オープンソースが元々入り込む余地なんてありません。
ただしメインフレームでもLinuxなんかが仮想OSとして動くようになっていますけどね。
>(OSやDBの部分で責任を取る会社がいない。)
そんなこといったらどの会社もLinuxもFreeBSDも使わなくなりますよ。
>オープンソース系のため開発環境がテキストエディタなど
> 貧弱ですが、
この場合のオープンソースはできあがったアプリのことを行ってるのか
Perl/PHPのインタプリタそのものを行っているのか知らないけど
前者ならオーブンソースとして公開すればオープンソースだけどそうでなければオープンソースではない。
後者にしても統合環境はいくらでもある。
そもそもC/C++にしてもVC++なんかはIDEだけどgccとかの場合は単純なコンパイラだから別途自分でテキストエディタを使うかIDEを探すしかない。
どっちにしてもオープンソースの意味をまったく理解していない。
No.4
- 回答日時:
>ファイルの書き換えならPerlやPHPでも十分出来ると思いますし・・・。
確かにそのとおりですが
作ったプログラムを別マシンに持っていく際
Windows用に作れば別なウインドウズにそのコンパイルされたプログラムを"コピーするだけ"で動きますからそのあたりは利点かと、
(PerlとかPHPって環境インストールしないと実行できませんよね?)
>入門書を読んでもコマンドプロンプトでforやらifやらプログラムの仕様を学ぶだけで、その後どういう風に役立てるのかが分かりませんでした。
これは言語そのものを学ぶ段階で、アプリケーションを作成する段階は次の段階となると思います、
次の段階は
ウィンドを表示したりするのは各OSごとの機能ですので
OSごとに対応したライブラリなどを勉強する必要があります、
ここまでくればアプリ作成!
となるでしょう。
その際構築環境を何にするかなどを考えることになると思います。
>winアプリはVBが良い?
手早くウィンドアプリが作りたいならそれがいいでしょう。
ご回答ありがとうございます。
実行環境の事をすっかり失念していました。
なるほど、アプリケーションを作成するには、次はOSライブラリの勉強をするのですね。
アプリを制作する段階の書物が見つからなかったので、指針になりそうです。
とりあえずJavaでWindowsアプリを作成する書籍「新基準Javaプログラミング アプリ作成でやさしく身につく徹底入門」が見つかったので、これをやってみようと思います。
ありがとうございました。
No.1
- 回答日時:
言語によって得意なもの、不得意なもの、長所、短所があります。
基本的に自分がやりたい用途にあった、また現時点での習得レベル、好みの言語、等を基準に開発言語を選べば良いかと。
Cは幅広く作れるものがあります。OSレベルまで踏み込んだソフトウェア作成とか。
また、Cを知っていれば他言語にも移りやすいと言われています。
JAVAの利点は環境依存しないところです。
Cはソフトウェア作成のイメージが強いですね。
使い道は自分が求めてる機能をもつフリーソフトが無かったときに自分が作れるくらいですかね。
質問者様がWEB構築のためにPHPなどを勉強してアウトプットするのと同じで、Cを勉強してかゆいところに手が届く自分好みのソフトをアウトプットするのと、アウトプットが違うだけかと思います。
ちなみにVisual C++でよく開発されたりしてますね。
ご回答ありがとうございます。
どこかの質問で今の時代、CやC++は不要との意見がありましたが、
まだまだCを学ぶ利点はあるのですね。
Windowsアプリも作ってみたいのでVC++も時間が取れ次第勉強しようと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) 次に、楽天のアジャイル就活に参加して、1日で内定を獲得できる。私は大企業に就職できる? 2 2022/04/17 13:38
- Java JavaでWebページ作成 7 2023/07/21 21:09
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- JavaScript Python Java,Springフレームワークの習得 1 2023/08/02 15:28
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- Windows 10 パソコン得意な人どうやって勉強したか教えてください 13 2022/04/26 00:41
- Ruby プログラミング講師はまだ需要ありますでしょうか? 1 2022/11/07 19:43
- その他(プログラミング・Web制作) 一日中マインクラフトばかりしている中学生。どうせなら極めさせたい 中学2年男子。本当に一日中マインク 3 2022/05/03 19:59
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JavaMailを使う前のTomcatの設定
-
Java開発って何ですか?
-
JavaScriptの開発環境について
-
Eclipseソース開発画面の行番号...
-
C言語を教えてお金を得たい
-
Web開発について
-
Strutsなどのフレームワークが...
-
AndroidとJavaの違いについて
-
ストラッツ(Struts)って本当に...
-
C++C#ゲーム開発においての差違...
-
この便利な時代に開発環境すら...
-
C言語によるバイナリファイルの...
-
ログイン機能について
-
Visual C++ Express Edition 20...
-
「C#ができればJavaもできる」...
-
javaの現状
-
オラクル社とは
-
Webアプリケーションを開発する...
-
Webアプリケーション開発を学ぶ...
-
ASP.NETでの実行環境
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Eclipseソース開発画面の行番号...
-
「C#ができればJavaもできる」...
-
プログラミング開発経験とは?
-
オブジェクト指向について
-
プログラミング言語について
-
この便利な時代に開発環境すら...
-
文字列に半角スペースがあるか...
-
フリーソフトの作成言語
-
JAVAを使って管理システムを構...
-
TOMCATとANDROIDSTUDIOの違い
-
WeblogicでStrut...
-
JavaMailを使う前のTomcatの設定
-
PowerBuilderの知識が必要です。
-
今でも、TomcatとApacheの連結...
-
iPodでゲームソフトを製作する方法
-
AndroidとJavaの違いについて
-
プリクラの様な画像処理(webカ...
-
android開発環境アンインストール
-
コマンドボタンの文字が消える!
-
Javaでバッチ処理
おすすめ情報