PHPerがJavaとKotlinを触ってみた – Kotlinって何? – 1


こんにちは!
初めまして、はしもとと申します。

 

PHPを5年ほどやっているWebプログラマーです。
この度、sinProjectで、AndroidアプリiPhoneアプリを開発することになり、現在、勉強中です。

 

 

「PHPerがJavaとKotlinを触ってみた」シリーズについて

 

Androidアプリを開発するということで、ベースとなる言語は「Java」です。

私は、生まれてこのかた、Javaをまとも触ったことがなく、PHPとJavaScriptをメインで触っていました。

 

いわゆる「PHPer」と呼ばれる内の1人です。

 

そのため、Javaの記法を知らず、どんな風に書くのかもイメージがつきません。

 

そんな私が初めてsinProjectで「Java」と「Kotlin」を触ってみましたので、勉強した内容を兼ねて、「PHPerがJavaとKotlinを触ってみた」シリーズを執筆することになりました。

 

ここでは、PHPerから見た「Java」と「Kotlin」の良い所や気になる所を紹介していきます。
記念すべき第1回目は「Kotlinについて」です。

 

Kotlinについて

Kotlin-logo

 

Kotlin(ことりん・コトリン)は、Javaと完全互換があるオブジェクト指向型言語となります。

 

Wikiで調べてみると、

 

Java 言語よりも簡潔に書けることを目指している。
文の末尾にセミコロンが不要。

 

また、function の意味のキーワードが短縮形のfunだったりという小技もあるが、オブジェクトを生成する文の左辺と右辺に型を書くことなく一度書けば済むようにした。

引用:Wikipedia

 

と書いていますが、まだ勉強し始めなので、その恩恵が実感できていないのが、正直な感想です。

 

 

そんな状態の私がKotlinについて「おっ!」と思ったことは、
『KotlinからJavaへ変換することが出来る。その逆も出来る』
ということです。

 

Kotlinは、新しい言語なので、メジャー言語になるかどうか未知数な部分があり、Kotlinだけ学習するというのはリスクがあります。

 

ですが、Javaで書いたコードをそのままKotlinへ変換が出来るのは、学習コストの面でも導入しやすいというメリットがあります。

 

 

実際にJavaで1〜10まで加算する関数を書いてみましたが、

public int sum(int start, int end) {
    int result = 0;

    for (int i = start; i <= end; i++) {
        result += i;
    }

    return result;
}

※ startCountとendCountをそれぞれ引数として、「1」と「10」を代入した場合です。

 

これをKotlinへ変換してみると、

fun sum(start: Int, end: Int): Int {
    var result = 0

    for (i in start..end) {
        result += i
    }

    return result
}

こんな感じになりました。

 

 

これは、AndroidStudioのメニューからすぐにコンバートすることが出来、手動で変換した訳ではありません。

このように「Javaを覚えればKotlinも出来る!」というのは大きなメリットになります。

 

 

はしもとのひとりごと

初めてJavaを書いてみましたが、関数自体に型を指定する所あたり、「型にうるさい言語なんだ」ということを実感しました。

 

恐らく、これが普通なのかも知れませんが…

PHPの場合、型はあってないようなものなので、それほど型を意識したことはないです。

 

特に

int型の「1」

 

string型の「1」

です。

 

大きな問題になることはあまりないのですが、よく考えると全く別物なので、同じように扱えるPHPはどうかなと思ったりします。

0

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)