• ベストアンサー

Javaってこれから必要?

自分は将来、情報処理系か電気通信系を考えています。検索しましたところ企業や公務員の名前がずらっと出まして、中にはC言語、C++言語以外にPHPやJava言語で通信ソフトウェア開発をする会社があるようです。自分は情報工学専攻の大学生ですが、自分の大学ではC言語が必修科目でJava言語が選択科目で設置されています。そしてC言語担当教員は7人もいるのに対し、Java言語担当教員は1人とほとんどJava言語には力を入れていない感じです。自分は受けずに卒業しようとも考えています。これからJava言語は電話や鉄道などの電気通信に関するもの、役所や郵便局など一般職を含めた情報処理系のものに必要になりますか?教えて下さい、お願いします。

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

  • ベストアンサー
  • kumaow
  • ベストアンサー率100% (2/2)
回答No.8

 私は以前地方公務員(事務職)でしたが、その間COBOL、JAVA、VB(VBA)、(データ変換作業が必要な時に個人的に)Perl、C言語等を使って開発・保守をしていました。  もしもyutanpo2006さんがC++を学んでいるならば、オブジェクト指向についてご存知だと思います。であれば、今の時点でわざわざJavaを勉強する必要は無いと思います。(実務でどのようなクラスライブラリが必要になるかは業種によってかなり違うためせっかく覚えても無駄になるものが多いと思います。)オブジェクト指向さえ理解していれば、Javaを理解するなど簡単です。  ちなみに、私が住んでいる県内の官公庁ではいまだにCOBOLが最も使われています。少なくとも事務職が行う情報処理のシステム開発・保守では、C,C++,PHPを使っているところを私は知りません。VB(VBA)はかなり使われていますが、マイクロソフトの独占を避けようとしている現在、今後官公庁ではVBの出番も少なくなるかもしれません。  私の場合たまたまJavaを使いましたが、他の官公庁で使っているという話は(少なくとも私は)聞いたことがありません。(Javaを使ったのはVBと違って、クライアントを選ばないので一社独占を避けられるためです。)  研究職ではもちろん事情が違いますが、少なくとも官公庁の事務職の範囲内では構造化プログラミングのアルゴリズムと、オブジェクト指向について理解していれば、言語にこだわる必要は無いと思います。

yutanpo2006
質問者

お礼

地方公務員の職種の中にもプログラミング言語で開発する仕事があるとは初めて知り大変驚きました。C言語やJava以外の言語もお使いになっていたのですね。官公庁の事務職では主にCOBOLとVBという言語が使われているんですね。いろいろなプログラミング言語に触れる機会があって面白そうです。ご回答ありがとうございました。

その他の回答 (8)

回答No.9

私の娘から聞いた話です。あるオンライン・サイトを運営している仕事をしているようです。HPはHTMLで全部自分で書いて作れるレベルに行き着いて仕事順調でそのサイトの一部の開発責任者に昇進した(というよりその責任者が辞めてしまった!)そうです。(C++を勉強していましたが、私に言わせれば、理解度ゼロ、全くお話にならない低レベルです) ここで問題が生じたようです。HPの処理系は前の責任者は外注業者に開発を依頼していたので、娘もそうしているのですが、外注業者の作ったJAVAプログラムを組み込むと、娘が発注した動作と違う動作をするので修正するように指示すると「仕様書通りです」と答えが返ってきて「仕様書読むとそんな細かいこと書いてなーい!。私は口頭でちゃんと伝えたし、第一こういう動作ではユーザが使いにくくて仕方が無い。言われなきゃ、やんないのか?自分でおかしいと思わないのか!」みたいな文句を一緒に飲んだとき言ってました。 「やっぱり少しはJava知らないと、業者のいいなり・・・ということよ。Java勉強しなくちゃだめ、ということか・・・」って言ってました。 役所でも企業でも、高度のサイト運用に向かうでしょう。ということはJavaは、多少でも知っていると、大いに役立つでしょう・・・と私は思いました。自分で作れるレベルはCだけで充分でしょう。学校もそう考えているのでしょう。

yutanpo2006
質問者

お礼

あなたの娘様はHP開発の仕事をなさっているのですね。他社との取引で別のプログラミング言語で作ったものを扱う機会があるんですね。大学のうちにある程度他の言語も知るようにしたいと思います。ご回答ありがとうございました。

  • Coke365
  • ベストアンサー率25% (1/4)
回答No.7

どういった分野で働くかによると思いますが、yutanpo2006の場合、 Javaをやらなくても良い可能性が比較的高いかと思います。 簡単に言うと、Javaの良さはプラットフォーム等の環境に依存する 部分をいちいち考える必要がないことや、さまざまなライブラリが 多く出回っていて、それらを使えば開発が容易になること。逆に デメリットとしてはメモリ消費量が極めて高いことでしょう。それに対して C/C++はやはりメモリ消費量が少ないことが最大のメリットと言えると思います。 そういった事情により、これだけJavaが多く出回っている現代においても 組み込み機器やサーバ内のアプリケーションにはいまだにC/C++が広く使われています。 「通信・ネットワークの制御や構築、そのためのプログラム作成をする仕事」 を目指しているということであれば、組み込み機器やサーバのメンテナンス等に 携わることが多いと思うので、あまりJavaは使わないかもしれません。 また、私はCはプログラミングの基礎、C++はオブジェクト指向の基礎だと 思っているので、勉強をもっと深めておくのも良いと思います。逆にC/C++に 比べるとJavaは簡単ですから、後からでもすぐに習得できると思います。 WEB系アプリ開発等に携わることを考え始めるまではC/C++だけでやっていけると思います。

yutanpo2006
質問者

お礼

ご回答ありがとうございます。あとで電気通信関係や情報処理関係を調べたら、組み込み関係がほとんどで使うプログラミング言語はC言語とC++言語と載っていました。WEB系の開発にはJavaやPHP、Perlなどもありました。これを参考に力を入れる言語を考えていきたいと思います。

  • fortranxp
  • ベストアンサー率26% (181/684)
回答No.6

簡単に言えば情報処理だろうが通信制御だろうが その手の専門家になるのならば両方とも必要では ありませんか? その他 かんたんなアセンブラも必修科目ですね。 今コンピュータ関連でよく出てくるのは Perl PHP VB6/VB.NET Oracle Windows2003サーバー HTML/JavaScript XML等です。 これらもマスターしないと専門家と言えるかどうか。 よくよく学校の先生に相談してこの全て以上を 習得するにはどうすればよいか。それで何年必要かなど ご相談されてはいかかでしょうか?

yutanpo2006
質問者

お礼

ご回答ありがとうございます。学生のうちからC言語以外のプログラミング言語も学んでおくのもよいかと思いました。

回答No.5

質問者は適材適所と言う言葉を知っていますか? JAVAが必要な分野もあれば必要ない分野もある。 C++が必要な分野もあれば必要ない分野もある。

yutanpo2006
質問者

お礼

ご回答ありがとうございました。たしかに分野によってさまざまですね。

  • piyo2000
  • ベストアンサー率49% (144/293)
回答No.4

結論から言えば、必要ありません。 yutanpo2006さんはまだ大学生ということですし 担当教員が1人ということや、力が入っていない感じ、というのを聞いた限りですと その授業を取っても「Javaを習得した」といえるレベルになれるかどうかは怪しいと思われます。 これはあくまで質問内容の印象が理由ですが、理由はまだ他にもあります。 まず、「ソフトウエア技術者(平たく言えばプログラマ)」以外でJavaに触れる職業と言うのは稀です。 「Javaで作られたものを使って」情報処理をすることはあっても、Javaで何かを作ると言う事はまずありません。 従って目指すのが技術職でなければ不要と言えます。 そして技術職の場合ですが、これに至っても「望ましい」というレベルかと思います。 前述したように大学の時点で学べるレベルもありますし、 #3さんが仰っているようにJavaの下敷きはC/C++と言ってもいいぐらいですから、 中途半端にJavaを学ぶぐらいなら、C++等でOOPに触れておくほうがよっぽど有益だと思うからです。 技術者であればJavaに限らず新しい言語や技術を貪欲に吸収していかなくてはいけません。 CとJavaが出来るけどそれ以外は全然分からない(分かろうともしない)人と Cぐらいしか出来ないけどやる気があってJavaやPerl、PHPなどを貪欲に追い求める気がある人と 貴方が人事担当者だったら、どちらの志望者を採用しますか?(^^; (要は出来なくても本人のやる気次第、ということです) それに、新卒を即戦力と考えている(ソフトウエア関連の)企業は殆ど無いと思います。 大学ではお金を取るための「プロ」グラミングや設計は教えてくれないからです。 もし貴方が中途採用でソフトウエア業界に飛び込むのであれば Javaは必須に近いと思ったほうがいいでしょうけど。

yutanpo2006
質問者

お礼

ご回答ありがとうございます。必ず大学でやらなければできないということではないのですね。すでに学んだでなく、意欲で追い求めることのほうが大切なのですね。

  • guccii
  • ベストアンサー率31% (14/44)
回答No.3

「C言語ができる」には様々なレベルがあります。 1.C言語の文法を一通り習得した 2.高級言語としてC言語を用いて開発ができる 3.特定の開発環境・プラットフォームでの開発ができる 4.複数のプラットフォームで開発ができる 5.マクロアセンブラとしてC言語で開発ができる 6.アセンブラから派生言語まで、必要に応じていつでも対応できる(「Cの文化」を理解している) 少なくとも3.以降のレベルであれば、javaには容易にjavaに対応できるでしょうから、C/C++を学ぶ環境が整っているのであれば、C/C++を必死でやったほうが結局近道だと思います。Cをやっていけば、そのうち必ずwindows,GUI,java,network,文字コード,unix,shell,perl,構文解析,デバイスドライバ,オブジェクト技術などなどいろいろ経験していくことになるでしょうから。 私的には、これから「C」の中心となるのはjavaだろうと思っています。最も豊富なライブラリを備え、かつ、標準的なシステムコールにより移植性が高いからです。ただし、javaにはもう少しだけ超えるべき壁(パラレルVMとか)が残っていると思っていますが... 余談ですが、最近「Cの文化」という言い方も聞かなくなりましたね(すでに死語?)。

yutanpo2006
質問者

お礼

「Cの文化」という言い方は初めて聞きましたね。ご回答ありがとうございました。これで自信がつきました。いきなり2つ、3つプログラミング言語を勉強するのでなく、1つから確実に勉強し、それからでも遅くなくむしろそのほうが近道なのですね。

回答No.2

 電気通信やら一般職を含めた情報処理系という意味がちょっとよくわかりません。  Javaは必ずし必要とは言い切れませんが、覚えておいて損はないでしょう。  というのも現場では状況に応じて様々な言語が使われるので将来の入社先で Javaを使わない可能性もあります。  組み込み系だとCが多いですし、ネット関係だと PHPも Rubyも使われます。

yutanpo2006
質問者

補足

電気通信というのは、企業の部門の中に電気通信事業というものをよく目にしているだけで、意味は通信・ネットワークの制御や構築、そのためのプログラム作成をする仕事のことをいっています。この説明でもわかりにくかったらすみません。 一般職を含めた情報処理系というのは大胆な言い方をしたのですが、まず一般職というのは役所や郵便局など技術職でない職のことをいっております。住民票や個人情報などを処理する事務的な仕事、会社ではソフトウェアや通信制御などの技術のデータを処理する仕事といった実はイメージで自分もはっきりとわかっていません。 こんな感じにしか説明できなくてすみません。C言語を使われているところ、他の言語が使われているところはっきりわかりました。ありがとうございました。

  • herojhp
  • ベストアンサー率33% (1/3)
回答No.1

必要だと思います。 いろいろな分野に使われています。 特にウェブに関しての応用に。

yutanpo2006
質問者

お礼

そうですか、ありがとうございます。ウェブやGUIにはたくさん使われていますよね。

関連するQ&A