みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

プログラミングの役立て方?使い道?

こんばんは。

私は趣味でプログラミングを勉強している者で、Perl、PHP、JavaScriptをWebで役立てられるぐらいまでには習得できました。
現在Javaを勉強しているのですが、ここで質問です。

PerlやPHPはホームページ制作を実現する事が出来ますが、CやJavaなどのプログラミングは習得した後、どう役立てればいいのでしょうか?
私はCやJavaはWindowsアプリケーションを制作するためのものだと思っていたのですが、どうも違うようですし・・・(winアプリはVBが良い?)
入門書を読んでもコマンドプロンプトでforやらifやらプログラムの仕様を学ぶだけで、その後どういう風に役立てるのかが分かりませんでした。
ファイルの書き換えならPerlやPHPでも十分出来ると思いますし・・・。

CやJava等のWeb系じゃないプログラムの特徴や使い道?(何に向いているかとか)を教えていただけないでしょうか。
よろしくお願いします。

投稿日時 - 2008-04-10 18:19:07

QNo.3938024

暇なときに回答ください

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

IT屋の者です。

私の経験知ではこんな感じです。
1.C++、C
  機器制御(携帯電話、デジカメ、ゲーム機、デバイスドライバ
  液晶テレビファームウェア、エアコン、炊飯器、PDA、
  生産プラント、ロボット制御…)
  OS、サーバソフトウェア
  ※細かい制御に向き、高速、低容量ですが、大量に書く必要が
   あり作るのが遅いです。このジャンルの仕事は高給です…。

2.JAVA(LINUX系)、C#・VB(WINDOWS系)
  企業向け業務アプリケーション、データベースアプリケーション
  ※DB等の特化したソフトに関しては開発環境が整っているため
   バグが入りにくく高速に作成することができます。
   商用DBによくつなげるのでライセンス料が発生。
   高速・安定ですが、一般向きには費用面で向きません。

3.PHP、PERL系
  一般向けアプリケーション、広告、宣伝
  ※オープンソース系のため開発環境がテキストエディタなど
   貧弱ですが、オープンソースDBによくつなげるのでライセ
   ンス料が不要。スケーラビリティがあります。

Webアプリとローカルアプリの違いは。
ソースコードをローカルアプリのテキストエディタで作るか、
ブラウザの入力欄で作るかの違いで。
(当然ブラウザ側は、戻るボタンを押してもソースが消えるので
 怖くてNGですよね?)
共有性があまり必要でなく、信頼性の高いデータを捏ねるのに
向いています。

また、オープンソース系と商用系の違いは。
単純にライセンス費用面+製造物責任の部分であり。
オープンソース系は調達費用が安いものの、誰しもオープンソースを
知らないので意外に長期運用コストがかかること。
金融データなど実害を直接伴うデータを大量に安全に保管するのには
リスク判断で向かないこと。
(OSやDBの部分で責任を取る会社がいない。)

商用系はその逆です。

以上です。
いかがでしょうか?


クライアント数ライセンスが

投稿日時 - 2008-04-10 18:38:51

お礼

ご回答ありがとうございます。

Cは機器制御が主なんですね。
電気関係は少々疎いので宝の持ち腐れになりそうです。
Windowsアプリを作るのだったらJava→VBに進むのがいいのかな?
なんとなくプログラムのイメージがつかめました。

ありがとうございました。

投稿日時 - 2008-04-11 09:17:55

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.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を探すしかない。
どっちにしてもオープンソースの意味をまったく理解していない。

投稿日時 - 2008-04-10 22:04:08

ANo.4

>ファイルの書き換えならPerlやPHPでも十分出来ると思いますし・・・。
確かにそのとおりですが
作ったプログラムを別マシンに持っていく際
Windows用に作れば別なウインドウズにそのコンパイルされたプログラムを"コピーするだけ"で動きますからそのあたりは利点かと、
(PerlとかPHPって環境インストールしないと実行できませんよね?)

>入門書を読んでもコマンドプロンプトでforやらifやらプログラムの仕様を学ぶだけで、その後どういう風に役立てるのかが分かりませんでした。
これは言語そのものを学ぶ段階で、アプリケーションを作成する段階は次の段階となると思います、
次の段階は
ウィンドを表示したりするのは各OSごとの機能ですので
OSごとに対応したライブラリなどを勉強する必要があります、
ここまでくればアプリ作成!
となるでしょう。
その際構築環境を何にするかなどを考えることになると思います。


>winアプリはVBが良い?
手早くウィンドアプリが作りたいならそれがいいでしょう。

投稿日時 - 2008-04-10 18:55:44

お礼

ご回答ありがとうございます。

実行環境の事をすっかり失念していました。

なるほど、アプリケーションを作成するには、次はOSライブラリの勉強をするのですね。
アプリを制作する段階の書物が見つからなかったので、指針になりそうです。
とりあえずJavaでWindowsアプリを作成する書籍「新基準Javaプログラミング アプリ作成でやさしく身につく徹底入門」が見つかったので、これをやってみようと思います。

ありがとうございました。

投稿日時 - 2008-04-11 09:26:47

ANo.3

No.2です。

最後の「クライアント数ライセンスが」の部分は、当方の誤記入です。
失礼しました。

投稿日時 - 2008-04-10 18:40:03

ANo.1

言語によって得意なもの、不得意なもの、長所、短所があります。
基本的に自分がやりたい用途にあった、また現時点での習得レベル、好みの言語、等を基準に開発言語を選べば良いかと。
Cは幅広く作れるものがあります。OSレベルまで踏み込んだソフトウェア作成とか。
また、Cを知っていれば他言語にも移りやすいと言われています。

JAVAの利点は環境依存しないところです。

Cはソフトウェア作成のイメージが強いですね。
使い道は自分が求めてる機能をもつフリーソフトが無かったときに自分が作れるくらいですかね。
質問者様がWEB構築のためにPHPなどを勉強してアウトプットするのと同じで、Cを勉強してかゆいところに手が届く自分好みのソフトをアウトプットするのと、アウトプットが違うだけかと思います。

ちなみにVisual C++でよく開発されたりしてますね。

投稿日時 - 2008-04-10 18:31:09

お礼

ご回答ありがとうございます。

どこかの質問で今の時代、CやC++は不要との意見がありましたが、
まだまだCを学ぶ利点はあるのですね。
Windowsアプリも作ってみたいのでVC++も時間が取れ次第勉強しようと思います。

ありがとうございました。

投稿日時 - 2008-04-11 09:10:39

あなたにオススメの質問