新しい言語にして高収入?Kotlin(コトリン)とは?特徴やできる事まとめ

現在、多数の新しいプログラミング言語が出てきていますが、エンジニアの目線からすると、新しい言語に飛びつくことにはいくつかのリスクがあります。

それは、
「中長期的に需要のある言語なのか」
という点です。

1つの言語をある程度習得できれば、他の言語を習得する時間は非常に短くなります。

とは言え、その言語特有の書き方や文化、フレームワークなどを学んでいくと、かなりの時間がかかることも確かでしょう。

そのため、エンジニアにとってプログラミング言語自体の特性を知り、しっかりと中長期的に需要のある言語を選択すると言うのは、非常に重要なことです。

今回は、そんなプログラミング言語の中でも、「Kotlin」という言語を見ていきます。

このKotlinは、最近エンジニアの案件としてもよく聞く言語なので、知っておいて損はないでしょう。

Kotlin(コトリン)とは

では、まずはKotlin誕生の背景や、基本的な情報を見ていきましょう。

Kotlinは、「コトリン」と読み、2011年に誕生した新しい言語です。

Kotlin誕生の背景

Kotlinは、オブジェクト指向言語で、Javaを簡単且つ安全に利用できる様に作られた言語です。

そのため、Javaの仮想マシンであるJVM上で起動し、文法としてもJavaに近いという特性を持っています。

Javaの統合開発環境の開発元であるJetBrainsが開発した言語になります。

後述しますが、このKotlinはAndroidアプリの開発で用いられる事が多いのですが、Androidアプリの開発において、
「メソッド数は65K以下に抑えなくてはいけない」
という誓約があります。

これを、Javaで開発すると大容量のライブラリを使用することが出来ません。

そのため、Javaライブラリの代わりになるコンパクトなランタイムライブラリを持っているKotlinで開発するのが主流になってきたという背景があります。

Kotlinが人気の理由

Kotlinは非常に人気のプログラミング言語ですが、その最も大きな理由は
「Android開発で公式認定された言語」
だからです。

今や、世界中で利用されているスマートフォン。

日本ではiPhoneのシェアも非常に高いですが、世界的に見れば75%近くのシェアを誇るAndroid。

そんなAndroidの開発言語として公式認定されたことは、長期的にエンジニアをやっていく人にとっては、言語選択する上で非常に大きなポイントとなっているでしょう。

ちなみに、Android Studio 3.0では、Kotlin開発用のプラグインが最初から組み込まれており、開発環境の準備という意味合いでも、他言語と比べて大きなアドバンテージがあります。

Kotlinの特徴

Kotlinの大きな特徴としては、前述したように「JVM上で動く」という事です。

これにより、JavaとKotlin自体の互換性はないものの、コンパイル後のコードとしてはJavaと同じものに変換されます。

そのため、KotlinからJavaのプログラムを呼び出すことも、その反対も出来ます。

これまで開発してきたJavaの資産をそのまま流用できる点が大きいでしょう。

次に、NULL参照の安全性が高いことも大きな特徴です。

Javaでは、NULLの参照型変数を参照しようとすると、
「NullPointerException」
というエラーになります。

そのため、通常JavaではNULLか否かをIF文で判定する必要があるのですが、Kotlinではこのエラーを未然に防いでくれる仕組みがあります。

結果的に、未熟なエンジニアでも安全性の高い開発が可能になります。

Kotlin以外のJVMを使う言語

因みに、Kotlin以外にもJVMを使ったプログラミング言語は存在します。

下記のような言語がそれにあたります。

JRuby:RubyをJava VM上に移植したもの
Groovy:Javaに近い記法が可能なスクリプト言語
Scala:関数型言語とオブジェクト指向言語の両方の特徴を持つプログラミング言語

ただ、開発言語としてはKotlinほどメジャーになっていないのが現状でしょう。

また、前述した様に、KotlinはJavaで作ったプログラムを呼び出すことが可能です。

しかし、それ以外の上記の言語ではこの相互に利用する事が保証されていません。

そういった意味でも、Kotlinには大きなメリットがあるでしょう。

Kotlinで出来ること

では、実際にKotlinで出来る事を見ていきましょう。

Androidアプリ開発

現在最も多く利用されているのは、Androidアプリの開発です。

エンジニアの求人サイトを見ても、Android開発が多くなっています。

因みに、Android版のYahoo!やLINEのアプリもKotlinで開発されており、実績としても十分にあります。

その他のWEB開発

サーバーサイドの処理もKotlinで書くことが出来るため、通常のWEBアプリケーションの開発も可能です。

ただ、一般的にはAndroid開発以外の開発をするなら、
「KotlinよりもJava」
という風潮もあるようです。

Javaは学習コストが高く、難しい言語なので、初心者にはハードルが高いため、
「まずはKotlinでAndroidアプリとWEB開発をしてからJavaを学ぶ」
というキャリアプランを描いているエンジニアもいるようです。

Kotlinの需要

では、今後を踏まえた上で、Kotlinの需要はどのようになっているのでしょうか。

求人はまだまだ少ない

残念ながら、現状の求人数としては、他の言語に比べると少なめと言えます。

これは、Androidアプリの開発に重きを置いているKotlinですが、Androidそのもののシェアが日本ではiPhoneに比べると少ない・・・ということも大きな原因と言えそうです。

海外では75%のシェアをAndroidが誇ると説明しましたが、反対に国内では33%程度と言われています。

また、クロスプラットフォーム開発も注目されている現代で、Androidに特化してエンジニアを採用する企業はそれほど多く無い印象を受けます。

将来性とエンジニアの希少性から平均年収は高め

一方で、Javaとの相互利用が可能な点や、学習コストの低さという利点がありながら、エンジニア数が少ないという理由から、平均年収は比較的高めです。

求人としては、年収600万円前後のものも多く、新しい言語の中では、比較的高い年収が狙える言語と言えるでしょう。

Kotlinのエンジニアをお探しならAMELAに

今回は、Androidアプリ開発において注目されているKotlinについて説明してきました。

日本での需要はまだまだ小さいものの、将来的に海外への進出を考えている場合や、今後Androidのシェアが伸びた際には、非常に大きなマーケットになる可能性があります。

そのため、今のうちからクロスプラットフォーム開発ではなく、Android用のアプリも開発したいと考える企業も多いでしょう。

そんな時には、是非AMELAにご相談下さい。

オフショアを用いた安価な開発も可能ですし、ITエンジニアの派遣も行っているため、適切な提案が出来ると考えています。