コミュ障だから明日が僕らをよんだって返事もろくにしなかった

何かを創る人に憧れたからブログをはじめたんだと思うよ

Progateアプリ版進捗報告

定例進捗報告

皆さんはProgateというアプリをご存知でしょうか?プログラミングをはじめてやる人達がなんかよくわからないけどもオススメする例のやつです。かく言う僕も利用していまして、最近、アプリ版にJavaPythonが更新されたので進捗報告をしてみようと思ったのでした。

まあ、件のアプリはこれです。
inujini.hatenablog.com

やってみた

f:id:andron:20180520033311p:plain
終えました。
前回同じく、さくさく終わる。個人的にプログラミングはじめる人が妙にプッシュする割に学びがあるのかと言うと疑問な感じ。ただアプリ版のUIは個人的に好きだったりする。そんな感じでした。



おまけ

それだけで終わってしまうとやってみただけのつまらない話になるので、僕が最近利用し始めたKotlinで今回やってみた学習カリキュラム相当のことを書いてみたいと思います。なお、動作確認はしてますが文法的に正しいかは知らないので生暖かい目で見ていただけると幸いです。そういえば、ProgateにはなんでKotlin講座ないんでしょうね。まあ、いいや。

動作確認はとりあえずこっからで……。
Try Kotlin


文法の書き方の前に先に「ハローワールド」でも見ておきましょうか。

// Kotlinのコメントアウト
fun main(args: Array<String>) {
    println("Hello, world!")
}

こんな感じっぽいです。文の後ろに;不要なのは楽ですね。


1. 文字列、数値の扱い
Kotlinは型推論(変数などの型を設定しなくてもプログラムを処理するときに判別してくれるやつ)を採用しているらしいです。Javaとは違いますね(笑)*1

fun main(args: Array<String>) {
    var num = 123 // Int
    // 明示的に型をつける場合 var num: Int = 123
    println(num)

    var chr = "文字" // String
    println(chr)
}


2.変数の利用
上のほうで変数までつけてしまいましたがvarでなんでもいけるそうです。Javaとは違いますね(笑)*2。ちなみに、定数はvalだそうです。


3.真偽値と条件分岐

fun main(args: Array<String>) {
    var kuji: Boolean = false
    if (kuji)
      println("あたり")
    else
      println("はずれ")  // false なので はずれ
}

Pythonみたいな感覚で書いていたらbooleanが先頭小文字で一瞬詰みかけた。とりあえずIF文って言われるやつはこんな感じになります。そういえば初学者向けの講座とか見ると、条件式に真偽値直接入れる判定あんまり見ないけどこういった書き方って推奨されないんですかね。スクリプト言語とかってfalseになる解釈が結構あるから混乱させないようにとかそういう配慮なんですかね…?



まあ、こんな感じのことがアプリ版で書いてあります。ちなみに、この記事はProgate宣伝に見せかけたKotlin普及のために書いた記事になります。Javaもディスってるように見えるのは気のせいです*3

*1:なお、最新のJavaでは……

*2:なお、最新のJavaでは……

*3:ざっと文法周りを見た感じの感想ですが Kotlin もビット演算周り辛い気がします