大塚製薬が販売していた JAVA というお茶がありました。
今でも売っているかな?
「まだ甘い飲み物で食事をしているんですか?」
発売が、1983年 今から35年前の話です。
ネットで検索したら「シンビーノジャバティー」となっていました。
今回の「小僧の教えてIT」は、
「Javaが使えればインターネットの王になれるかも プログラム言語夜話 第1話 Java」
と題して
Java言語について できるかぎり、専門用語を使わないで説明いたします。
最後まで読んでいただけて Javaという言語に興味を持っていただかたら幸いです。
注意:このブログは、Javaの解説ではありません。
Javaってこんな言語だよ! というお話です。
スポンサーリンク
なんでもござれのスーパー言語
Javaという言語及び環境は、おそらく「世界で一番使われている」プログラム開発言語と呼んでいいと思います。
2017/05/17 - 米グーグルは17日(現地時間)
Google I/O 2017(Googleの開発者会議)
「Android OSプラットフォームにおける月間アクティブ端末数が、20億台を突破」
このAndroidのアプリ開発の主力言語がJavaだからです。
20億台のAndroid端末が、月間に一度は可動しているというのは、すごいですね。
眠っているのも含めるとどれほど多くの端末があるのか想像もできません。
そして、このJava Androidだけではありません。
あなたが、日常に使っているページもJavaでつくられたシステムが裏で動いているかも知れません。
主なものとして
・携帯機器(携帯電話・PHSやPDA・スマートフォン等)
・企業の情報システムを担う大規模なデータベース
・サーバ
・スーパーコンピュータ
あらゆるネットワークの中でJavaで作成されたものが動いています。
誕生
プログラミング言語JavaおよびJavaプラットフォームは、1990年代前半当時、サン・マイクロシステムズに居たジェームズ・ゴスリン、ビル・ジョイなどの人々によって設計・開発された。
サン・マイクロシステムズ社(Sun Microsystems)、ご存知ですか?
1990年代にUNIXというOS市場で「ひとり勝ち」したワークステーションと呼ばれるコンピュータを販売していました。
Javaは、この企業のジェームズ・ゴスリン、ビル・ジョイなどの人々によって設計・開発されました。
当時UNIXの開発言語は、C(*1),C++(*2)が主流でした。
Cは、誕生したときから万能選手として活躍していましたが、アプリケーションが巨大になると「いろいろと不都合が生じてきました」
そこでCを元にしてC++が作成されたのですが、それでも不十分でした。
そこで、大規模なアプリケーションを効率よく作成できるように
1990年代前半、サン・マイクロシステムズ社のジェームズ・ゴスリン、ビル・ジョイなどの人々によって設計・開発されました。
*1 C(シー、C言語)
*2 C++(シープラプラと呼びます)
特徴
Javaではプラットフォーム非依存
簡単に言えば、いろいろな環境で動作する。
iPhone、Macintosh、Android、Windows、大型汎用機をはじめとするコンピュータデバイスなどが中心ですが、様々な電子機器の中にもJavaで組まれたアプリケーションが動いています。
どうしてこんなことができるかというと、動かす基本部分(プラットフォーム)を動作させたい環境に移植すれば、他で動作しているものが動くという仕組みです。
どんなところでも動作させることができそうだというのが、Javaの特徴です。
オブジェクト指向
「オブジェクト指向」というのが最近のプログラム言語に備わっているものなのですが、これを説明すると
「一冊の本が書けてしまうのではないか?」
というぐらい濃いもので専門用語がバリバリ登場するので止めます。
ここでは、大雑把に説明します。
オブジェクト指向プログラミング(Object Oriented Programming: OOP)
もうちょっと噛み砕いて説明します。
「オブジェクト」とは「データとそれに対する処理をひとまとめにしたモノ」である。
まだ、難しいですよね
例えば テレビの電源をつけるという作業をプログラムでさせます。
テレビ スイッチ オンしなさい とプログラムに命令します。
プログラムではこのような動きをします。
プログラム開始
⇒リモコンON
⇒テレビの型を調べます。
⇒SONYの年々型の何というテレビと判定できました。
⇒SONY用のリモコンを探しなさい。
⇒SONY用のリモコンで電源ON
テレビの電源入りました。
ところが、SONYではなくPanasonicだったら
プログラム開始
⇒リモコンON
⇒テレビの型を調べます。
⇒Panasonic用の年々型の何というテレビと判定できました。
⇒Panasonic用リモコンを探しなさい。
⇒Panasonic用のリモコンで電源ON
テレビの電源入りました。
リモコンを選んでスイッチを押しまで自力でやらなければなりません。
もしテレビが追加したとしたら
新しいテレビメーカーの
「テレビを判定するプログラム」
「リモコンを探すプログラム」
「リモコンの電源を押すプログラム」
を追加しなければなりません。
はっきり言って 死にそうです。
これをオブジェクト的な考えでプログラムを作成しておくと
リモコンON
⇒テレビの電源を入れなさい。
⇒「リモコン箱」に命令
⇒「リモコン箱」が動きました
テレビの電源入りました。
この「リモコン箱」がオブジェクトです。
リモコンの箱に「TV点けて」と命令するだけ、あとは、リモコンがたくさん入っている「箱(もの)」にお任せ
「リモコン箱」の中身は、「データとそれに対する処理をひとまとめにしたモノ」が入っています。
ここでは、世界中のテレビのリモコンが入っていると思ってください。
プログラムは、「リモコン箱」にテレビの電源を入れろと命令するだけで
「リモコン箱」が、対応するリモコンを勝手に選んで電源を入れてくれます。
つまり、新しいテレビが発売されてもプログラムを修正する必要がなく
「リモコン箱」に新しいテレビ用のリモコンを入れておけばよいのです。
こうすれば、テレビが追加される毎にプログラムの修正は必要なくなります。
大雑把に説明するとこんな感じです。
プログラムを小さな部品の様に分けていくプログラムの書き方をします。
つまり例で上げた「リモコン箱」のような「もの」をたくさんつくるのです。
これ以上、詳しく知りたい方は、入門書を呼んでいただければと思います。
普及した理由 5つ
最初に
「無料ですべての環境が揃う」
これが、一番大きな理由です。
次に
「多くの環境で動作すること」
つまり Windowsでしか動作しないとか、Macintoshでしか動作しないということは、ありません。
さらにある環境で作成したプログラムが、他の環境で動作させることができたこと
3つ目に
「Webと相性がよかったこと」
インターネットの普及の影でJavaは大活躍しています。
4つ目
「スピードが速い」
コンパイラ言語なのでインタプリタ型と違いスピードがあります。
最後に
「習得しやすい」
いろいろなところで利用されているので、入門書から専門書まで書籍が多く、ネットで検索しても 多くの情報があります。
わからないところがあってもすぐに調べることができます。
Javaのサンプル
こんな感じで記載されます。
実行すると
Hello World!!
と表示されます。
これからは?
Javaの開発元であるサン・マイクロシステムズは、2010年1月にオラクル社により買収されてしまいました。
以後、オラクル社は、Javaを無償でメンテナンスを行い、普及を促してきました。
しかし
オラクル社は、ここにきて「有料化」へと舵を切りました。
えええ!
普及したらカネとるんかい!
はい、そうです。
詳しくは、こちらのブログでかいてみました。
-
-
オラクル社がJavaを有料化 それって既定路線? Javaは、使われなくなるのでしょうか?
Javaという言語(環境)を知っていますか? Java このお茶(本当はCoffeeだと言われてますが)と同じ名前がついているコンピュータ言語(環境も含む)は、スマートフォン(主にAndroid)の開 ...
でも、ご安心を「OpenJDK」という無償版も用意されています。
ですから、有料化になっても一安心
※企業で動作しているJavaは、無料版というわけにはいかないのでオラクル社におカネを払うことになるでしょう。
この有料化は、今後、Javaの普及に歯止めがかかると思われます。
無料で使えたというのが大きな利点だったのですが、有料化となると別の環境に移ってゆくことでしょう。
勉強するには
Javaの勉強は、比較的簡単ですが、動作させるまでの環境づくりが、大変かもしれません。
ネットの記事は、間違っていることもあるので注意が必要です。
できれば、入門書を見てください。
実際に試したいとなれば、お手持ちのAndroid端末のアプリケーションを書くことも夢ではありません。
仕組みを覚えてしまえば簡単です。
自分でプログラムをしたものが、Android端末で動作するのは、楽しいですよ。
ハードルは、いくつかありますが、チャレンジする楽しみはあります。
iPhoneは、残念ながら、開発の環境がないため試すことができません。
仕事で使う方は、会社の研修か、学校、通信教育で勉強をオススメします。
まとめ
プログラム言語夜話 第1話 いかがでしたか?
Javaを習得してしまえば、大抵の言語を扱うことができるようになりますのでプログラムに興味のある人は、ぜひチェレンジしていただきたいと思っています。
自分でプログラムしたものが、お手持ちのAndroid端末で実際に動作するというのは、楽しいものです。
そして、インターネットの世界でJavaほど使われている言語は他にないでしょう。
そうです、20億台のAndroid端末で動作させることができるアプリケーションをJavaで書くことができるのです。
Java使いになれば「インターネットの王」になれるかも知れません。
プログラム言語は、実際にプログラムを書かないと「絶対」に習得できません。
失敗しながら何度も何度もチャレンジすることで習得できるものです。
そう外国語と同じです。
では、また、次回 お楽しみに・・・
-
-
プログラム言語 夜話 前夜祭
今週から新しく連載を開始いたします。 そのタイトルは、ズバリ! 「プログラム言語 夜話」 この連載では、星の数ほどあると言われているプログラム言語から、毎週1つをピックアップ プログラムの書き方をレク ...