Kotlinとは?|開発言語としての特徴をご紹介

 2019.11.08  株式会社システムインテグレータ

世界には200種以上のプログラミング言語が存在していますが、日常的に使用されている言語はほんの一握りです。代表的なものでいえばJavaはC言語、最近ではPythonやGoが人気を集めています。その中で、比較的新しく注目を集めているプログラミング言語「Kotlin(コトリン)」をご存知でしょうか?

2017年の5月には、Google I/O(開発者向け年次会議)にてKotlinをAndroidアプリの開発言語としてサポートすることを公式に発表し、話題を集めました。さらに、求人検索エンジンの「スタンバイ」が発表した、プログラミング言語別年収ランキング2018によると、Kotlinは第4位で平均年収はPythonに並ぶ575万円となっています。求人数こそ少ないものの、今後の高い需要が見込まれているプログラミング言語です。

本稿ではこのKotlinについて、その概要と特徴を紹介していきます。新しく学習するプログラミング言語としてKotlinが気になっている方は、ぜひ参考にしてください。

Kotlinとは?

Kotlinは2011年に登場した新しいプログラミング言語であり、Googleが開発したGoよりも後に登場しています。特徴は「JVM上で動作する静的型付けのオブジェクト指向言語」です。JVMは「Java Virtual Machine(ジャバ・バーチャル・マシン)」といって、Javaプログラムを動作させるのに欠かせないプラットフォームです。

Javaは1995年に誕生し約25年の歴史あるプログラミング言語で、今でも世界中で最も使用されています。しかし、言語使用が次第に古くなっていることから、プログラムが冗長になりやすく安全確保が難しいという難点があることから、「もっと簡潔で安全性の高いプログラミング言語が必要」というニーズから、JVM上で動作しJavaとの互換性を有する言語が登場していきます。ちなみにそうしたプログラミング言語を「JVM言語」と呼びます。

KotlinはいわゆるJVM言語の一種です。Javaと同じくオブジェクト指向言語なので、クラスなどの部品を作成し、それを組み合わせたプログラムを作っていきます。JVM言語として高い人気を誇るScala(スカラ:年収ランキング2018第2位)ともまた違い、独自の特徴を持っています。

ちなみにKotlinの語源は、バルト海フィンランド沖の奥に位置するロシア連邦の領土「コトリン島」です。Kotlinはもともとフィンランド語で「やかん」を表す言葉であり、Kotlinのロゴマークもやかんになっています。

ビッグデータ時代の必須科目 SQLの教科書
教養としてのプログラミング入門BOOK

KotlinとScalaの違い

KotlinオフィシャルサイトのFAQページによると、開発者のJetBrainsはKotlinに次のような設計ゴールを定めています。

  • Javaとの互換性
  • Javaよりも安全
  • Javaよりも完結
  • Scalaよりもシンプル

参考:Kotlin Programming Language『FAQ』

同じJVM言語であるScalaをベンチマークにしていることが分かります。では、KotlinとScalaの違いとは一体何でしょうか?

まず、Kotlinがオブジェクト指向言語なのに対し、Scalaはそれに加えて関数型プログラミング言語という特徴を持ちます。関数型プログラミング言語というのは、関数を組み上げてプログラムを作る言語のことです。代表的な関数型プログラミング言語に「Haskell」がありますが、Scalaはオブジェクト指向言語と関数型プログラミング言語の良いとこ取りというわけです。

KotlinもScalaも、Javaよりも簡潔なプログラムを作成でき、かつJVM上で動作することからJavaの代替として人気を集めています。ただし、Javaとの互換利用が保証されているのがKotlinだけです。つまり、従来Javaを使用していた環境で、互換性を保ちつつより簡潔で安全性の高いプログラムを作成したいのであれば、Kotlinの方が優れているということです。

KotlinはJavaをより進化させ、メリットを伸ばすことを目標にしているのに対し、ScalaはJavaを超える新しいプログラミング言語になることを目標にしています。同じJVM言語でもそもそものコンセプトが異なるため、シーンに応じて適切なプログラミング言語を選択する必要があります。

Kotlinで作れるものとは?

Kotlinで作成できるものの代表といえばAndroidアプリです。Androidオフィシャルサイトでは、キャラクターがKotlinでの開発を推奨しています。日本企業でKotlinを使用している主な企業はYahoo!(Android版Yahoo!ニュースアプリ、GYAO!など)、LINE(Android版LINEアプリ、LINE LIVEアプリ)、サイバーエージェント(Abemaなど)、その他RettyやトクバイといったAndroidアプリでもKotlinが使われています。海外企業ではEvernoteやNetflixなどがKotlinを使用しています。

Androidアプリ以外にもWebアプリケーションの開発や、サーバーサイドの開発として使用されるケースもあります。Javaが持つ汎用性に比べると、それにはまだ届かないという面もありますが、着実に進化しているため将来性の高いプログラミング言語だと言えるでしょう。

Kotlinは採用に強いのか?

プログラミング言語別年収ランキング2018によるとKotlinの求人数は1,000件弱なので、圧倒的な求人数を誇るPythonやRubyと比較すると10分の1程度の水準になります。ただし、人気上昇中のGoやScalaと大きな差はありませんし、平均年収もJavaより高いのでかなり将来性の高いプログラミング言語ではないでしょうか。

今後も継続的に進化を続け、Javaの代替になる時が来ればKotlinは爆発的に普及していくでしょうし、将来性を考慮してプログラミング言語を学びたいというのであれば、Kotlinは最適な言語です。Scalaに比べて学習コストが低いということもあり、プログラミング言語初心者にもおすすめできます。

AndroidアプリやWebアプリケーションの需要が高いことは周知の事実であり、それらの作成を得意としてJavaとの高い互換性を持つKotlin。この機会に、Kotlinの学習に手を付けてみてはいかがでしょうか?

教養としてのプログラミング入門BOOK

RELATED POST関連記事


RECENT POST「プログラミング」の最新記事


プログラミング

サーバーサイドエンジニアとは? 仕事内容や年収、必要なスキル・知識を解説

プログラミング

Pythonで機械学習| AI開発でPythonが使用される理由や学び方を解説

プログラミング

COBOL入門|言語の特徴や、書き方、勉強方法、難易度について解説

プログラミング

効率の良いコーディング練習方法とは?初心者でも学べるコツも解説

Kotlinとは?|開発言語としての特徴をご紹介

TOPSIC TOPへ

新規CTA

TOPSIC-SQL4コマ漫画

RANKING人気資料ランキング

RANKING人気記事ランキング

RECENT POST 最新記事