発端
AltJava(Scala, Kotlin)の個人的疑問まとめ
— ゆみや🦋 (@stepney141) 2019年5月4日
・ScalaとKotlinは何が違って何が得意分野なのか
・ScalaとKotlinのどっちを学べばいいのか
・Javaを知らないのにAltJava手を出して問題ないのか
以下、プロから頂いたコメント
1根本思想が違う。Scalaはsimple、Kotlinはeasy to use
— がくぞ (@gakuzzzz) 2019年5月5日
得意分野はScalaはDDDや非同期関連FW充実さ、KotlinはAndroidやSpringとのITなど
2必要に迫られた、もしくは興味がある方
3実行系であるJVMの知識、標準ライブラリの知識は要る。Java言語仕様やFWについては知らなくても何とかなる https://t.co/8maHPVEenA
どっちもやると良いと思う
— ABAB↑↓BA (@ababupdownba) 2019年5月6日
どっちをやろうか考えている時間よりも、どっちもやってしまうほうが結果多く学び取れて時間の節約になる
どっちも学んだときに、どちらも1からやるわけではなく 片方の知識がある上で学ぶから 差分だけ押さえれば良くなる
更に今後どちらの言語も使い分けれるスキルが付く https://t.co/f1QUEn2P7m
ちょっと厳しい言葉になりますが、どちらも公式チュートリアルをすぐ数時間あればwebで見れます。
— ABAB↑↓BA (@ababupdownba) 2019年5月6日
そこから学び取れることが多いので、いずれ というのはもうやらないな と自分の中での優先順位付けのときに決めています。
Javaを知らないのに…のところは、Java言語を知らなくてもいいとは言えます。
— 齊藤健司(ゆめかけ) (@yume_piece1010) 2019年5月6日
Javaというか、JDKとAltJavaの関係だとか、JVMは何なのか?くらい(中の細かい部分は必要になってからで良い)を理解しておけば良いかと。
ScalaとKotlinの違いは…
つづく(文字数)
Scalaは構文そのもののルールがシンプルな故、色んな記述が出来過ぎて複雑だとか難しいとか思われる子。
— 齊藤健司(ゆめかけ) (@yume_piece1010) 2019年5月6日
Kotlinは太古のScalaから分離した子。
実用面重視で、便利に使えるが構文としては?な規則があったり(使う分には、大抵の人は気にならないらしい)
実用性だけでいうとKotlinでしょう
参考になれば幸いです。
— 齊藤健司(ゆめかけ) (@yume_piece1010) 2019年5月6日
あくまでも、僕の観点ですので、他の方にもアドバイスを頂けるようであれば、頂くと良いかと思います。
ちなみに、Scalaはsbt、KotlinはGradleというビルドツールを使ったりします。
今はScala 2で良いかと思います。
— 齊藤健司(ゆめかけ) (@yume_piece1010) 2019年5月6日
Dottyが、いつ完成するのかもわからない状態ですし(僕が知らないだけかもですが、Scala 3の言語仕様が固まったのかもわからないので)
ScalaもKotlinも全く知らない私の疑問に親切にも答えて下さった皆様、ありがとうございました。