【漫画でIT入門】とあるIT企業の社員活動日誌 第20話「プログラミング学習のすゝめ⑥ Javaとは?特徴と出来る事」
パソコンを使う人のありそうでなさそうなお話や、ガジェットのお話を漫画で紹介させていただくコーナーです。
とあるIT企業に務める彼女たちは日々楽しく真面目に業務に励んでいます。その中で、起こったハプニングや困った事などを活動日誌を通して覗き見していきましょう。
※当ブログは、アフィリエイトプログラムに参加して商品を紹介しております。当ページのリンクを介して商品を購入すると著者に収益が発生することがあります。
【漫画で入門】「とあるIT企業の社員活動日誌」各話一覧はこちら
目次
Javaとは?
Java とは、私たちの身の回りの物、例えばスマホやテレビ、ブルーレイプレイヤーや銀行などのソフトウェアに使われているプログラミング言語です。Write once, Run anywhere(一度書けば、どこでも使える)というキャッチフレーズが印象的で、Java でコーディングすれば Windows でも Mac でも Linux でもスマホでもスーパーコンピューターでもプログラムが実行されます。
またプログラミング言語 C # と並ぶ、もしくはそれ以上の処理速度があるとされ、そのスピードは、数多くあるプログラミング言語の中でもトップクラスの処理スピードを誇っています。
Java は端末以外のソフト、つまりサーバーなどでも多く採用されているプログラミング言語で、現代の社会インフラにも大きく貢献しています。
Javaは、1995年の5月にアメリカのサン・マイクロシステムズ(英: Sun Microsystems)という会社が発表したプログラミング言語です。2010年1月にサン・マイクロシステムズはオラクルに買収されているので、現在はオラクル社がJavaを提供しています。
JavaScriptとは違うのか?
Javaによく似た名前のプログラミング言語に、JavaScriptがあります。実はこの2つ、名前こそよく似ていますが、全く別のプログラミング言語。
Javaは業務システムやWebサービス、Android向けアプリの開発に使われますが、JavaScriptはWebブラウザで上で色を変えたり、ポップアップ表示をさせるというよな、動きがあるWebページの開発に使われることが多い言語です。
Javaの特徴とは?
Javaの特徴として挙げられることは「オブジェクト指向」であることと「Java VM」にあると言えます。
Javaの特徴①「オブジェクト指向」
従来のプログラミング言語は、処理を一から十まで記述していかなければならず、複雑なプログラムになるほど作り上げるのに大変手間がかかりました。
Javaでは、関連するデータや処理をまとめた「クラス」という部品を作っておき、その部品を自由に組み合わせ、必要であれば再利用することで効率よくプログラムを組むことができます。
このように機能を部品化し、部品を組み合わせてプログラムを完成させる考え方のことを「オブジェクト指向」といいます。
※「クラス」とは・・・
クラスとは簡単に言えば「これからプログラム処理を開始します」と宣言することです。
どんなプログラムを開始するのか、その種類を宣言するためにクラスを用います。例えば「main」というクラスは、Javaを実行する際に、最初に実行するオブジェクトという意味です。
クラスにはいくつかの種類があり、それぞれに使い方や機能が異なります。Javaのクラスは設計図によく例えられます。
例えば、家であれば「人が住む」、車であれば「人を乗せて走る」ことをコンセプトに、設計図が作られます。Javaのクラスも同様です。「Javaに何をさせるのか」を、クラスの中に記述していきます。
class (クラス名){ 処理内容 }
このように記述するのが、Javaのクラスの基本になります。
Javaの特徴②「Java VM」(プラットフォームに依存しない)
従来のプログラムは、特定のプラットフォーム(Windows、macOS、Linuxなど)でしか動かすことができませんでした(例えば、Windows向けのプログラムは、Linux上では動かすことができないなど)。
また一般的なソフトウェアは、特定のプラットフォーム向けに作られることが多く、その環境のみで動作します。Javaプログラムは、Java VM(Java仮想マシン)という環境の上で動作します。VMとはVirtual Machineの略で仮想マシンという意味です。
Java VMとは、Javaプログラムを解釈し対象のプラットフォームで実行可能な形式のコードに変換してくれるソフトウェアです。
つまり、Java VM上で動作するJavaプログラムは、Java VMが動作する環境であればプラットフォームに関係なくJavaプログラムを実行することができます
Javaで出来る事とは?
JavaはC言語と記述の面の考え方では異なりますが、C言語と同じく自由度は高い言語となっています。その為、多くの事を行う事の出来る言語と言えるでしょう。
Javaで出来る事①「業務システム開発」
Javaで制作できるアプリの代表的なものに「業務システム」があります。
オンラインで動作するもので、例えば運送会社の配送システムや、金融の取引システムなどもJavaで作られています。業務システムでは多数の情報を管理するためにデータベースを使用します。
Javaで出来る事②「webアプリケーション開発」
Javaは、業務システムのような組織内のシステムだけでなく、Webサービスを支えるアプリの開発もできます。
Twitterのような大規模なWEBサービスなどもJavaで開発できます。実はTwitterは元々Rubyで開発されていましたが、その当時はアクセスが集中すると処理をしきれず、クジラの画像のエラー画面が表示されていました。そのため、開発に使用する言語を2008年ごろよりRubyからJavaに移行されました。多数のアクセスを処理できるようになってエラー画面が出ることはなくなりました。(ストレージレイヤーではScalaを使用しており、Clojure((LIPS系の言語))も使用されています。)
Javaは開発に時間がかかる言語なので、小規模なWebアプリ開発には向いていませんが、Twitterのような大規模アプリの開発に最適なのです。
Javaで出来る事③「webサイト開発」
Webサイトを介したさまざまなWebサービスは、現代の暮らしになくてはならない存在です。
Webサイトはさまざまな言語を組み合わせて構築されており、ユーザーが目にする画面(フロントサイド)に表示されるのはHTMLやCSSといった言語が使われていますが、処理を行うサーバー側(バックエンド)のプログラムにはPHPやRuby、Javaが使われていることが多くあります。
身近なところでは、楽天やebayといったECサイトで、Javaが採用されています。
Javaで出来る事④「組み込みシステム開発」
Javaの開発が始まったのは1991年のこと。開発のきっかけは、実は家電製品でした。
当時はC++を使い開発されることが多かった家電製品やカー用品でしたが、家電製品の進化に合わせてプログラムを書き替えねばならず、困難を極めていたのです。
1996年、初めてJava1.0が発表され、以来、多くの家電製品に組み込まれるシステムにJavaが使われるようになりました。
ブルーレイディスクプレーヤーやカーナビゲーションシステム、洗濯機や冷蔵庫、テレビなど多くの家電製品でJavaが採用されています。身の回りのあらゆるものがインターネットの繋がるIoT化も、Javaが支えていると言っても過言ではありません。
Javaの基本文法
Javaは前述している通りオブジェクト指向のプログラミング言語になります。その為、C言語などとは異なりそれぞれ特有の機能を持った部品を作り組み上げていくような感覚に近い言語になります。それではJavaの基本的な構文を「Hello,World」の出力で簡単に見ていきましょう。
Javaで「Hello,World」を出力する
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}
まず「public class HelloWorld {」はHelloWorldクラスというクラス名を宣言しています。Javaソースプログラムのファイル名は、ファイル内に宣言されたクラス名と一致している必要があります。クラス名は1つのファイルに複数宣言できますが、publicの修飾子が付いたクラスは1ファイルにつき1つしか宣言できません。そのため、このプログラムのファイル名は「HelloWorld.java」になります。
次に「public static void main (String[] args) {」はmainメソッドを定義している箇所です。とりあえずこのmainメソッドの一文は、そのまま定型文として覚えてください。この後、Javaのクラスファイルを指定してプログラムを実行しますが、実行する際に指定するクラスファイルの中には、必ずこのmainメソッドの一文が無ければなりません。
最後に「System.out.println(“Hello World !!”);」は「Hello World!!」という文字列をコマンドプロンプト上に表示する箇所です。ダブルクォーテーション(“”)の間の「Hello World!!」を変更すると表示される文字列が変更されます。「System.out.println」は、JavaAPIであらかじめ用意されているもので、指定された文字列を標準出力に出力するという一文です。JavaAPIでは、このようにプログラムを作成する上でよく使われる処理があらかじめ定義されています。
以上がJavaでの「Hello,World」の出力の仕方と基本的な構文になります。
まとめ
今回はC言語と対をなすような言語であるJavaをご紹介させて頂きました。
JavaはC言語と同様にかなり古くから存在している言語の一つです。その為、使用されているシステムも多く現在でも多く使用される言語です。
Javaをマスターすることが出来ればさらにプログラミングを深く理解できるのではないでしょうか。
最後に筆者の個人的な感想ですがJavaは記述する内容が多いので敬遠してしまいがちです(笑)。まあ、多くの言語を勉強していくうちに言語の好き嫌いも出てくることもプログラミングの面白さかも知れませんね。
今後もプログラミング言語をご紹介していきますので自分の好きな言語を探してみてください。
さらに学べるおすすめ書籍
・スッキリわかるJava入門 実践編 第4版 (スッキリわかる入門シリーズ)
・Javaプログラミング入門: 効果的なコーディングのスキル習得: Javaの基本から実践まで、効果的なプログラミングスキルを身につけよう
・よくわかるJava入門 ~はじめてでもつまずかないJavaプログラミング~