こんにちわ。
最近のプログラミング言語の主流。。。
たぶん、それは「Java」でしょうね。
もちろん、マイクロソフトの.Net系もありますし、COBOLなどのホスト系言語も健在です。
新しい言語も続々、出てきています。
ですが、技術者として旬なのはやっぱりJavaでしょう。
OSがLinuxで、言語がJavaなら、大型コンピュータでも動いていたりしますからね。。。
そんな、プログラミング言語「Java」の話です。
Javaというプログラム言語
プログラミング言語のJava(じゃばと読みます)およびJavaプラットフォームは、1990年代に、サン・マイクロシステムズのジェームズ・ゴスリン、ビル・ジョイなどによって設計・開発されました。
2017年現在はサンを買収したOracleによって管理されており、追加提案などはJava Community Process (JCP) というプロセスによって進められています。
Javaは、狭義ではプログラミング言語Javaを指しますが、広義では言語仕様以外に、JavaクラスライブラリやJava仮想マシン、さらにはJDKやJREなどやサードパーティ製の環境なども含め曖昧にJavaプラットフォームと総称されています。
BASICやC言語などよりも後発のJavaは、それ以前のさまざまな言語の良い部分を引き継ぎ、欠点を克服するよう設計されています。
構文の多くはCおよびC++から引き継いでおり、オブジェクト指向プログラミングをサポートしています。
また、機械語に直接コンパイルされるのではなく、中間言語にコンパイルされ、仮想マシンの上で動作する使用になっています。
これによって、プラットフォームに依存しないアプリケーションソフトウェアが開発できます。
実際、Javaは組み込みシステムや携帯電話、スマホなどのシステムから、企業の情報システムを担う大規模なデータベース、サーバ、スーパーコンピュータまで、多くの分野で使用されていますね。
(出典:ウィキメディア・コモンズ photo by Luckyluke80 / CC by-sa 0.0)
プログラム言語「Java」の特徴
でも、なぜJavaは今、人気が高いのかと言われると、「Javaは多くの現場で使われていること」、「汎用的でOSに依存しない」などじゃないかなと思われます。
OSに依存しないという点はとても大きいです。
作成したソフトが動く環境をいちいち考えないといけないということはプログラマーにとっては結構な負担です。
そういった意味で、まずはJavaを習得する人が多いんでしょうね。
そして、JavaはOSに依存をしないことからどんな環境でもソフトを動かすことができます。
例えば、今はもう見なくなってきたガラケーでもJavaを使ったアプリケーションを組むことができます。
その一方で、大規模なサーバーシステムを構築することもできます。
特にJavaはWebとも相性が良く、Webが使えるプラットフォームではほとんど動くマルチな言語だと言えます。
Javaを使うメリットですが、ひとつは処理速度が速いことです。
Javaは、起動にコンパイルを必要とするコンパイラ言語なので、最近はやりのしぇえるスクリプト系の言語であるRubyやPHP, Pythonといった言語よりも処理速度が速いのが特徴です。
また、何度もお話しているとおり、プラットフォームに依存しないことです。
OSに関係なく、Windows, iOS, Linuxで動作させることができる言語です。
更に、オブジェクト指向であることから、プログラムの管理を細かく行うことができます。
チームで1つのものを開発するときなど作業効率を上げることができます。
逆にデメリットですが、プログラミング以外の作業が面倒な部分があります。
プログラムを実行するためにコンパイルという作業をするなどWebアプリケーションを起動するまでに手間が必要です。
さらにEclipseなどの フレームワーク環境 統合開発環境で使うとなると、更に事前準備などの作業が必要です。
また、多少、学習環境が少ないと言えます。
文法は独学でも学習することができますが、RubyやPHPといった言語に比べ、実践的にアプリケーションを作る環境を整えるとなると手間です。
ところで、ぼくのまわりと言っていいのか、うちの会社も取引先のお客様のシステムも、ほとんどが今は「Java」で書かれているシステムになりました。
ちなみにぼくはJavaはまったく書けません。
Javaは結構後発の言語なので、Javaが出てきた頃にはぼくは立派なおじさんになっていて、新しい知識について行けなくなったからです。
しかも、今でいうとJavaを勉強するぐらいなら、Rubyとか勉強した方が、一般パソコンユーザーのぼくのような人間にはいいかもしれません。
ぼくにとって近くて遠い、Javaです。
今回も最後までおつきあい、ありがとうござました。
コメント
どこでも動くっていうのは結構そうでもなくて、Javaが出た当時そういう環境がなかったのでその宣伝文句に業界全体が盛り上がったっていうのが大きいかと。現実問題プラットフォーム依存の部分は結構多い。
どちらかというと
1.MacでもWindowsでも開発できるので開発環境を選ばない
2.その分技術者が多いから技術者確保の点と情報の取得容易性が優位
3.その結果、フレームワークやコンポーネントの選択肢が増え、コミュニティが活発になって色々な事例ができあがった
4.BEAやIBM等大手企業のサポートと、その結果他の企業でも採用しやすくなった
というのがJavaが流行っている理由かと。
プラットフォーム非依存であるならば今だと.NetFrameworkやNode.jsも立派なもんです
Eclipseはフレームワークというより統合開発環境ですね
40歳のエンジニア 様
コメントありがとうございました。
Javaが流行っている理由については、実際のエンジニアの方の実感だと認識しました。
ぼく自身はJavaは書いたことがないので勉強になりました。