Kotlinを触ってみる その2

 昨日は開発環境もない、Kotlinも触ったことがない状態から、KotlinでコンソールにHelloWorldを出力しました。

 

今日はKotlinとはなんなのか、を調べたいと思います。

 

早速ChatGPTに質問
「Kotlinとはなんですか?」

以下回答

-------------------------------------------------------

Kotlinは、JetBrainsによって開発されたプログラミング言語で、特にAndroidアプリ開発で広く使用されています。以下の特徴があります:

シンプルな説明

  • 静的型付けのモダンな言語
  • Java仮想マシン (JVM) 上で動作する
  • Android公式言語の一つ(2017年にGoogleが採用)

詳細な説明

  1. Java互換性

    • Javaと完全に互換性があり、既存のJavaコードと一緒に使用できます。
    • JavaからKotlinコードを呼び出したり、その逆も可能です。
  2. 簡潔さ

    • 冗長なコードを減らすよう設計されており、開発効率が向上します。
    • 例えば、getterã‚„setter、nullチェックなどが簡単に記述できます。
  3. 安全性

    • Null安全の仕組みが組み込まれており、NullPointerExceptionのリスクを軽減します。
  4. モダンな機能

    • ラムダ式、拡張関数、データクラス、コルーチン(非同期処理)など、モダンなプログラミング要素を多数サポートしています。
  5. クロスプラットフォーム開発

    • Kotlin Multiplatformを使うことで、iOSã‚„Webなどのアプリケーションも同じ言語で開発可能。

Kotlinは特に、Androidアプリ開発を始めたい人やモダンな開発環境を求める開発者にとって魅力的な選択肢です。興味があれば、具体的なサンプルコードもお見せできます!

-------------------------------------------------------

 

とのこと。

Javaと互換性があるということは、既存のJavaアプリからKotlinを導入しやすそうですね。

簡潔さに関しては、この後Kotlinを学んでいくうえで実感できるかもしれません。私としてはしっかりプログラミングしたことがあるのはPHPと古いバージョンの.NET系なので、そこと比較できるとより腑に落ちるかと思います。

Null安全ってよく聞くけどあんまりわかってなかったので調べます。

null安全でない言語は、もはやレガシー言語だ #Python - Qiita


なるほど、nullが入るかどうかをコーディング時に明記して、なるべくエラーを実行時ではなくコンパイル時に排除できるようにしてくれるんですね。NullPointerExceptionが発生しずらくなりそうで素晴らしいですね。

モダンな機能。。ほぼわからないですね。今度学習します。

クロスプラットフォーム開発はよくありますね。XamarinとかReactNativeみたいなイメージ?

学習してみて、さわりは理解しました。Javaと親和性が非常に高い静的型付け言語ですね。

 

ちょっとまた触りたくなったので、コーディングに移ります。

IntelliJ Ideaが30日しか使えないようだったので、VSCodeで開発できるようにYouTubeでkinoコーディングさんの動画を見ながら環境構築を改めてします。

Java23をアンインストールして、17をインストールします。さらに、Kotolinもインストールします。バージョンは2.1。

VSCodeで実行できるように、動画内にあったVSCodeのExtensionも入れていきます。

動画はこの回まで見て、実行です。

www.youtube.com

 

VSCodeでのKotlin実行

できた!

 

やっぱりプログラミングは動くと楽しいですね~

明日以降はこの動画の続きをちょっと見ていきたいと思います。

楽しい。

Kotlinを触ってみる

なかなか仕事終わりの時間を有効に使えていなかったけれど、今日からできるだけ知識のインプットとアウトプットをしていきたいと思います。

 

今日は、前から気になっていたKotlinを触りたいと思います。

まずはとにかく触ってみて、そのあとKotlinについての情報なんかをいろいろと学習していこうと思います。

使用しているPCはWindowsPC、PanasonicのLet’s noteです。

OSはWindows10 Pro

スペックはRAM8GB、プロセッサはIntel Core i5-3320M 2.60GHz

MacBookも持っていますが、このLet's noteもMacBookも古いです。新しいの買いたい。。

 

とりあえず、ChatGPTに質問してみます。

ChatGPTへの質問

まずはJDKをインストールせよとのことなので、JDKをOracleのWebページから取得しました(jdk-23_windows-x64_bin.exeをダウンロードして実行)。

 

次にGradleをインストールせよ、とのことです。

Gradleも名前は知っていますが馴染みがないので後で調べます。

(自宅マンションのネット環境が劣悪で全然ダウンロードが進まない。。)

ChatGPTの回答2

Gradleのサイトに行って、zipファイルをダウンロード(gradle-8.11.1-all.zip)。展開したあとどうすればいいのかわからなかったので以下の記事を参考にしました。

Windows10にGradleをインストール #gradle - Qiita

 

展開したフォルダをCドライブ直下に移動し、PATHを通します。

 

Gradleインストール完了

 

次にIntelliJ IDEAをインストールします。こいつも重いです。。

 

日本語化は勝手にされていました。

IntelliJでプロジェクトを作成します。

 

ChatGPT回答4

 

HelloWorldを出力するコードを書きます。

 

ChatGPT回答5

 

そして実行!

 

ChatGPT回答6

あら、動かない。。

 

「Unknown Kotlin JVM target: 23」というエラーがでます。

どうやら、Javaのバージョン23がよくないらしい。Javaはほとんど触ったことがないのでよくわかりませんが、とりあえずJavaのバージョンを17に落としてみる。(IntelliJ上のJavaのみ)

 

成功

できた!

 

とりあえずコンソールにHelloWorldを出力することはできました。

JavaとGradleの設定、もろもろのダウンロードに時間がかかりましたが何とか今日の作業は終了。

 

明日以降はいろいろ調べたり、プログラムを追加したり、コンソール以外での出力等やってみようと思います。