JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
※前スレ
Kotlin 5
https://mevius.5ch.net/test/read.cgi/tech/1544268581/
Kotlin 6
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/06/22(土) 15:59:57.23ID:zj+KJbMh670デフォルトの名無しさん
2020/02/07(金) 08:06:35.60ID:lRgw/j43 suspend fun fun2() {
throw Exception("hoge")
}
suspend fun fun1() {
fun2()
}
// コルーチンスコープが定義されてるところはJobで返す
fun test(): Job {
return launch {
fun1()
}
}
// 大元
fun main() {
val job = test()
job.invokeOnComplete(t: Throwable?) { }
}
とまぁこんな感じになっちまうけどいいか・・
他の言語なら普通に例外を伝搬させられるが・・?
throw Exception("hoge")
}
suspend fun fun1() {
fun2()
}
// コルーチンスコープが定義されてるところはJobで返す
fun test(): Job {
return launch {
fun1()
}
}
// 大元
fun main() {
val job = test()
job.invokeOnComplete(t: Throwable?) { }
}
とまぁこんな感じになっちまうけどいいか・・
他の言語なら普通に例外を伝搬させられるが・・?
671デフォルトの名無しさん
2020/02/07(金) 08:11:00.57ID:lRgw/j43 と、coroutine境界の内外でどうエラーの例外を伝えればいいか悩んでた次第です・・
672デフォルトの名無しさん
2020/02/07(金) 08:54:24.91ID:cvaigXbo >>669
>>664をC#で書くとこうなる → https://ideone.com/QwtGY4
try{ GlobalScope.launch {例外発生} } ...
これはスレッドで言えば
try{ Thread {例外発生}.start() } ...
と同じこと
>>668で書いたように戻り値も例外も同じで
待機やコールバックにより「受け取る」ことが必要
Kotlinでは runBlocking{}
C#では .Resultまたは.Wait() (どちらもスレッドをブロックする)
JavaScript(Promise)ではonRejectedコールバック
>>664をC#で書くとこうなる → https://ideone.com/QwtGY4
try{ GlobalScope.launch {例外発生} } ...
これはスレッドで言えば
try{ Thread {例外発生}.start() } ...
と同じこと
>>668で書いたように戻り値も例外も同じで
待機やコールバックにより「受け取る」ことが必要
Kotlinでは runBlocking{}
C#では .Resultまたは.Wait() (どちらもスレッドをブロックする)
JavaScript(Promise)ではonRejectedコールバック
673デフォルトの名無しさん
2020/02/07(金) 09:11:43.28ID:cvaigXbo >>670
> 他の言語なら普通に例外を伝搬させられる
まずここに勘違いがある
Kotlinに限らず同期メソッドと非同期メソッド間で
待機やコールバック無しに伝搬することは無い
main自体を非同期メソッドにしているか
ブロックする呼び出しをしていることに気付いていないだけ
> 他の言語なら普通に例外を伝搬させられる
まずここに勘違いがある
Kotlinに限らず同期メソッドと非同期メソッド間で
待機やコールバック無しに伝搬することは無い
main自体を非同期メソッドにしているか
ブロックする呼び出しをしていることに気付いていないだけ
674デフォルトの名無しさん
2020/02/07(金) 09:21:26.29ID:lRgw/j43 >>673
うん。だから、他の言語でmainメソッドを非同期メソッドにして、普通にtry-catchで
例外捕まえれるけど、kotlinだと無理だから他の方法あるのかな??って
話をしてたんですけど・・・
うん。だから、他の言語でmainメソッドを非同期メソッドにして、普通にtry-catchで
例外捕まえれるけど、kotlinだと無理だから他の方法あるのかな??って
話をしてたんですけど・・・
675デフォルトの名無しさん
2020/02/07(金) 10:13:20.15ID:cvaigXbo >>674
mainを非同期メソッドにして普通にtry-catch出来るけど
suspend fun fun2() { throw Exception("hoge") }
suspend fun fun1() { fun2() }
suspend fun main() {
try { fun1() }
catch(e:Exception){ println("catch") }
}
mainを非同期メソッドにして普通にtry-catch出来るけど
suspend fun fun2() { throw Exception("hoge") }
suspend fun fun1() { fun2() }
suspend fun main() {
try { fun1() }
catch(e:Exception){ println("catch") }
}
676デフォルトの名無しさん
2020/02/07(金) 11:43:04.21ID:cvaigXbo 躓きの原因になってそうな点を書いてみる
・Kotlinのsuspendメソッド間は暗黙で同期して明示で非同期するが
他言語のasyncメソッド間は暗黙で非同期して明示で同期する
・GlobalScope.launchには地雷がある(joinで例外が受け取れない)
※同スコープの launch は受け取れる
GlobalScope.async/await に置き換えるのが良いと思う
・同スコープで非同期起動(async{})した場合の連鎖キャンセルで混乱している
スコープがよく分からなければ GlobalScope.async を使っておけばいい
GlobalScope.launchの件は使わないから気付かなかった
基本的には GlobalScope.async/await, runBlocking を使えば良い
・Kotlinのsuspendメソッド間は暗黙で同期して明示で非同期するが
他言語のasyncメソッド間は暗黙で非同期して明示で同期する
・GlobalScope.launchには地雷がある(joinで例外が受け取れない)
※同スコープの launch は受け取れる
GlobalScope.async/await に置き換えるのが良いと思う
・同スコープで非同期起動(async{})した場合の連鎖キャンセルで混乱している
スコープがよく分からなければ GlobalScope.async を使っておけばいい
GlobalScope.launchの件は使わないから気付かなかった
基本的には GlobalScope.async/await, runBlocking を使えば良い
677デフォルトの名無しさん
2020/02/09(日) 13:51:35.05ID:nzKzkqWJ Kotlin 〜地図にない場所〜
678デフォルトの名無しさん
2020/02/11(火) 05:13:51.51ID:LP4Ep5U4 >>677
脈絡がなさすぎてよくわからんが、これがやりたかったん?
https://ja.wikipedia.org/wiki/Will_%E3%80%9C%E5%9C%B0%E5%9B%B3%E3%81%AB%E3%81%AA%E3%81%84%E5%A0%B4%E6%89%80%E3%80%9C
水をさして悪いが地図にはあるんだなこれが。島の名前が由来だからね。
https://www.google.com/maps/place/%E3%82%B3%E3%83%88%E3%83%AA%E3%83%B3%E5%B3%B6/@60.0019041,29.649169,12z/data=!3m1!4b1!4m5!3m4!1s0x4696454b3c730d79:0x84277e6a3fbe0093!8m2!3d60.0125003!4d29.7336138
脈絡がなさすぎてよくわからんが、これがやりたかったん?
https://ja.wikipedia.org/wiki/Will_%E3%80%9C%E5%9C%B0%E5%9B%B3%E3%81%AB%E3%81%AA%E3%81%84%E5%A0%B4%E6%89%80%E3%80%9C
水をさして悪いが地図にはあるんだなこれが。島の名前が由来だからね。
https://www.google.com/maps/place/%E3%82%B3%E3%83%88%E3%83%AA%E3%83%B3%E5%B3%B6/@60.0019041,29.649169,12z/data=!3m1!4b1!4m5!3m4!1s0x4696454b3c730d79:0x84277e6a3fbe0093!8m2!3d60.0125003!4d29.7336138
679デフォルトの名無しさん
2020/02/11(火) 08:36:48.94ID:NSYf+CGe KaMP Kitの紹介 (Kotlin Multiplatform用のツール)
https://blog.jetbrains.com/kotlin/2020/02/accelerate-your-kotlin-multiplatform-evaluation-with-kamp-kit/
試してないけど、マルチプラットフォームでアプリを作る際の
注意点やどのように書くかのガイドを目的としたツールのようだ
ツール自体ではないけど、ツールを作った会社の人によるKotlin/Nativeでの並行性についての話
https://www.youtube.com/watch?v=oxQ6e1VeH4M
https://blog.jetbrains.com/kotlin/2020/02/accelerate-your-kotlin-multiplatform-evaluation-with-kamp-kit/
試してないけど、マルチプラットフォームでアプリを作る際の
注意点やどのように書くかのガイドを目的としたツールのようだ
ツール自体ではないけど、ツールを作った会社の人によるKotlin/Nativeでの並行性についての話
https://www.youtube.com/watch?v=oxQ6e1VeH4M
680デフォルトの名無しさん
2020/02/12(水) 23:27:40.61ID:KU1jPpQ4 Jupyterとか手広げすぎだろ...
https://kotlinlang.org/docs/reference/data-science-overview.html
https://kotlinlang.org/docs/reference/data-science-overview.html
681デフォルトの名無しさん
2020/02/13(木) 00:51:57.99ID:29zvuXGO682デフォルトの名無しさん
2020/02/14(金) 22:21:03.52ID:QVXriQlN リプ大量で草
お前らは当然valも変更される前提でコード書いてるよな?
https://twitter.com/kotlin/status/1227993505332682753
https://twitter.com/5chan_nel (5ch newer account)
お前らは当然valも変更される前提でコード書いてるよな?
https://twitter.com/kotlin/status/1227993505332682753
https://twitter.com/5chan_nel (5ch newer account)
683デフォルトの名無しさん
2020/02/14(金) 22:57:32.18ID:ZYSFhOo2684デフォルトの名無しさん
2020/02/14(金) 23:20:06.53ID:1RNC29HJ >>682
open valじゃん
それが変化しないと考える奴はただの初心者だろ・・・
Kotlinでは@JvmFieldを付けない限り
privateでないアクセサがメソッド(getter/setter)になるのは基礎の範疇
public class Read {
public String getValue(){return "hello";}
}
でgetValueがオーバーライドされて固定値じゃなくなることに騒いでるのと同じ
open valじゃん
それが変化しないと考える奴はただの初心者だろ・・・
Kotlinでは@JvmFieldを付けない限り
privateでないアクセサがメソッド(getter/setter)になるのは基礎の範疇
public class Read {
public String getValue(){return "hello";}
}
でgetValueがオーバーライドされて固定値じゃなくなることに騒いでるのと同じ
685デフォルトの名無しさん
2020/02/14(金) 23:34:40.26ID:08nJ6zct kotlinのvalは「valで定義されたものに=を使われていたら、コンパイル時にエラー出して止める」というご利益しかないよ
動作的にイミュータブルにする機能はないよ
動作的にイミュータブルにする機能はないよ
686デフォルトの名無しさん
2020/02/15(土) 00:55:36.25ID:/QpUFa9s valの前にわざわざopenを書いてる以上、こういう拡張への意図があったということだよ
慌てなくても怖いならopenをむやみに書かなければそれでいい
継承がカプセル化を破壊するというのは昔Effective Javaで習ったろ
これはその端的な例で、だからこそKotlinはopenを明示しないと継承できない道を選んでる
慌てなくても怖いならopenをむやみに書かなければそれでいい
継承がカプセル化を破壊するというのは昔Effective Javaで習ったろ
これはその端的な例で、だからこそKotlinはopenを明示しないと継承できない道を選んでる
687デフォルトの名無しさん
2020/02/19(水) 22:25:28.94ID:CCUNbFwX interface の val も実装を var にできるしな
688デフォルトの名無しさん
2020/02/23(日) 23:35:56.01ID:gLwCsTk/ 関数の引数をラムダ式にして、それをnullableにしたいんですがどう書いたらいいですか
fun fuck(abc: () -> Unit) {
}
みたいにして、呼び出す方は
fuck({
})
でも
fuck()
でも良いようにしたいんですが
fun fuck(abc: () -> Unit) {
}
みたいにして、呼び出す方は
fuck({
})
でも
fuck()
でも良いようにしたいんですが
689デフォルトの名無しさん
2020/02/23(日) 23:39:09.88ID:gLwCsTk/ fun fuck((abc: () -> Unit)? = null) {
}
でできましたありがとうございました!
呼び出す方は
abc?.invoke()
としたら良いようですね
}
でできましたありがとうございました!
呼び出す方は
abc?.invoke()
としたら良いようですね
690デフォルトの名無しさん
2020/02/24(月) 18:50:03.42ID:1BIvZ8XA それなら、nullable外してデフォルト値{}がよくない?
691デフォルトの名無しさん
2020/02/25(火) 05:29:25.56ID:SMgXQhso 尼で検索したら Kotlin の新しい本が出てきた。
尼はURLがNGワードになってて書けないので以下にタイトルだけ並べておく。一番上の本だけが紙の本とKindle版両方ある。それ以外はKindle版のみ。
みんなのKotlin 現場で役立つ最新ノウハウ!
プログラマーにおくるKotlin流し読み入門: Androidアプリ開発の新言語をスピードマスター
解決!Androidアプリ開発のアレコレ
尼はURLがNGワードになってて書けないので以下にタイトルだけ並べておく。一番上の本だけが紙の本とKindle版両方ある。それ以外はKindle版のみ。
みんなのKotlin 現場で役立つ最新ノウハウ!
プログラマーにおくるKotlin流し読み入門: Androidアプリ開発の新言語をスピードマスター
解決!Androidアプリ開発のアレコレ
692デフォルトの名無しさん
2020/02/27(木) 18:40:34.96ID:SgVrqVkS >>691
去年に出たのを見ると、超初心者向けのが若干少ない気がするね
去年に出たのを見ると、超初心者向けのが若干少ない気がするね
693デフォルトの名無しさん
2020/02/29(土) 19:31:55.24ID:PZdDBNK2 Kotlin始めました。導入しましたって話聞く機会が減ってきた悲しい。
694デフォルトの名無しさん
2020/02/29(土) 20:08:01.92ID:46OW7AmV 結局残るのは考えがしっかりした言語だ
小粋なのははやりすたりが激しい
MSはおかしい
小粋なのははやりすたりが激しい
MSはおかしい
695デフォルトの名無しさん
2020/02/29(土) 20:38:11.60ID:JJ549bP/ KotlinてMSが作ったの?
696デフォルトの名無しさん
2020/02/29(土) 22:40:18.84ID:ih/BSqRh まあC#から拝借した機能の多さを考えるとMSが作ったと言えなくもない
697デフォルトの名無しさん
2020/03/01(日) 11:08:43.11ID:70xHYE3h kotlinで関数型を受け付けるメソッドに、特定のクラスのメソッドを渡したいのですがどうすればいいでしょうか??
fun registerHandler(handler: (Int, Int) -> Unit)
にhanlderと同じシグニチャを持つメソッド(例えばhoge)を持つクラス(例えばFoo)を作って
val a = Foo()
registerHandler(a.hoge)
みたいなことをやりたいのですがどうすればいいでしょうか?
要するにコードを再利用したいのです
fun registerHandler(handler: (Int, Int) -> Unit)
にhanlderと同じシグニチャを持つメソッド(例えばhoge)を持つクラス(例えばFoo)を作って
val a = Foo()
registerHandler(a.hoge)
みたいなことをやりたいのですがどうすればいいでしょうか?
要するにコードを再利用したいのです
698デフォルトの名無しさん
2020/03/01(日) 12:50:48.59ID:yvqnHgQz >>697
registerHandler(a::hoge)
Bound Function and Property References
https://kotlinlang.org/docs/reference/reflection.html#bound-function-and-property-references-since-11
registerHandler(a::hoge)
Bound Function and Property References
https://kotlinlang.org/docs/reference/reflection.html#bound-function-and-property-references-since-11
699デフォルトの名無しさん
2020/03/01(日) 14:23:26.97ID:70xHYE3h >>698
ありがとうございます
ありがとうございます
700デフォルトの名無しさん
2020/03/04(水) 05:03:33.71ID:HcJR2/8S701デフォルトの名無しさん
2020/03/04(水) 23:04:30.12ID:G7V9iIFO 日本語に翻訳してくれ。
702デフォルトの名無しさん
2020/03/04(水) 23:19:14.25ID:4yioSA0z Kotlin 1.3.70 Released
品質改善がメイン
品質改善がメイン
703デフォルトの名無しさん
2020/03/06(金) 07:06:53.15ID:Z/vcpuAM smart castってvarに効くっけ
704デフォルトの名無しさん
2020/03/06(金) 09:22:52.49ID:7w4EZP5c >>703
効いたと思うが、他スレッドから変更される可能性があるならダメなのでは?
効いたと思うが、他スレッドから変更される可能性があるならダメなのでは?
705デフォルトの名無しさん
2020/03/06(金) 11:32:22.77ID:xJXeOVO9 普通に書いていれば別スレッドから書き換えられるvarにsmartcastはできない
706デフォルトの名無しさん
2020/03/06(金) 11:38:02.14ID:VtIZxMve 変数にもローカル変数やらいろいろあるし
ローカルは効きそう、インスタンス変数は無理だろう
ローカルは効きそう、インスタンス変数は無理だろう
707デフォルトの名無しさん
2020/03/11(水) 00:08:05.10ID:IcorLBpl IntellijでKotlinでJavaコード呼び出した時
どんなchecked Exception投げるか簡単に知る方法教えてください。
どんなchecked Exception投げるか簡単に知る方法教えてください。
708デフォルトの名無しさん
2020/03/12(木) 13:57:27.22ID:T8doL2Lc 何を言ってんだ?
シグニチャーを見ろ
シグニチャーを見ろ
709デフォルトの名無しさん
2020/03/13(金) 19:20:51.87ID:GcLjhKTc 初めて触る言語がコトリンなんだが異端か?
710デフォルトの名無しさん
2020/03/13(金) 21:32:38.08ID:YqqN4LBM (・_・)フツウ
711デフォルトの名無しさん
2020/03/14(土) 05:19:54.50ID:qmE7NC86 むしろ異端だったとしてなんかあんの?
712デフォルトの名無しさん
2020/03/14(土) 08:26:54.32ID:AOabs0cu Kotlinって単純にJavaの上位互換と考えていいんですかね?
それとも特定の用途ならJavaの方が優れてることもある?
それとも特定の用途ならJavaの方が優れてることもある?
713デフォルトの名無しさん
2020/03/14(土) 08:50:35.96ID:uPAEOS5i714デフォルトの名無しさん
2020/03/14(土) 11:17:54.82ID:cJqY8aA1 >>711
俺は特別!
俺は特別!
715デフォルトの名無しさん
2020/03/14(土) 15:02:17.48ID:SYJjC+91 特別な俺に酔いしれる、アートなプログラミングをするスレ民にふさわしいな
716デフォルトの名無しさん
2020/03/15(日) 01:00:14.34ID:UPbVmx1a 異端だな。
Androidアプリ作ってる場合はまあ普通だが。
Androidアプリ作ってる場合はまあ普通だが。
717デフォルトの名無しさん
2020/03/15(日) 13:40:42.45ID:JeE8EKc6 アンドロイドアプリ作る案件でしか触ったことないけどアンドロイドアプリ以外でもこの言語使うことってどれくらいあるんだ?
フリーでいろんな会社のいろんな案件に携わってきたけどアンドロイドアプリ以外でこの言語選択してるシステムに出会ったことがない
フリーでいろんな会社のいろんな案件に携わってきたけどアンドロイドアプリ以外でこの言語選択してるシステムに出会ったことがない
718デフォルトの名無しさん
2020/03/15(日) 13:43:15.79ID:G4jfON4Y SwiftもRustもそんな感じ
719デフォルトの名無しさん
2020/03/15(日) 14:28:52.20ID:JeE8EKc6 アプリ制作専用言語という認識で差し支えないってことね
720デフォルトの名無しさん
2020/03/15(日) 14:45:30.20ID:3NnqBxtE 2年前くらいの頃はサーバーサイドJavaも食いそうな勢いだったんだけど、見る影もないね
もうAndroidアプリ制作専用言語以上は何も期待できない
もうAndroidアプリ制作専用言語以上は何も期待できない
721デフォルトの名無しさん
2020/03/15(日) 14:57:29.36ID:+eqDq3h/ 何度も言われてるがベターJavaで、近代Java案件の置き換えが可能なのだが、
新規Java案件が今はもうAndroid非ゲームアプリくらいしかないため、結局Android非ゲームアプリくらいしか用途がない
もちろんかつてのJavaのように何を作っても構わないしなんでもだいたい作れるが、そもそもわざわざJavaで作る理由がもうないので…
新規Java案件が今はもうAndroid非ゲームアプリくらいしかないため、結局Android非ゲームアプリくらいしか用途がない
もちろんかつてのJavaのように何を作っても構わないしなんでもだいたい作れるが、そもそもわざわざJavaで作る理由がもうないので…
722デフォルトの名無しさん
2020/03/15(日) 15:54:52.18ID:uLtpsypH う、うん…
723デフォルトの名無しさん
2020/03/15(日) 19:04:24.46ID:U0exLU+5 javaの上位互換だからjava出来るならKotlinも直ぐ出来るって勘違いしてる人結構いるけど、
細かいところで書き方とか違うからそれなりに慣れるまで時間かかるよね
細かいところで書き方とか違うからそれなりに慣れるまで時間かかるよね
724デフォルトの名無しさん
2020/03/15(日) 19:05:45.28ID:8Tu8byB5 まぁ何でもそうじゃね
725デフォルトの名無しさん
2020/03/15(日) 19:14:18.96ID:AJhRJqKO ( ´゚д゚`)
726デフォルトの名無しさん
2020/03/15(日) 19:24:15.07ID:W4rB3Afy Javaはお固い分野でも新規に使われてるのに
縁がない人は頓珍漢な分析するよね
縁がない人は頓珍漢な分析するよね
727デフォルトの名無しさん
2020/03/15(日) 19:57:21.56ID:sgfXfD7p Java<kotlinだけどそもそも新規でのJava需要が下がってきてるから流行らないって事か?
728デフォルトの名無しさん
2020/03/15(日) 20:02:19.40ID:g43aymu7729デフォルトの名無しさん
2020/03/15(日) 21:07:47.62ID:Sa9u1DCG730デフォルトの名無しさん
2020/03/16(月) 00:53:01.45ID:hDAZpInh731デフォルトの名無しさん
2020/03/17(火) 01:35:07.82ID:Aeuh89FK かつてJavaは凄く人気が有った言語だから、エコシステムが物凄く大きい。
一方、KotlinはAndroid開発で使う人は使うと言う位置づけなのでは。
一方、KotlinはAndroid開発で使う人は使うと言う位置づけなのでは。
732デフォルトの名無しさん
2020/03/17(火) 07:47:03.83ID:sU5dKoAT エンタープライズでJavaを採用するような案件や環境は安定と安心が最優先すぎるのが逆風だと思う
Kotlinで生産性が上がると言われても移行の総コスト、安いコーダーが安定供給できるか
この先立ち消えたりJBがやらかしたりでKotlinコードが不良資産化しないかなど不安が大きい
おじさんを説得するには実績が欲しいがまだキャズムを越えない
越えて欲しいなあ
Kotlinで生産性が上がると言われても移行の総コスト、安いコーダーが安定供給できるか
この先立ち消えたりJBがやらかしたりでKotlinコードが不良資産化しないかなど不安が大きい
おじさんを説得するには実績が欲しいがまだキャズムを越えない
越えて欲しいなあ
733デフォルトの名無しさん
2020/03/17(火) 10:22:24.77ID:aozOj1qc エンタープライズではテストと比べればコーディングの手間は無視できるし、
一発作り切ったら運用に移管して手を切るのが基本だからコードが冗長で見通しが悪いとかはあまり問題にならない
どう考えてもマイナー言語ロックインのリスクをペイしないよ
一発作り切ったら運用に移管して手を切るのが基本だからコードが冗長で見通しが悪いとかはあまり問題にならない
どう考えてもマイナー言語ロックインのリスクをペイしないよ
734デフォルトの名無しさん
2020/03/17(火) 14:06:05.53ID:Aeuh89FK KotlinはJavaとは宣言の書き方が前後逆になっただけの様な言語のイメージ。
それ以外でも何かは良くなっているかもしれないが、何かは悪くなっているだろうと予想され、敢えてJavaの代わりに使おうとは思えない。
KotlinはAndroidでは使えても、デスクトップでは難しいだろうが、
Javaなら、Swingを使えば、Win/Mac/Linuxで共通アプリが作れる。
昔はさらにここにブラウザ内のアプレットも加わっていたが、今はそれが動かなくなった。
ところが、アプレットをWasmとして復活させる動きも出ているようだから、プラットフォームは広い。
恐らくそのうちSwingもAndroidやiOSで動くようになるのではないか。
それ以外でも何かは良くなっているかもしれないが、何かは悪くなっているだろうと予想され、敢えてJavaの代わりに使おうとは思えない。
KotlinはAndroidでは使えても、デスクトップでは難しいだろうが、
Javaなら、Swingを使えば、Win/Mac/Linuxで共通アプリが作れる。
昔はさらにここにブラウザ内のアプレットも加わっていたが、今はそれが動かなくなった。
ところが、アプレットをWasmとして復活させる動きも出ているようだから、プラットフォームは広い。
恐らくそのうちSwingもAndroidやiOSで動くようになるのではないか。
735デフォルトの名無しさん
2020/03/17(火) 14:21:17.83ID:yigrTQzb なんで思い込みのイメージだけで語るの
736デフォルトの名無しさん
2020/03/17(火) 14:26:37.12ID:Aeuh89FK >>733
短い簡単なプログラムなら、習いたての新しい言語でも作れるが、長くて複雑なプログラムには、十分に時間をかけて習熟した言語でないと作るのは難しい。
次々に生まれる新しい言語をニワカに学んでもいいプログラムを作るのは難しいのだ。
新しい言語では逆に間違ってしまったり、やりたいことを実現する方法が分からなくてそれを調べるために効率が下がることが多い。
Javaの言語仕様は、人気が有ったことからも分かるように昔から既に優れており、それはそれで一つの完成系をなしている。
根本的に新しい言語は一部だけは優れていても、どこかではむしろ劣っていることが多い。
一方でJavaはJavaで進化し続けている。
短い簡単なプログラムなら、習いたての新しい言語でも作れるが、長くて複雑なプログラムには、十分に時間をかけて習熟した言語でないと作るのは難しい。
次々に生まれる新しい言語をニワカに学んでもいいプログラムを作るのは難しいのだ。
新しい言語では逆に間違ってしまったり、やりたいことを実現する方法が分からなくてそれを調べるために効率が下がることが多い。
Javaの言語仕様は、人気が有ったことからも分かるように昔から既に優れており、それはそれで一つの完成系をなしている。
根本的に新しい言語は一部だけは優れていても、どこかではむしろ劣っていることが多い。
一方でJavaはJavaで進化し続けている。
737デフォルトの名無しさん
2020/03/17(火) 15:01:46.47ID:IQmvYlpF だからなに?
738デフォルトの名無しさん
2020/03/17(火) 15:04:23.46ID:+OGH67Oj だから勉強したくないでござる
739デフォルトの名無しさん
2020/03/17(火) 15:07:56.32ID:IQmvYlpF そういうことなんだろな。
JAVAだけやっとけば安心なんだ!って自分に言い聞かせてるようにしか見えん
JAVAだけやっとけば安心なんだ!って自分に言い聞かせてるようにしか見えん
740デフォルトの名無しさん
2020/03/17(火) 15:52:42.79ID:Aeuh89FK 言語ばかり学んでいてもな。
741デフォルトの名無しさん
2020/03/17(火) 15:56:41.70ID:aozOj1qc >>739
そういう観点でいえば、学ぶべきはKotlinじゃなくてGoやC#などの非JVM系言語だろう
Kotlinを選んでいる時点で、自分もまたコンフォートゾーンに留まろうとしている平凡な人間の一員であることを自覚したほうがいいぞ
そういう観点でいえば、学ぶべきはKotlinじゃなくてGoやC#などの非JVM系言語だろう
Kotlinを選んでいる時点で、自分もまたコンフォートゾーンに留まろうとしている平凡な人間の一員であることを自覚したほうがいいぞ
742デフォルトの名無しさん
2020/03/17(火) 16:00:09.84ID:Aeuh89FK どんなに優秀な人でも、あらゆる言語やツールキットを学ぶほどの時間は無いから、学ぶべきものを取捨選択や優先順位付けが重要。
一つの言語だけを学んで、プログラムに必要ななんらかの(専門的な)知識を学ぶのも立派な選択だ。
一つの言語だけを学んで、プログラムに必要ななんらかの(専門的な)知識を学ぶのも立派な選択だ。
743デフォルトの名無しさん
2020/03/17(火) 16:05:41.43ID:yigrTQzb 令和のstaticおじさん(この方はJavaおじさん)かな
744デフォルトの名無しさん
2020/03/17(火) 16:29:11.06ID:XIub247n ねぇねぇScalaって息してる?Kotlinとどっちがすごい?
745デフォルトの名無しさん
2020/03/17(火) 16:45:02.15ID:yigrTQzb 息はしているがどっちが凄いかは知らん
ScalaのコードをJavaScriptのコードに変換する「Scala.js 1.0」リリース
https://thinkit.co.jp/news/bn/17374
ScalaのコードをJavaScriptのコードに変換する「Scala.js 1.0」リリース
https://thinkit.co.jp/news/bn/17374
746デフォルトの名無しさん
2020/03/17(火) 16:46:06.62ID:Aeuh89FK747デフォルトの名無しさん
2020/03/17(火) 16:49:51.14ID:Aeuh89FK >>746
というか、新しい言語を学んで無い人を馬鹿にするのは良くない。
自然法則は昔からずっと変化しないから学んで損は無いが、言語は人工的なため、不変性も無く学ぶ価値の無いものも多数含まれる。
その取捨選択が重要。
というか、新しい言語を学んで無い人を馬鹿にするのは良くない。
自然法則は昔からずっと変化しないから学んで損は無いが、言語は人工的なため、不変性も無く学ぶ価値の無いものも多数含まれる。
その取捨選択が重要。
748デフォルトの名無しさん
2020/03/17(火) 17:07:25.05ID:IQmvYlpF 少なくとも多言語のスレでJAVAだけでいいんだ!って力説されてもね
749デフォルトの名無しさん
2020/03/17(火) 17:07:39.27ID:IQmvYlpF 他言語
750デフォルトの名無しさん
2020/03/17(火) 17:09:29.69ID:Aeuh89FK Kotlinが蔓延することで困る人もいるんだから。
751デフォルトの名無しさん
2020/03/17(火) 17:13:44.67ID:yigrTQzb 毎日使うものだから。
752デフォルトの名無しさん
2020/03/17(火) 17:17:56.69ID:Aeuh89FK >>748
ネットではKotlinそのものに価値があるようなことを言う人を良く見かけるが、実際はGoogleがOracleとの訴訟に負けて、Javaを使っていることを注意されて、それで使われるようになっただけの言語、と捉えるのが標準見解だ。
ネットではKotlinそのものに価値があるようなことを言う人を良く見かけるが、実際はGoogleがOracleとの訴訟に負けて、Javaを使っていることを注意されて、それで使われるようになっただけの言語、と捉えるのが標準見解だ。
753デフォルトの名無しさん
2020/03/17(火) 17:27:30.89ID:4Vk7SyLR754デフォルトの名無しさん
2020/03/17(火) 17:31:48.86ID:4Vk7SyLR >>736
わかった。それじゃあかれこれ30年ぐらい使い続けているPerlと35年ぐらい使い続けているC言語を使うことにするよ。Javaのような新言語に手を出すのは止めておこう。
わかった。それじゃあかれこれ30年ぐらい使い続けているPerlと35年ぐらい使い続けているC言語を使うことにするよ。Javaのような新言語に手を出すのは止めておこう。
755デフォルトの名無しさん
2020/03/17(火) 18:15:43.46ID:Aeuh89FK756デフォルトの名無しさん
2020/03/17(火) 19:06:22.80ID:+Hw83ygo >>736
そういう観点なら、better javaのkotlinを学習する費用対効果は大きい。
実際、自分でクラスを設計するのならnull freeにできるkotlinの価値は高い。
……というより、型無しのnullを排除できないjavaの型システムが破綻しているだけだけどな。いいかげん、nullを受け付けないクラス/変数に対応してほしいぜ。
そういう観点なら、better javaのkotlinを学習する費用対効果は大きい。
実際、自分でクラスを設計するのならnull freeにできるkotlinの価値は高い。
……というより、型無しのnullを排除できないjavaの型システムが破綻しているだけだけどな。いいかげん、nullを受け付けないクラス/変数に対応してほしいぜ。
757デフォルトの名無しさん
2020/03/17(火) 19:15:03.66ID:Aeuh89FK758デフォルトの名無しさん
2020/03/17(火) 19:30:31.89ID:s3acJuhP でも、いざnull safetyの言語使ってみると!!演算子使う自分のコードが気になって負けた気になる
759デフォルトの名無しさん
2020/03/17(火) 19:33:21.73ID:3WRfeEJw !!は便利だけど後で見返すと消したくなるわ
見てて綺麗じゃない
見てて綺麗じゃない
760デフォルトの名無しさん
2020/03/17(火) 20:14:28.04ID:s3acJuhP それ
見てて気になるし負の感情がわくw
見てて気になるし負の感情がわくw
761デフォルトの名無しさん
2020/03/17(火) 23:29:23.16ID:I7Fcdy1u >>756
JDK25ぐらいでなんとかならんのかな
JDK25ぐらいでなんとかならんのかな
762デフォルトの名無しさん
2020/03/17(火) 23:54:31.16ID:Whb0iFr7 kotlin勉強に有効な書籍はなんだ?
763デフォルトの名無しさん
2020/03/18(水) 00:01:29.88ID:rB/x/s49 Javaできるならサンプル見ただけでなんとなく使える
本読まなきゃいけないような奴が手を出す言語ではない
本読まなきゃいけないような奴が手を出す言語ではない
764デフォルトの名無しさん
2020/03/18(水) 00:33:22.47ID:LQtyodHE 当然、Kotlin の会長である太郎本!
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016
765デフォルトの名無しさん
2020/03/18(水) 00:35:21.26ID:qIM0w55M766デフォルトの名無しさん
2020/03/18(水) 00:37:04.70ID:JGfgRlCq >>763
サンプルコピペして使えた気になってるコピペプログラマーの典型みたいなこと言っててワロタ
サンプルコピペして使えた気になってるコピペプログラマーの典型みたいなこと言っててワロタ
767デフォルトの名無しさん
2020/03/18(水) 03:25:07.07ID:LQtyodHE 有名な雑食系エンジニア・KENTA も、YouTube で言ってたけど、
Scala が廃れた理由は、初心者にマウント取って、悦に入る人が多いからw
JVM 系は土方だから、土木業と同じ産業構造、多重請負・奴隷構造を持つから、
奴隷は初心者に対して、マウントを取らざるを得ないw
Ruby が、なぜナイスなのか、Cookpad などの自社サービス系だから。
多重請負・奴隷構造じゃないから
JVM 系は高学歴総合職・ノンプログラマーが、
低学歴奴隷・IT 土方を使って、もうける商売だから
だから、勧める人が少ない
Scala が廃れた理由は、初心者にマウント取って、悦に入る人が多いからw
JVM 系は土方だから、土木業と同じ産業構造、多重請負・奴隷構造を持つから、
奴隷は初心者に対して、マウントを取らざるを得ないw
Ruby が、なぜナイスなのか、Cookpad などの自社サービス系だから。
多重請負・奴隷構造じゃないから
JVM 系は高学歴総合職・ノンプログラマーが、
低学歴奴隷・IT 土方を使って、もうける商売だから
だから、勧める人が少ない
768デフォルトの名無しさん
2020/03/18(水) 07:13:52.23ID:yDvvdBVq >>767
言語外の仕様か。いくらか眉唾だが興味深い。
言語外の仕様か。いくらか眉唾だが興味深い。
769767
2020/03/18(水) 08:26:52.48ID:LQtyodHE770デフォルトの名無しさん
2020/03/18(水) 08:41:22.06ID:iE2DLaXa 動画で食ってる奴がエンジニアを名乗る不思議な世の中
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 自民・麻生太郎 副総裁 石破政権の1年は「どよーん」 高市政権の発足で「何となく明るくなった」「世の中のことが決まり動いている」 [Hitzeschleier★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 【27歳会社員】「自慰行為に使うために」コインランドリーの乾燥機から24歳女性の下着など計11点(時価8万2080円相当)盗んだ疑い [nita★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- トランプ、G7に代わるcore 5を発表 [805596214]
- 為末大「ラーメン屋の行列を、年寄りが1万円渡してきて順番譲ってくれと言ったら? 答えられない問題だよ。」 [592058334]
- 麻生太郎が石破政権の1年を酷評「どよーんとして何も動かない感じだったな。それに引き換え高市政権は物事が動いている」 [597533159]
- 【速報】室井佑月、米山隆一との離婚を決意wwwwwwwwwwwwwwwwwwww [802034645]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★4
- 官僚「台湾有事についての質問か、『政府として逐一答えない』と…(カタカタカタ)」高市「私1人で答弁できるわよ!」 [972432215]
