最近新しいプログラミング言語を習得したいなーと思ってぼーっとプログラミング言語について調べていたところ、いいプログラミング言語に出会えました!
それこそがまさにKotlin(コトリン)です
ここではこのKotlinの特徴と、私が習得する言語にこのKotlinを選んだ理由について説明していきたいと思います。
Contents
KotlinはAndroidアプリ公式言語
KotlinはGoogleからAndroidアプリの開発言語として正式採用されたプログラミング言語です。
KotlinはJava互換
KotlinはJavaとの互換性があり、JavaコードからKotlinコードを呼ぶことができますし、KotlinコードからJavaコードを呼ぶこともできます。
つまりJavaからの移行が簡単です。
スポンサーリンク
KotlinはJVM上で動作
Kotlinで書いたプログラムはJava仮想マシン(JVM)上で実行可能です。
したがって、Kotlinは一度コンパイルしてしまえばWindowsでもMacでもLinuxでも動作させることが可能です。
Kotlinは安全なプログラム言語
KolinにはNULL安全という仕組みがあります。これによりKotlinでは原則NULLにアクセスする可能性があるソースコードの場合にコンパイルが通らなくなります。
C言語なんかでNULLアクセスするとアプリ落ちたりします。特に大規模なソースコードになるとアプリ落ちたとしてもその原因を追うのが大変ですし、テストやレビューでそのNULLアクセスの可能性が見つけられなかったらリリース後に急にアプリが落ちて苦情大殺到・・・!という可能性もあります。
ですので、そもそもこのNULLアクセスできなくするという点がかなりKotlinが安全な理由となります。
Kotlinのプログラムは簡潔
KotlinのプログラムはJavaに比べてかなり簡潔に記載することが可能です。
Javaよりもプログラムコードが短く、さらに人間にわかりやすい直感的な記述が可能です。
後からプログラムを読みやすく保守性も高くなっています。
スポンサーリンク
kotlinはオブジェクト指向
Kotlinはオブジェクト指向を取り入れたプログラミング言語です。
私が学ぼうと思った理由
私がこのKotlinを学ぼうと思った理由・挑戦しようと思った理由は下記の3つです。
・将来性がある言語と感じたため
正直言うと最初に学ぼうと思っていたのはJavaでした。
しかし、最近はJava JDKは有償化することが発表されています。
この有償化により、Javaのシェアは低下することが予想されます。程度は分かりませんが、必ず他の無償のプログラミング言語への移行が検討されると考えられます。
その時に選択肢の1つ目にとして挙げられるのがこのKotlinだと思っています。
理由は、Javaと互換性があるためです。KotlinはJavaから移行しやすい言語になっていますので、現状のJavaソースコードから大きく変更することなく移行が可能です。またJavaに比べて安全性・可読性が高いソースコードとなりますので、Java有償化に伴いKotlinに移行する開発者は増加することが考えられます。そのためKotlinプログラマーへの求人も今後増加することは間違いないと思います。
また、Androidアプリの正式プログラミング言語として採用されたことも将来性がある大きな理由の1つです。日本ではiOSのシェアが高いですが、世界全体でみるとAndroidの方がシェアが高いです。そのAndroidのアプリ開発にKotlinが採用されている以上、今後さらにKotlinへの注目度は高まっていくこと間違いなしです。
・学習しやすい言語なため
KotlinではAndroidアプリ開発が可能です。ですので、アプリ開発を行うと言う明確な目標を持って学習できると考えました。またアプリを開発しながら学習できるため楽しく学べることもこの言語を選んだ理由の1つです。
またKotlinはAndroid StudioやIntelliJ IDEAなど開発環境も豊富であり、独学でも学習を開始しやすい言語であると思います。
・オブジェクト指向も学べるため
私の一番得意なプログラミング言語はC言語です。
C++やJavaも使用した事もありますが、初めの触り程度しか理解しておらず、オブジェクト指向は正直あまり理解できていません。
どうせならオブジェクト指向の理念・概念を理解しながら学習できるプログラミング言語が良いと思っていたので、Kotlinは最適なプログラミング言語でした。
※Android ロボットは、Google が作成および提供している作品から複製または変更したものであり、Creative Commons 3.0 Attribution ライセンスに記載された条件に従って使用しています。