プログラマー向け Kotlin ブートキャンプ 1: スタートガイド

この Codelab は、プログラマー向け Kotlin ブートキャンプ コースの一部です。Codelab を順番に進めていくと、このコースを最大限に活用できます。理解度によっては、特定のセクションの概要を読むだけで済む場合があります。このコースは、Kotlin を学習し、オブジェクト指向言語を習得したいプログラマーを対象としています。

はじめに

プログラマー向け Kotlin ブートキャンプ コースでは、Kotlin プログラミング言語について学習します。この Codelab では、Kotlin プログラミング言語によるプログラミングの利点について学習し、最初のレッスンに備えるために IDE をインストールします。

このコースは、オブジェクト指向言語を理解し、Kotlin について詳しく学びたいプログラマーを対象としています。C# を熟知している場合は、Kotlin の一部の機能が使い慣れたものになります。主に Java プログラミング言語に習熟している方にとって、コードがどれほど簡潔で読みやすいかに驚かれるでしょう。

2017 年以降、Google は Android アプリの開発で Kotlin を公式にサポートしてきました。Android デベロッパー ブログでのお知らせをご覧ください。このコースは、Android Kotlin の基礎を前提としています。

前提となる知識

以下について把握しておく必要があります。

  • Java や C# など、オブジェクト指向で静的な型の最新のプログラミング言語の基本
  • 1 つ以上の言語でクラス、メソッド、例外処理を使用してプログラミングする方法
  • IntelliJ IDEA、Android Studio、Eclipse、Visual Studio などの IDE の使用

学習内容

  • Kotlin REPL(Read-Eval-Print Loop)インタラクティブ シェルの使用方法
  • Kotlin コードの基本構文

演習内容

  • Java Development Kit(JDK)と IntelliJ IDEA をインストールし、Kotlin の新機能について学びます。

Kotlin は、プログラマーがプログラマーのために開発した新しいプログラミング言語で、明確性、簡潔性、コードの安全性に重点が置かれています。

堅牢なコード

Kotlin の作成者は、プログラマーが堅牢なコードを作成できるように、言語に関するさまざまな設計上の決定を行いました。たとえば、ソフトウェアの null ポインタ例外により、金銭的な損失やコンピュータの障害が急激に発生し、何時間もデバッグが発生しています。そのため、Kotlin では null 値許容型と非 null 型が区別されるため、コンパイル時により多くのエラーを検出できます。Kotlin は型が強く、コードから型を推測する機能が数多くあります。ラムダ、コルーチン、プロパティがあるため、少ないコードでバグを減らすことができます。

成熟したプラットフォーム

Kotlin は 2011 年のリリース以来、オープンソースとして 2012 年にリリースされています。Kotlin は 2016 年にバージョン 1.0 になりました。2017 年以降、Kotlin は Android アプリの作成において公式にサポートされている言語です。IntelliJ IDEA と Android Studio 3.0 以降に含まれています。

簡潔で読みやすいコード

Kotlin で記述したコードは非常に簡潔であり、ゲッターやセッターなどのボイラープレート コードを排除するように設計されています。たとえば、次の Java コードについて考えてみます。

public class Aquarium {

   private int mTemperature;

   public Aquarium() { }

   public int getTemperature() {
       return mTemperature;
   }

   public void setTemperature(int mTemperature) {
       this.mTemperature = mTemperature;
   }

   @Override
   public String toString() {
       return "Aquarium{" +
               "mTemperature=" + mTemperature +
               '}';
   }
}

Kotlin では次のように簡潔に記述できます。

class Aquarium (var temperature: Int = 0)

簡潔さと読みやすさの目標は、両立が可能です。Kotlin は、簡潔さを保ちながら読みやすさを確保するために十分なボイラープレート コードを使用するように設計されています。

Java との相互運用が可能

Kotlin コードはコンパイルされるため、Java コードと Kotlin コードを並べて、お好みの Java ライブラリを引き続き使用できます。Kotlin コードは、既存の Java プログラムに追加できます。またはプログラムを完全に移行する場合は、IntelliJ IDEA と Android Studio の両方に、既存の Java コードを Kotlin コードに移行するツールが含まれています。

パソコンに最新の JDK がインストールされていない場合は、次の手順を行います。Kotlin プログラムを実行するには、JDK をインストールする必要があります。

インストールした JDK バージョンを確認するには、ターミナル ウィンドウに「javac -version」と入力します。

javac -version

JDK の最新バージョンは、Java SE のダウンロード ページで確認できます。最新バージョンを使用している場合は、IntelliJ IDEA のインストールに進んでください。

ステップ 1: 古いバージョンの JDK/JRE をアンインストールする

最新かつ最も優れた JDK をインストールする前に、古いバージョンの JDK をすべて削除します。

  • Windows の場合は、[コントロール パネル] > [プログラムの追加と削除] の順に選択します。
  • Mac での手順については、JDK のアンインストールをご覧ください。

古いバージョンの JRE をアンインストールする方法については、Mac で Java をアンインストールする方法または Windows パソコンで Java をアンインストールするにはどうすればよいかをご覧ください。

ステップ 2: JDK をダウンロードする

JDK はこちら(
http://www.oracle.com/technetwork/java/javase/downloads/index.html)から無料でダウンロードできます。

  1. 最新バージョンの Java SE の [JDK] の下にある [Download] ボタンをクリックします。
  2. [ライセンス契約に同意する] を選択します。
  3. ご使用のオペレーティング システムに対応する JDK を選択します。

ステップ 3: JDK(Mac 用)をインストールする

ブラウザの [ダウンロード] ウィンドウまたはファイル ブラウザで、.dmg ファイルをダブルクリックしてインストール ファイルを起動します。

  1. Finder ウィンドウに、開いているボックスのアイコンと .pkg ファイルの名前が表示されます。
  2. パッケージ アイコンをダブルクリックしてインストール アプリを起動し、表示される指示に従います。
  3. 続行するには、管理者パスワードの入力が必要になる場合があります。
  4. インストールが完了したら、.dmg ファイルを削除して空き容量を増やしてください。

ステップ 3: JDK と JRE をインストールする(Windows の場合)

  1. ダウンロードしたインストーラ(たとえば、jdk-12_windows-x64_bin.exe)を実行します。これにより、JDK と JRE がインストールされます。デフォルトでは、JDK は C:\Program Files\Java\jdk-12 ディレクトリにインストールされます。JRE は C:\Program Files\Java\jre1.8.0_x にインストールされます。ここで、x はバージョン番号を示します。
  2. デフォルト値をそのまま使用して、画面の指示に沿って JDK をインストールします。

ステップ 4: JDK と JRE のインストール ディレクトリを PATH に追加する(Windows のみ)

Windows は、現在のディレクトリと、PATH 環境変数(システム変数)に記述されている実行可能ディレクトリを検索します。

  1. [コントロール パネル] > [システム] > [システムの詳細設定] > [環境変数] を開きます。
  2. [システム変数] で [新規] をクリックし、JAVA_HOME という変数と JRE のディレクトリ値を指定します。例: C:\Program Files\Java\jre1.8.0_xx はバージョン番号)。
  3. [システム変数] で下にスクロールし、[パス] を選択して [編集] をクリックします。
  4. JRE の bin ディレクトリを Path の先頭に追加し、その後にセミコロン(%JAVA_HOME%\bin;)を付けます。
  5. JDK の bin ディレクトリをセミコロンの後ろの Path の末尾に追加します。例: ;C:\Program Files\Java\jdk-12\bin

ステップ 5: JDK のインストールを確認する

  1. JDK が正しくインストールされたことを確認するため、ターミナル ウィンドウで次のコマンドを入力します。
java -version
javac -version

ステップ 1: IntelliJ IDEA をダウンロードしてインストールする

使用しているオペレーティング システム用の IntelliJ IDEA をダウンロードします。

Windows:

  1. ダウンロードした ideaIC.exe ファイルを実行します。
  2. インストール ウィザードの手順に沿って操作します。

Mac:

  1. macOS ディスク イメージをマウントするには、ダウンロードした ideaIC.dmg ファイルをダブルクリックします。
  2. IntelliJ IDEAアプリケーション フォルダにコピーします

Linux:

  1. ダウンロードした .tar.gz ファイルの Install-Linux-tar.txt をご覧ください。

IntelliJ IDEA のインストールと設定方法について詳しくは、IntelliJ IDEA をインストールするをご覧ください。

ステップ 2: IntelliJ IDEA のインストールを確認する

  1. IntelliJ IDEA を起動します。
  2. アップデートや要求されている追加コンテンツがある場合は、すべてインストールします。
  3. [設定] > [アップデートを確認] の順に選択し、利用可能なアップデートがないことを確認します。

IntelliJ IDEA が Kotlin で動作していることを把握できるように、Kotlin プロジェクトを作成します。

  1. [Welcome to IntelliJ IDEA] ウィンドウで [Create New Project] をクリックします。
  2. [New Project] ペインで、左側のナビゲーションにある [Kotlin] を選択します。
  3. 右側のパネルで [Kotlin/JVM] を選択して、[Next] をクリックします。
  4. プロジェクトに Hello Kotlin という名前を付けます。
  5. [Finish] をクリックします。

これで、Kotlin のインタラクティブ シェルである REPL(Read-Eval-Print Loop)にアクセスできます。Control+Enter(Mac では Command+Enter)を押すとすぐに REPL に入力するコマンドが解釈されます。

  1. [Tools] > [Kotlin] > [Kotlin REPL] を選択して REPL を開きます。
  1. 以下のコードを REPL に貼り付けるか、貼り付けてください。
fun printHello() {
    println("Hello World")
}

printHello()
  1. Control+Enter(Mac では Command+Enter)を押します。以下のように Hello World が表示されます。
  1. この Kotlin コードを簡単に見てみましょう。fun キーワードは関数の後に名前を指定します。他のプログラミング言語と同様に、括弧は関数引数用であり、中かっこは関数のコードをフレームで囲みます。この関数は何も返さないため、戻り値の型がありません。また、行の末尾にセミコロンはありません。

これで、初めての Kotlin プログラムを作成しました。

  • Kotlin は、他のオブジェクト指向プログラミング言語に似ていますが、
  • Kotlin を使用するには、オペレーティング システム用の最新の JDK をインストールしてください。
  • Kotlin を操作するために IntelliJ IDEA をインストールします。
  • IntelliJ IDEA で、Kotlin REPL(Tools > Kotlin > Kotlin REPL)を開始して、インタラクティブ シェルで練習を行います。
  • コードを入力して、Control+Enter(Mac では Command+Enter)を続けて実行します。
  • Kotlin で「Hello World」と表示するコードは次のとおりです。
fun printHello() {
    println ("Hello World")
}

printHello()

Kotlin ドキュメント

このコースに関するトピックについて詳しい情報が必要な場合や、ご不明な点がある場合は、https://kotlinlang.org をご覧ください。

Kotlin のチュートリアル

https://try.kotlinlang.org のウェブサイトには、Kotlin Koans(リッチなチュートリアル)やウェブベースのインタープリタ、サンプルを含むリファレンス ドキュメントが豊富に用意されています。

Udacity コース

このトピックに関する Udacity コースについては、プログラマー向け Kotlin ブートキャンプをご覧ください。

IntelliJ IDEA

IntelliJ IDEA のドキュメントは、JetBrains のウェブサイトにあります。

このセクションでは、インストラクターが主導するコースの一環として、この Codelab に取り組む生徒の課題について説明します。教師は以下のことを行えます。

  • 必要に応じて課題を割り当てます。
  • 宿題の提出方法を生徒に伝える。
  • 宿題を採点します。

教師はこれらの提案を少しだけ使うことができます。また、他の課題は自由に割り当ててください。

この Codelab にご自分で取り組む場合は、これらの課題を使用して知識をテストしてください。

次の質問に答えてください。

問題 1

Kotlin 言語を使用するメリットに当てはまらないものは、次のうちどれですか。

▢ Kotlin では、null 許容データ型と null 非許容データ型が区別されます。

▢ Kotlin は、Android アプリの作成でサポートされている言語です。

▢ Kotlin は、少ないバグで、より少ないコードでコードを記述できるように設計されています。

▢ コードのコンパイルが Kotlin で速くなります。

質問 2

Kotlin REPL を開始する方法

▢ コマンドラインで「repl」と入力します。

▢ IntelliJ IDEA で Kotlin プロジェクトを作成し、[Run > Kotlin REPL] を選択します。

▢ IntelliJ IDEA を開き、[File > Kotlin REPL] を選択します。

▢ IntelliJ IDEA で Kotlin プロジェクトを作成し、[Tools > Kotlin > Kotlin REPL] を選択します。

問題 3

Kotlin と Java コードの説明として正しくないものは次のうちどれですか。

▢ Kotlin コードと Java コードを並行して実行できる。

▢ 既存の Java プログラムに Kotlin コードを追加できます。

▢ 既存の Java コードを Kotlin に移行することができます。

▢ Kotlin コードは Java コードよりも高速に実行されます。

次のレッスンに進みましょう。2. Kotlin の基本

他の Codelab へのリンクを含むコースの概要については、プログラマー向け Kotlin ブートキャンプ: コースへようこそをご覧ください。