Who?
!
松田
!
!
松田 淳平 @fat_daruuuuma, jmatsu
佐伯研 M2
キッチンドリンカー、Java/Kotlin、準シェル芸人、リポジトリ解析
ラムダがない Method chainingしづらい
ぬるぽ~~~~~ switch文くそすぎ
飽きた(今年で10年目) !
ラムダがない Method chainingしづらい
ぬるぽ~~~~~ switch文くそすぎ
飽きた(今年で10年目) !
可愛くない =>
2011年: JetBrains社が作成 ロシア生まれ
静的型付OO言語 JVM or JavaScriptで動作
Javaと完全相互運用 2012~現在: OSS
発音が可愛い 構文が可愛い
稀に補完が効かなくなって可愛い ロシア生まれが可愛い
擬人化されたら多分可愛い 多分金髪だし可愛い
多分幼女だろうし可愛い
new、セミコロン不要 型推論、総称型
パターンマッチング Null safe Range
Nested function lambda 高階関数
method chaining 拡張関数やプロパティ
辞書配列 ifは式
getter/setterの省略定義(C#的な) etc…
Java、Scala、Groovy Swift、JavaScript どれか使えれば余裕
⇒ Hybrid無しで両方書ける (人もいるでしょうね)
main/src/java => main/src/kotlin
kotlin -> Java kotlin <- Java
public void onCreate(Bundle bundle) { super.onCreate(bundle); setContentView(R.layout.activity_̲main); Button b = (Button)findViewById(R.id.b); TextView t = (TextView)findViewById(R.id.t); }
!
型書いて、findして、 キャストして、・・・
Kotlin w/
kotlin-android-extensions
import kotlinx.android.synthetic.activity_main.* !
これをimport文に加えると・・・
!
!
!
自動でフィールドになる 勿論型も保証されて、NotNull
武器防具無しのJavaを 武器装備のKotlinで殴りました
!
Javaでも良きライブラリを使えば 良い感じになります
RetrolambdaやButterknifeをぜひ
可愛くない⇒