エンジニアの副業は週1からでも可能?副業の例や探し方も解説
- ITエンジニア
- 副業
Googleが公式に採用している言語であり、Androidの開発環境で多く使用されている『Kotlin』。
ほかの言語と比べ知名度こそ低いですが、Javaと完全な互換性を持ち、より簡潔で安全に記述できる特徴が評価され、Googleを筆頭に名だたるIT企業が採用しています。
この記事では、Kotlinでどのようなことができるのか、概要やJavaとの違いを踏まえながらご紹介します。
Kotlinは、2011年にJetBrains社が開発したオブジェクト指向型のプログラミング言語です。
開発元のJetBrains社は、Javaに特化した高機能IDE(統合開発環境)である『IntelliJ IDEA』や、Python向けの高機能IDEの『PyCharm』など、各言語に適した開発ツールを数多く提供している会社。
各言語のノウハウを理解し使いやすさを追求しているJetBrains社が、Javaと完全な互換性のある、より簡潔な言語として開発したものこそがKotlinです。
KotlinはJavaと同程度の速度で動作することに加えて、Androidの開発言語としてGoogleが公式に認定している言語。そのため、もともとJavaを扱っていた企業だけでなく、Androidアプリの開発を行う企業で広く扱われています。
「Kotlinは、JetBrains社がJavaより簡潔な言語として開発した」と前述しました。この項目では、どの程度KotlinがJavaに比べて簡潔な記載ができるのか具体例を添えて説明します。
まずは王道の「Hello World」を表示させる場合。
Javaの場合
System.out.println("Hello World");
Kotlinの場合
println("Hello World")
単純に文字を出力する構文自体も「System.out.println」が「println」と短く、加えてコード末の「;」も省略できるようになっています。
次に、Androidアプリ開発においてボタンをクリックしたときの処理の違いです。
Javaの場合
findViewById(R.id.sampleButton).setOnClickListener(
new View.OnClickListener()
@Override
public void onClick(View view) {
(ここにボタンがクリックされたときの処理);
}
}
);
Kotlinの場合
sampleButton.setOnClickListener { (ここにボタンがクリックされたときの処理) }
記述量の違いが一目瞭然。Kotlinの場合”毎回このように書かないといけない”という決まった構文が大きく省略されていることが分かります。
JetBains社はKotlinによって、Javaのコードを簡潔にするだけでなく、安全性を高めることも目指しています。
たとえば、Javaを扱うプログラマーであれば一度は見たことのあるエラーである「NullPointerException」。これは、簡単に言えばNullを指定している変数を呼び出そうとしたときに見られるものですが、厄介なことにこのエラーはプログラムの実行時に発生します。すなわち、実際に動かして初めてエラーが判明するのです。
このエラーを防ぐための仕組みが、Kotlinにも採用されている「null安全」です。Kotlinのようなnull安全な言語の場合、nullを指定している箇所に問題があれば実行前のコンパイル時にエラーが出ます。そのため、nullが原因となるエラーを事前に防げるのです。
ここでは具体例を挙げながら、Kotlinという言語で、どのようなことができるのか紹介します。
KotlinはAndroidアプリ開発としてGoogleが公式採用している言語。そのため、世の中の需要的にはAndroidアプリ開発が最も多くなりますが、Javaの後継として開発されていることも忘れてはいけません。
Kotlinは、Androidのアプリ開発に特化した言語として開発されているため、最も使用される場面は当然アプリ開発となります。
Android developersページにはKotlinでの開発事例が多数紹介されており、人気のサービスを挙げると『Slack』『Evernote』『Dropbox』『NETFLIX』『Twitter』『Kindle』などがあります。
実際、Androidアプリの上位1,000件のAndroidアプリにおいて、その80%以上がKotlinによって開発されています。
Javaの後継であるKotlinは、Webアプリの開発も可能です。
有名なサービスでいうと、『Yahoo!』ページにおける一部サービスにおいてKotlinが使用されています。
私たちが普段何気なく利用しているサービスの一部に、スマートフォンなどのデバイスで動作するのではなく、サーバーで動作した結果を参照しているものがあるのをご存知でしょうか。
たとえば、LINEです。LINEは、メッセージを送るとサーバーにメッセージが格納され、送り先の相手が同様のサーバーを参照することによって会話が成立するシステムをとっています。
このような考え方や仕組みをサーバーサイドと呼びます。
このサーバーサイドにおいて最も使われている言語はJavaであるため、この後継であるKotlinでもサーバーサイド開発が可能。実際に、これまでJavaを使用していた各サービスが次々とKotlinに移行しているようです。
有名なサービスだと『アメーバーピグ』『LINE GAME』『NewsPicks』などが挙げられます。
KotlinはこれからAndroidアプリ開発を主に行いたいと考えている初学者から、Javaを扱うことのできるプログラミング経験者まで幅広くおすすめできる言語です。
現在、JavaからKotlinに移行を検討している企業が多く、Kotlinが扱える人材を新卒や中途、フリーランスで募集している事例が多くあります。
今後、さらにKotlinの需要は伸びると考えられるため、未経験者がはじめて習得する場合でも、経験者が扱える言語を増やすという場合でも、学習して損はないでしょう。
個人的にプログラミング言語の学習は基本Progateを推薦したいところなのですが、この記事執筆している2021年10月現在、ProgateでKotlinは扱われていません。
そこで、Progateでのコース設立を待ちつつ、現在おすすめの学習方法としては、Udemyという動画教材販売サイトで提供されているひらまつ しょうたろう氏のはじめてのKotlin【Java知らなくてOK!丁寧な解説でAndroidに必要なKotlinの基本を学習】という教材になります。プログラミング経験が少なくても学習しやすく、効率的に学習を進められると思います。
独学に自信のない方は、プログラミングスクールに通うのもおすすめです。
2024年 東京都内の優良プログラミングスクール20選
Workship MAGAZINE
この記事ではKotlinという言語は何なのか、Kotlinを使ってどのようなことができるのかを解説しました。
筆者からみて、Kotlinは現在学ぶべきプログラミング言語だと自信を持って言えます。興味を持たれた方はぜひ学んでみてください。
(執筆:セイタモ 編集:泉)
【連載】プログラミングでできること
現役エンジニアによる各言語の特徴紹介!
プログラミングでできることとは?初心者のための超基礎知識
JavaScriptでできることとは?おすすめの学習方法を徹底解説
【AI開発に必須】Pythonでできること7選。機械学習はもちろん、データ分析やWebアプリ開発も!
Javaでできることとは?汎用性の高い初心者おすすめ言語
PHPでできることとは?Webアプリケーションを作るならコレ!
Rubyでできることとは?スピード感ある開発をしたい方におすすめ!
Go言語でできることとは?パフォーマンスの高い汎用的な言語
Swiftでできることとは?iPhoneアプリの開発ならこのプログラミング言語!
C++でできることとは?IoTや機械工学が得意な歴史ある言語!
Kotlinでできることとは?Googleが推奨する次世代Android用言語
C言語でできることとは?IoTやロボット開発にも使われる汎用言語
C#でできることとは? 幅広いアプリ開発に用いられる将来性の高い言語
Unityでできることとは?世界中のゲーム開発に使われるゲームエンジン
CSSでできることとは? 洗練されたWebデザインに必須の言語!
Perlでできることとは? 存在感は薄れるもニッチな需要がある言語