プログラミングって何だろうとかちょっと勉強していきたいけど何していいか分からないって方なかなか多いんじゃないでしょうか??
そんな時に検索してみるとこの記事のようにJavaという文字をよく見かけたかと思います!
ズバリ言います!Javaとはプログラミング言語です!!
今回はそのレベルで解説していきますので超初心者向けになります!
どうぞ見ていってくださいね!
プログラミング言語とは??
Javaはプログラミング言語とは分かったけど結局何ができるの??
プログラミング言語って何なの??と思った方に向けて解説しますね!
①どんなアプリケーションも、全て何かしらのプログラミング言語で作られている。
②プログラミング言語とは、コンピュータにどう動けばいいのかを指示するための人工言語
③プログラミング言語は、世の中にはたくさんあり、Javaはメジャーなものの一つ
分かりましたか??
皆さんが何気なく使っているスマホ、その中に入っているアプリも何かしらのプログラミング言語で作られているんですね!
そんな中でJavaを学んでみるといろいろなメリットがあります!
Javaの理解は、他のプログラミング言語の理解にも繋がるので安心してくださいね!
Javaの特徴とは??
ではJavaは何ができるのか説明していきますね!
1) 多様なライブラリ・フレームワークがあり、効率よく開発できる
2)比較的高速な動作が可能
3) 幅広い環境で動かせる
1つずつ説明していきますね!
1,多様なライブラリ・フレームワークがあり、効率よく開発できる
Javaには、優れた 「ライブラリ」 や 「フレームワーク」 が数多くあります。これらを活用することで、効率的な開発が可能です。
ライブラリは、便利な機能を1つにまとめて再利用できるようにしたもの。実現したい機能に合ったライブラリを使えば、プログラムを1から作成せずに機能を実現できます。
| 代表的なJavaライブラリ | 特徴 |
|---|---|
| Jackson | ネットワーク通信でよく使われるライブラリ |
| Guava | さまざまな便利機能をまとめたGoogle製のライブラリ |
また、フレームワークはプログラムの枠組みであり、「土台」となるもの。フレームワークを土台にすれば、要所要所だけプログラムを作成すれば済み、土台作りを省力化できます。
| 代表的なJavaフレームワーク | 特徴 |
|---|---|
| Spring | Webアプリを開発するためのフレームワーク |
| JavaFX | GUI(操作画面)を作れる標準搭載のフレームワーク |
上記はあくまで例であり、ほかにも数多くのライブラリ・フレームワークがあります。
これらをフル活用すれば、ゼロから自分でコードを書かなくてもさまざまな機能を実装できます。つまり、初心者でも効率よくプログラムを開発できるということです。
2,比較的高速な動作が可能
プログラミング言語には、主に 「コンパイラ型」「インタプリタ型」 の2種類があります。Javaは速度に優れるコンパイラ型のため、インタプリタ型と比べて高速に動作します。
動作が比較的高速な理由を知るために、まずプログラム実行の仕組みを理解しましょう。
プログラミング言語で書かれたプログラムは、人間が理解しやすいよう英単語などを用いて命令が表現されています。一方、コンピューターは0と1を組み合わせた「機械語」しか理解できません。
そのため、プログラムを実行するためには、機械語への変換が必要です。プログラムの変換方法は、前述のコンパイラ型・インタプリタ型によって異なります。
| プログラムの変換方法 | 特徴 |
|---|---|
| コンパイラ型 | あらかじめプログラム全体を機械語に変換しておく。 |
| インタプリタ型 | プログラムを実行するときに、1行ずつ機械語に変換する。 |
インタプリタ型だと、1行1行のプログラム実行時に変換処理が発生するため、その分速度が低下します。事前に変換処理を済ませておくコンパイラ型のほうが、基本的に高速です。
Javaはより高速なコンパイラ型に分類されます。Javaの速度性能は時代とともに上がっており、高速な動作が求められる開発分野(後述)にもよく使われます。
3,幅広い環境で動かせる
Javaで書いたプログラムは、幅広い環境で動かせます。「JVM(Java Virtual Machine:Java仮想マシン)」 というソフトウェアが、環境の違いをカバーしてくれるためです。
プログラムを動かすときには、土台となる実行環境が必要です。ただし、実行環境はコンピュータOSごとに異なり、全OSであらゆるプログラムを動かせるとは限りません。
たとえば、Mac環境向けの言語で作ったプログラムは、Windows環境では動作しないケースが多いです。同じプログラムをWindowsで動作させるなら、Windows対応のプログラムを追加で用意しなければなりません。
一方Javaの場合は、実行するOSに合わせて、JVMがプログラムを変換してくれます。そのため、OSが変わってもJVMを用いることで、同じプログラムを動かせるのです。

JVMは、WindowsやmacOS、Linuxといった主要なOSに対応しています。JVMにより幅広いOSでプログラムを動かせることは、Javaが広く使われる理由のひとつです。
1.4 Javaで開発できるもの
Javaは以下のような開発に利用されています。
- Webアプリ開発
- Androidアプリ開発
- 業務システム開発
- 組み込みシステム開発
それぞれ簡単に説明します。
Webアプリケーション開発
JavaはWebアプリケーションの開発に利用できます。Webアプリケーションとは、Webブラウザを通じてサービスを提供するアプリケーションのことです。たとえば、「Twitter」の開発にもJavaが使われています。
Webアプリは「フロントエンド」「バックエンド」の2要素で構成され、それぞれにプログラムが必要です。Javaが主に使われるのは 「バックエンド開発」 側です。
| Webアプリケーション開発の要素 | 特徴 |
|---|---|
| フロントエンド開発 | ユーザーのWebブラウザ上で動作するプログラムの開発。Webアプリの表示を動かしたり、ユーザーの入力情報を取り込んだりする。 |
| バックエンド開発(サーバーサイド開発) | Webアプリのデータを管理するサーバー上で動作するプログラムの開発。ユーザーの要求に応じて、データを取得・加工して返す。 |
植物にたとえると、フロントエンドが「葉」、バックエンドが「根」のイメージです。葉は人の目に見えますが、根は土に埋まっているため見えません。
しかし、根っこがないと葉に栄養を送れず、植物全体がダメになってしまいます。そのため、バックエンドはシステム全体を支える重要な役割です。
なお、フロントエンド開発には 「JavaScript」 が使われます。
Androidアプリ開発
スマートフォンやタブレットのOSである「Android」アプリの開発にも、Javaが利用できます。「Google Play」で出回っているAndroidアプリの多くは、Javaで開発されています。
Androidアプリは、Android OSを作ったGoogle社製のツール 「Android Studio」 で開発するのが一般的です。Javaは、Android Studio上で使える公式開発言語とされています。
なお、Javaをベースに作られた 「Kotlin」 も、Androidアプリの公式開発言語です。Kotlinの採用も増えていますが、まだまだJavaのほうが需要は高いといえます。
業務システム開発
業務システムの開発にも、Javaがよく使われます。業務システムとは、企業の業務を効率化するシステムのこと。経理システムや勤怠管理システムなど、多岐にわたります。
業務システムは、企業の業務を長期的に支えていく性質上、あまり開発言語を変更することが多くありません。開発言語を変更するとすべてが再開発となり、業務への影響が大きいためです。
業務システムの開発では、昔からエンジニア数の多いJavaが多く採用されてきました。そのため、Javaを使い続ける企業が多く、今でも高い需要があります。
組み込みシステム開発
Javaを用いると、組み込みシステムも開発できます。組み込みシステムとは、家にあるテレビや冷蔵庫、街にある信号機や自動販売機のような電子機器に組み込まれて色々な制御するシステムです。
たとえば信号機の動きが、プログラムの都合で遅くなってしまうと困りますよね。そのため、組み込みシステム開発には多くの場合、速度に優れるコンパイラ型言語が使われます。
コンパイラ型言語の中で最速ではないものの、Javaも一定の速度性能を持つ言語です。前述のJVMで安全にデータを管理できる利点もあり、Javaが採用されることもあります。
このように、Javaで開発できるものは多岐にわたります。さまざまな開発分野に挑戦しやすい魅力がある言語のため、これからJavaの学習に励みましょう。
Javaのエディション
o Javaは、用途に応じて3つのエディションがある
o 仕様と実行プログラムなどが入り混じっている
※ITの分野では、ソフトウェア製品などでバージョン(世代)は同じだが構成や機能、用途、販売方法などが異なる製品パッケージのことをエディションということがある。
エディション 特徴
Java SE
(Standard Edition)
o Javaでの開発や実行に使う基本的なもの
o Javaコンパイラ、JVM、Java標準ライブラリを含む
o これだけで、GUIアプリケーションの作成やネットワーク通信な
どが一通り行える。
o 2022/1時点ではJava 17まで正式にリリースされている
(Java 18を開発中、2022/3にリリース予定)
Java EE
(Enterprise Edition)
o エンタープライズシステム向けのJava仕様および標準ライブラリ
o Servlet、JSP、Enterprise JavaBeansなどが含まれる
o 2021/7時点ではJakarta EE 9まで正式にリリースされている
o 最近、開発主体がEclipse Foundationに移管され、名称がJakartaEEになったJava ME
(Micro Edition)
o モバイル向けデバイスや家電(BDプレイヤーなど)などで動かせるJavaの仕様
o SEよりもプログラムのサイズを小さくできるが、制限も大変多い
o Androidで動いているJavaは、このMEの仕様ではない
o MEは、もっと小型・省電力なデバイス向けの仕様(ICカードやボタン型デバイス、コーヒーポットなど)
Javaプログラムが動くまで
1) Javaの構文でソースファイルを作る
2) ソースファイルを、Javaコンパイラで、クラスファイルへ変換する
3) クラスファイルを、Java仮想マシンで実行する
この順番を正確に覚えること!!
いかなるJavaプログラムでも、例外はないですよ!
まとめ
Javaは、多くの開発現場で使われる人気のプログラミング言語です。Webアプリケーションに限らず需要の高い言語のため、習得難易度も高いですが、頑張って覚えていきましょう。

コメント