>>Javaってどれくらい難しいのですか?
私の場合、仕事で、C、C++、VB,Java,Delphi,PHP,COBOL、PL/Iとか、その他のいろんな簡易言語を使ってプログラミングしてきましたが、一番てこずった言語は、Javaだと思います。
新たな言語で開発していくとき、「新たに知る必要のある知識の分量」と「その知識の複雑さ」、そして「不意打ちの大きさと理不尽さの度合い」の3つがあると思います。
たとえば、ある言語の経験があって、別の言語での開発を行うとき、4つの新たな知識が必要な言語と、10の新たな知識が必要な言語があるとしたら、後者のほうが難しい言語といえるでしょう。そして、その10の新たな知識のそれぞれに300ページものドキュメントを理解しないといけないなら、後者の難易度はずっと高いといえるでしょう。
そして、いくつかの言語での開発経験で、「ここの部分は、新しい言語でも、そんなに難しくないだろう」という推測をするわけですが、いざ初めてみると、「え!!、この言語では、こんなこともできないの!」とか、「なんでこんな面倒なことをしないといけないの?」なんて感じるとしたら、不意打ちの度合いが大きいわけですね。そして、その不意打ちの内容が、「ああ、そういう作業が必要だったのは、納得できる。これは私の知識不足でした」と思えればいいのですが、そうじゃあなく、「それって言語・環境の問題点を開発者に押しつけているだけでは?」と感じる理不尽さがあれば、難易度というか、徒労感が高くなりますよね。
Javaは、その3つの点で、経験した言語のなかで最も難易度の高いものだったと思います。ただ、補足すれば、この難しさは、Java言語の問題というよりも、開発環境やオブジェクト指向、フレームワークの問題であり「Java言語」それ自身の”難易度”ではないかもしれません。
また、Javaの開発の多くが、データベースやWebの絡む複雑度の高い開発になるケースが多いのも複雑度が高く思える理由の1つでしょう。
とはいえ、「Javaでの開発」という仕事につく場合、Java言語の責任ではないけど、そういう難易度が高いものが要求されがちといえるのではないでしょうか?つまりは
>>ITに正社員として採用されたいのですがこんな自分でもJava習得できますか?
という、質問者さんの質問には、「習得できると思うが、現場で一人前に働くまでのハードルが、Javaは、他言語に比較して、ずーと高い」っていえると思います。
なお”ITに正社員として採用されたい”という点に関しては、他の回答者さんと同様に、回り道して学校に行くよりも、”未経験可”という会社に入って実務から学ぶほうが良いと思います。
ただ、”IT会社での開発経験が20年!”というような実務経験豊富な先生が教えてくれる専門学校や大学がもし見つかるならば、学校で学んでから就職に望むという選択もアリだと思います。
お礼
>「習得できると思うが、現場で一人前に働くまでのハードルが、Javaは、他言語に比較して、ずー >と高い」 実は参考書を見て、もしかしたらいけるかもって思ってたのですが、現場で使うとならとかなり難易度の 高い言語なんですね。意見大変参考になりました。どうもありがとうございました。