この記事では、初心者におすすめのJava開発ツールを紹介します。
Javaの学習を始めたいけど、どのツールを使ったらいいのかわからない
いろいろなツールがあるけどどれが必要なの?
人によって進めるものが違って決められない
こんにちは。Java歴そろそろ9年目のエンジニア・テックライター平山です。
Javaって歴史が長い分だけツールが細分化されていて、はじめての人にはどれを使っていいのか分かりづらい、という難点がありますよね。用途に合わせて細かく選べるのでメリットとも言える部分ではあるんですが……
せっかくプログラミングを学ぼうと取り掛かったのに、ツール選びの時点でつまづいてしまっては、後々の学習に悪影響が出かねません。
そこで、今回はプログラミングが初めてで、Javaを選択した方向けにどのツールを使ってJavaの学習・開発を始めればいいかを紹介していきます。
一口に入門と行っても、やりたいことによって使うべきツールが結構変わってきます。そこで、ご自身の状況に合わせて適切なツールを選べるよう、おすすめを最初にまとめておきました。まずはこちらからご覧いただければ、ツール選びに迷うことはなくなるはずです。
早速行ってみましょう!
- Java開発にはテキストエディタ/JDK/統合開発環境が必要
- Java開発におすすめの統合開発環境はEclipse
- Java開発におすすめのテキストエディタはVS Code
Java初心者にオススメ開発ツール5選 + α
まずはJavaの初心者・入門者にむけて、オススメのツールとプログラミング学習に最低限必要なものを紹介していきます。
Javaを始めるにあたって、入門段階で必要になるツールはこれだけです。
- テキストエディタ
- JDK
- 統合開発環境
見慣れない単語が並んだかと思いますので、一つずつ意味を解説していきます。
また、Javaのバージョンや、わかりにくい略語はこちらで紹介していますのでこちらも合わせてご覧ください。
テキストエディタとは?
テキストエディタは名前の通り、テキストのエディター、テキストファイルを編集するためのアプリケーション(アプリ)です。
Javaに限らずプログラミングは操作を記述したテキストファイルを作る → コンピュータがテキストファイルを実行できる形に解釈して、プログラムを実行する、という流れをとります。このとき作成するテキストファイルのことをソースコード、またはソースファイル、さらに略してソース、コードと呼びます。
Javaの場合は、テキストエディタや後で紹介する統合開発環境でソースコードを作成し、コンパイラを使ってJava中間コードを生成。作られた中間コードをJava仮想マシン(JVM)が実行する、という流れです。コンパイラやJVMはこの後で紹介するJDKに含まれています。
いきなりたくさんの専門用語が出てきて混乱したかもしれませんが、とりあえず人間がやるべきことはソースコードを書けるようになることで、あとはコンピュータの方で実行してくれる、ぐらいに思っておけば大丈夫です。
細かい話は上で紹介した用語解説の記事をご覧ください。
さて、話を戻すと、ソースコードを書くためにはテキストエディタやそれに類するものが必要になる、というところまではご理解いただけたかと思います。で、肝心のテキストエディタなんですが、多くのコンピュータには標準でテキストエディタが搭載されています。
Windowsであればメモ帳、MacであればTextEditが該当しますね。
ただ、プログラミング専用のアプリでは無いため、そこまで便利ではありません。専用のアプリと比べると誇張抜きで天と地ほどの差はあります。
そこで、今回紹介するVisual Studio Code(以下VS Code)やAtomが必要になってくるわけです。どのように便利なのかは個別の見出しで紹介していきますね。
なお、Javaを学びたい気持ちはあるものの本当に自分にあう言語なのか、どう学習を進めればいいのかなどがあいまいな人は「プログラミング学習プラン診断」をお試しください。
かかる時間は1分ほど。4つの質問に答えるだけで、あなたにあう言語や学習プランを診断してもらえます。
効率よくプログラミングを学習したい人は、ぜひ一度お試しください。
\ 4つの質問に答えるだけ /
JDKとは?
JDKはJava Development Kit の略で、直訳するとJava開発キットとなります。これは、Javaを開発するために必要なツールがまとめてある開発キットだと理解しておくのがいいですね。
JDKをインストールすることで、そのコンピュータでJavaが開発できるようになります。テキストエディタのところで紹介した、コンパイラや実行するためのJVMが利用できるようになるわけです。
JDKについてさらに詳しく知りたい方はこちらをご覧ください。
また、情報に詳しい方はJDKが有償化する、という話を聞いたことがあるかもしれません。こちらに関しては、個人で使う分にはJava8 SEのOracle JDKが2020年まで無償で使えるので、入門段階ではそこまで気にしなくても大丈夫です。
有償化に関する話題はこちらにまとめてありますので、興味のある方はご覧ください。
JDKをインストールする方法はこちらでまとめてあります。
ただ、コンピュータに慣れている人じゃないと、環境変数の設定でつまずく可能性が結構高いんです。そのため、JDKを一から導入せずに済む方法を次章Eclipseの項で紹介します。
統合開発環境とは?
統合開発環境、Integrated Development Environment、略してIDEは名前の通りプログラムの開発に必要な環境を統合したアプリです。
テキストエディタの項で紹介しましたが、プログラミングはソースコードを作る段階、コンパイラを通す段階(この操作をコンパイルといいます)、プログラムを実行する段階の3段階に別れます。
それぞれ、ソースコードを書くエディタ、コンパイルをするコンパイラ、プログラムを実行する実行環境といったソフトウェアが担当しているのですが、これらを一つずつ行っていくのは結構手間のかかる操作なんです。
さらに、コンパイラを通す段階でソースコードにミスがある場合、ソースコードの修正が必要になります。このミスをバグと言うのですが、一般的にバグを探すのはこれまた結構な手間がかかります。
そこで、これらの操作を一つのアプリに統合してしまい、さらに便利な機能を加えたものが作られました。それが統合開発環境、IDEなのです。
ただ、IDEは様々な機能を一つのアプリにまとめた結果、利便性が向上した分だけ複雑化してしまっています。自分にとって必要な機能を選択できれば問題ないのですが、はじめて触る人にとっては意味のわからないボタンやウインドウが大量にあり、それだけで心が折れていまいかねません。
そのため、本当に初心者の人はテキストエディタでソースコードを書いて、コンパイラを通し、実行するという方法をオススメされることがままあります。
ただ、後で詳しく説明しますが、昨今のJavaの開発はIDEを使って行うのが業界の当り前になっています。なので、Javaのプロフェッショナルを目指す人は最初からIDEを使った開発に慣れておいたほうが、後々スムーズに移行できるため、おすすめです。
初心者にとっても便利な機能がある点もIDEの利用をおすすめできるポイントですね。
次の章では初心者にオススメのIDEとテキストエディタを具体的に紹介していきます。
なお、IT企業への転職や副業での収入獲得を見据え、独学でJava言語を習得できるか不安な人は「侍エンジニア」をお試しください。
侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。
「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や副業収入の獲得が実現できますよ。
オススメ統合開発環境は?
この章では初心者にもオススメの統合開発環境、IDEを紹介していきます。
一番のオススメはEclipse
まず紹介するのが、Eclipse(エクリプス)です。このIDEはJavaの業界標準といっていい普及率で、Javaを開発するほとんどの現場で標準、ないしは使っている人が複数人いるレベルです。
そのため、とりあえずEclipseの使い方をマスターしておけば、Javaの開発ツールで困ることはほとんどありません。初心者のうちから慣れておけば、自分にとっての武器になることでしょう。
また、Eclipseはその普及率の高さから様々な点で優遇されているポイントがあります。
たとえば、Eclipseには専用の日本語化システム、Pleiades(プレアデス)があります。IDEは基本的に海外製のツールなので、メニューなどが日本語化されていません。ですが、Pleiadesを利用することで、メニュー周りをほぼ完全に日本語化することができます。
また、Pleiadesには実行環境をセットにしたオールインワンパック的なものが存在します。これは実行用のJavaを内部に保持しているため、ユーザーが新しくJDKなどをインストールする必要がありません。
つまり、PleiadesをインストールするだけでJavaの開発環境一式が整うわけです。これは引っかかるポイントが減る、という点で初心者にとって非常に有用です。
Javaに興味のある方はとりあえずPleiadesのAll In Oneパックをインストールしてみることで、Javaの学習を始めることができます。
また、Eclipseは無償で使える、という点も嬉しいですね。
インストールと使い方に興味が湧いた方はこちらの記事をご覧ください。
多言語に対応したいならIntelliJ IDEA
Javaの開発に関してはとりあえずEclipseをインストールしておけばOK的な部分があるのですが、Eclipseを使っているとこまごまとした部分で不満がたまることもあります。
たとえば、Eclipseの動作が重いとか、他の言語の対応が今ひとつだとか、プラグインが多すぎて選ぶのに苦労する、などなど。
そういった方のために、セカンドオピニオン的にいくつかのIDEを紹介していきます。
JavaでEclipseから乗り換えたい場合、2019年現在一番のオススメはIntelliJ IDEA(インテリジェイ アイディア)です。
このIDEはチェコのJetBrains社が開発した商用IDEで使い勝手の良さに定評があります。Eclipseと異なり有償のツールになりますが、それでも一定数のユーザーがついていることがツールとしての良さを示しているといっていいでしょう。
基本的にJetBrainsで開発が進められているアプリなので、Eclipseでよくある動作に必須のものがプラグインだったりといった、プラグイン多すぎ問題は発生していません。動作もIDEとしては重すぎない程度に収まっています。
そして、何よりの利点はJetBrainsのIDEはインターフェイスがほぼ統一されている、という点です。IntelliJ IDEAはこれ単体で、Java、JavaScript、CoffeeScript、TypeScript、HTML、CSSといったJavaとWeb開発に対応しています。
さらにプラグインを導入することで、Python、Ruby、PHPにも対応することができ、別に販売されているIDEでC/C++、Go、Rなどに対応することもが可能です。
フリーランスでエンジニアをやっていく場合、参加先のプロジェクトに合わせて柔軟に言語を切り替えていくことが求められます。そんなとき、ほぼ同じインターフェイスで多言語で使えるIDEというのは非常に便利です。
興味のある方は公式代理店のこちらをご覧ください。
参照:IntelliJ IDEA Ultimate
また、JavaとAndroidの開発に特化して、無料で使えるCommunityエディションもあります。
こちらからダウンロードできますので、試しに使ってみたい方はぜひどうぞ。ダウンロードボタンはかなり下の方にあります。
参照:IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains
Android開発には専用ツールのAndroid Studio
Androidスマホのアプリを作成する際はJavaが必要になることは、ご存知の方も多いかもしれません。
Javaの開発なので、当然Eclipseでも対応できるかと思いきや、2015年末にGoogleからEclipseのサポートが打ち切られてしまいました。
2019年現在、Androidの開発には、Googleの方から専用のツールが提供されています。それが、Android Studioです。Androidの開発元であるGoogle公式ツールとあって、2013年の登場以来アプリ開発の現場での利用は右肩上がりです。2015年以降はEclipseを切り捨てたこともあり、ほぼ独走状態では無いでしょうか?
ちなみにですが、Android Studioは一つ上で紹介したIntelliJ IDEAをベースにモバイル開発に必要なエミュレータなどを搭載したツールはになっています。そのため、JetBrains系のIDEを使い慣れている人にとっては見慣れたインターフェイスになっています。
Javaを学習する目的がAndroidのアプリ開発にある場合は、最初からAndroid Studioで進めていくのもアリですね。
Android Studioは、無料で利用できます。有償のIDEが無料で使えると考えるとかなりお得感がありますね。
Android Studioに興味のある方はこちらの記事もどうぞ。
なお、ITの仕事に興味はあるものの、どの職種が自分にあうのかわからない人もいますよね。そんな人は「ITキャリア診断」をお試しください。
かかる時間はたったの1分。5つの質問に答えるだけで、自分にあうIT職種を診断してもらえます。
自身に適した職種が知りたい人は、手軽に試してみると良いですよ。
\ 5つの質問に答えるだけ /
現状あまりおすすめできないIDE:NetBeans
最近はほとんど名前を聞かなくなりましたが、未だにJavaの公式チュートリアルなどで見かけるので紹介だけしておきます。
NetBeansはJDKの開発元でもあるOracleが開発しているオープンソースのIDEです。そのため、公式チュートリアルにも登場しているわけです。
最初から日本語化できたり、Java以外にもJavaScript、PHP、C/C++などが開発できたりとメリットが有るにはあるんですが、いかんせんシェア・ユーザー数が少ない関係から表舞台で見ることはあまりありません。
2019年からプログラミングを学習するにあたって、あえてNetBeansからはじめるというのはあまりおすすめできません。
テキストエディタのオススメ
こちらの章ではテキストエディタのオススメを紹介していきます。
Windows以外でも使える高速エディタ VS Code
前の章でお伝えしたように、Javaの開発はIDEがあれば事足ります。ただ、IDEの動作が重く感じていたり、多機能すぎて逆に使いにくく感じている人は、テキストエディタでソースコードを作成して、それ以降の作業をIDEで回していく、というやり方を取ることもできます。
こういった開発スタイルでオススメのエディタの一つがMicrosoft製のVisual Studio Code、通称VS Codeです。
Visual Studioというと、同じくMicrosoft製のIDEがありますが、こちらとはあまり関係ありません。特に、Visual StudioはWindows専用のアプリでしたが、VS CodeはOSを問わずMacでもLinuxでも利用することができます。
また、テキストエディタでありながら後で紹介するようなIDEに匹敵する便利機能をいくつも搭載しており、プログラミングに関してとても高機能なエディタに仕上がっています。
しかも、Visual Studioと違い、とても軽い。この点がVS Codeの評価が高い点の一つと言えるでしょう。
この後に紹介するAtomエディタと比べても、VS Codeは起動や動作に軽快さを感じることが多くあります。
IDEの重さに辟易してきた頃に使ってみると、新しい感動が得られるかもしれません。さらに無料です。
より詳しく知りたい方はこちらの記事もどうぞ。
なお、IT企業への転職や副業での収入獲得を見据え、独学でJava言語を習得できるか不安な人は「侍エンジニア」をお試しください。
侍エンジニアでは、現役エンジニアと学習コーチの2名体制で学習をサポートしてもらえます。
「受講生の学習完了率98%」「累計受講者数4万5,000名以上」という実績からも、侍エンジニアなら未経験からでも挫折なく転職や副業収入の獲得が実現できますよ。
汎用性・拡張性抜群のAtom
オススメテキストエディタの2つ目はAtomです。こちらはソースコード管理サービスとして有名なGitHubが開発しているエディタになります。
Atomの特徴はデフォルトでサポートしているプログラミング言語の多さと、なんといっても拡張性の大きさです。
Atomのデフォルトサポート言語はC/C++、C#、Go、HTML、Java、PHP、Python、Ruby、Scala……と30個近くあります。
さらに、各言語に対して、文法チェックやエラー訂正、見た目変更、Git管理、ハイライト、などなど、非常に多彩なパッケージが用意されています。
非常に細かいところまで、自分でカスタマイズできる良さは他のエディタと比較しても随一では無いでしょうか。
AtomもOSを問わずに利用可能で、さらに無償という点も嬉しいポイントです。
テキスト編集に携わる職業であればどんな方でもそれなりに役に立つので、一度導入を検討されてみてはいかがでしょうか?
様々な職種向けにAtomのパッケージをまとめた記事もありますので、興味のある方はぜひ。
Java開発ツールでつかえる便利機能の紹介
さて、これまでの章でIDEやテキストエディタがJavaの開発に便利に使える、ということをお伝えしてきましたが、正直どこらへんが便利なのか、今ひとつよくわかっていない方も多いかもしれません。
そこで、この章ではこれらのツールがどのように便利なのか、積極的に導入する理由になりそうなメリットを紹介していきます。
コード補完
IDE・テキストエディタの便利機能の筆頭といえばこのコード補完機能です。インテリセンスや自動補完などとも呼ばれますが、名前はともかくほとんどのIDEに搭載されているはず。
これはどんな機能かというと、ソースコード作成中に自分が入力したいコードの候補をIDEが先回りして入力の補助をしてくれる機能です。
たとえば、Javaで文字を画面に表示させる機能にSystem.out.printlnというものがあります。画面に文字を表示させる際は入門段階で非常によくお世話になるものなんですが、毎度System.out.printlnと正確に打ち込むのは正直大変ですし、ミスも起こりやすいポイントです。
ですが、コード補完機能のあるIDEやテキストエディタを利用すると、大文字のSを入力した時点でSから始まるコードを入力するためのウインドウが表示され、そこからSystemを選び、.(ピリオド)を入力するとSystemの後につながるものがまたウインドウに表示され、そこからoutを選び、最後にもう一度.をうつとprintlnなどのコマンドが表示される、という風にとても楽にコードを入力することができます。
文字で読むとわかりにくいですが、実際体験してみると感動モノです。一度コード補完ありの状態でのプログラミングに慣れてしまうと、コード補完が効かないのが辛くてしょうがなくなるレベルです。
生産性もとても向上するので、ぜひ一度コード補完は体験していただきたいですね。
シンタックスハイライト
あまり聞かない感じの横文字が並んだ機能ですが、これはコードを機能ごとに色分けする機能です。
たとえば、下にJavaでHello World!という定番の文字を表示するソースコードが書いてあります。
public class Main { public static void main(String[] args){ System.out.println("Hello World!"); } }
このソースコードも文字ごとに色分けされていますよね。こうすることで、どこにどの機能があるかが把握しやすくなります。
また、コードのうち間違えをすると、本来表示されるべき色が出てこないので、間違えに気づくこともできます。
白黒の無味乾燥なコードよりも可読性が上がるため、意外と生産性にも寄与してくれる機能です。
コード解析
コード解析はツールの側でコードを解析して、ソースコードの間違えを指摘してくれる機能です。
たとえば、先程も出てきたHello World!を表示するプログラムですが、前回と違って、一箇所だけ間違えがあります。
println()の中に表示させたい文字を書くのですが、このとき文字は””(ダブルクォーテーション)で囲まれていなくてはいけません。
ですが、今回ダブルクォーテーションを意図的に落としたところ、IDEはこのように赤線で教えてくれました。
すべての間違いを完璧に直してくれるわけではありませんが、あると無いでは利便性に大きな差が出てくる機能です。
リファクタリング
若干プログラミングの内容的な話になりますが、実際に開発をしていると、ソースコードの関数名や変数という名前をつけた機能の名前を変更したい、という場面に直面します。
名前を変えるだけならどうということはなさそうに感じますが、その名前がソースコードだけでなく、他のソースコードやプログラムかつかわれている場合、名前を変更するには関係する部分のすべての名前を書き換えなくてはいけません。
これをもれなくだぶりなくやるのは結構な作業です。この作業を簡単に実行してくれるのがリファクタリングという機能です。
実際にプログラミングをやってみないと実感しにくい部分ですが、とても重要な機能の1つなんですね。
どのOSで開発すべき?
さて、いろいろとJava開発のためのツールを見てきましたが、最後に割とそもそも論的な部分をみていきます。
それは、どのOSで開発するべき?という疑問です。一昔前までは特定の言語はWindowsだと開発しにくいから別のOSを使ったほうがいいとかいろいろとあったので、こういった疑問が湧くのもある意味自然と言えるかもしれません。
ですが、現状Javaに関して言えばOSは何を使っても大丈夫です。
Javaは先にJDKの説明をしたときに出てきた、JVMのおかげでどんなOSでも実行することができます。また、上に紹介したIDE、テキストエディタはどのOSでも利用できます。
このため、2019年現在Javaの学習を始めるにあたっては、本当にOSは一切関係ない状況になりました。お手持ちのPCがWindowsでもMacでも、Linuxでも問題なく始めることが可能です。
最近メジャーな言語でも、ものによってはOSの制限や利便性が大きく関わってくることがあるので、これはJavaの魅力の一つと言えるでしょうね。
まとめ
さて、今回はJavaの開発ツールに関して、本当にプログラミングをこれから始める人向けに、どんなツールが必要なのかを解説してきました。
Javaの開発にはJDK、テキストエディタもしくは統合開発環境、IDEが必要なこと。これらのツールにはどんな便利機能が搭載されているのかが、なんとなくですがつかめたのであれば幸いです。
この記事をきっかけにJavaの学習にはずみをつけて、エンジニアとしての第一歩を踏み出していただけたならこれ以上嬉しいことはありません。
ぜひ最初のプログラミングを始めよう!と思った気持ちを忘れずに、学習を進めていっていただきたいところです。
お相手はJavaをはじめて9年、プログラミング歴で言えば13年の平山がお送りしました。