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+KJbMh562デフォルトの名無しさん
2020/01/06(月) 15:47:29.78ID:26y+agJu 素養とかいらんやろ。慣れや
563デフォルトの名無しさん
2020/01/06(月) 22:45:33.84ID:MYKIKe5Z 大学のC言語の授業で2分木の深さ優先探索と幅優先探索を再帰関数で書かされたなあ
564デフォルトの名無しさん
2020/01/07(火) 00:31:39.93ID:hqMcZlsr 言語の名前がかわいいというだけの理由でkotlinを勉強し始めました。
書きやすくていいですね!
書きやすくていいですね!
565デフォルトの名無しさん
2020/01/07(火) 11:18:31.53ID:R7wg2P50 PCの気晴らし2Dゲームやスマホアプリやかんたんゲーム作ろうかなーと思ってKotlin始めたのだけど、
微妙絶妙にメインストリームから外れて手間が合わんのだな
Unity的なゲームじゃないスマホアプリはうまく合ってる気はするが
微妙絶妙にメインストリームから外れて手間が合わんのだな
Unity的なゲームじゃないスマホアプリはうまく合ってる気はするが
566デフォルトの名無しさん
2020/01/07(火) 12:12:12.94ID:muv+YNpY C#相手だと言語的なアドバンテージはほとんど無いから勝ち目はないわな
567デフォルトの名無しさん
2020/01/07(火) 12:29:43.03ID:QGWNDMvz サーバー書こうぜ
568デフォルトの名無しさん
2020/01/07(火) 12:41:10.88ID:v179ZXJD 要は「めっちゃ書きやすいJava」なので、Javaのときに特段盛り上がってなかった分野はKotlinでも特段盛り上がってはいない
Kotlinで利用者が流入爆増してKotlin独自のライブラリが各分野でじゃんじゃん作られるみたいな未来予想図もあったのだが、まあ、世の中なかなか冷静で頼もしい限りではある
Kotlinで利用者が流入爆増してKotlin独自のライブラリが各分野でじゃんじゃん作られるみたいな未来予想図もあったのだが、まあ、世の中なかなか冷静で頼もしい限りではある
569デフォルトの名無しさん
2020/01/07(火) 13:06:26.78ID:muv+YNpY レベルS プラットフォームを問わずKotlinが広く利用される
レベルA Kotlinを使うためにJavaプラットフォームが採用される
レベルB KotlinによってJavaプラットフォームの採用障壁が下がる
レベルC Kotlinによって既存のJava開発者の満足度が改善する
今のところせいぜいCだな
レベルA Kotlinを使うためにJavaプラットフォームが採用される
レベルB KotlinによってJavaプラットフォームの採用障壁が下がる
レベルC Kotlinによって既存のJava開発者の満足度が改善する
今のところせいぜいCだな
570デフォルトの名無しさん
2020/01/07(火) 20:56:09.81ID:LyNNZa7r Javaやってたら取っつきやすいみたいな扱いされてるけどC#の方が覚えやすくね?
571デフォルトの名無しさん
2020/01/07(火) 21:10:11.11ID:mPccAZYV kotlinってandroid専用言語という位置づけだと思っていいですか?
Webでも積極的に使われている言語ですか?
Webでも積極的に使われている言語ですか?
572デフォルトの名無しさん
2020/01/07(火) 22:30:31.70ID:I2Ol6zE2 現状ではandroid専用。Java代替目指してる言語だからwebで使うポテンシャルはあるけど、その用途で流行ってるとは言い難い。
573デフォルトの名無しさん
2020/01/08(水) 14:29:53.70ID:HfJa1tF4 流行ってないだけで専用というわけでもない。
574デフォルトの名無しさん
2020/01/08(水) 14:36:25.48ID:HfJa1tF4 ま、しかし、みんながやってると自分もやるみたいなのはやはり日本人的な感じがするな。
保守的と言うか開拓精神がないというか。だから悪いということはないけどな。
自分が率先して使って自分を中心に世界中に広めるみたいなこともできるかも知れないのだが、そういう考えが最初から起こらないぐらい頭が固くなってガチガチに保守化していると。
保守的と言うか開拓精神がないというか。だから悪いということはないけどな。
自分が率先して使って自分を中心に世界中に広めるみたいなこともできるかも知れないのだが、そういう考えが最初から起こらないぐらい頭が固くなってガチガチに保守化していると。
575デフォルトの名無しさん
2020/01/08(水) 14:43:05.37ID:266dC9mX 「〇〇を作りたいのでKotlinを使う」の〇〇に入るのは非ゲームAndroidアプリ、ではある
現状これ以外で使うのは趣味とか修行とか苦行とかバカとかなんかそんな感じ
Kotlinは一応だいたいのものは作れるには作れるので、Kotlinで作ってみたいという情熱(または狭窄)で個人でいろんなもの作ること自体は別に止めない
手段が目的と化してるという点以外は問題はないからね
みんなあまりやらないことをやるという点では面白いはずだとは思うよ
どっすかRubyの二の舞
現状これ以外で使うのは趣味とか修行とか苦行とかバカとかなんかそんな感じ
Kotlinは一応だいたいのものは作れるには作れるので、Kotlinで作ってみたいという情熱(または狭窄)で個人でいろんなもの作ること自体は別に止めない
手段が目的と化してるという点以外は問題はないからね
みんなあまりやらないことをやるという点では面白いはずだとは思うよ
どっすかRubyの二の舞
576デフォルトの名無しさん
2020/01/08(水) 15:08:09.71ID:NG22H+Rz >>574
欧米の人って明確な目的があって、それに合う道具なら古いものも新しいものも使う印象
日本列島に生息するアーリーアダプタ猿はたいてい手段と目的が逆転していて、
新しいものを触っても「やってみた」で終わるからそれ以上の発展がない
欧米の人って明確な目的があって、それに合う道具なら古いものも新しいものも使う印象
日本列島に生息するアーリーアダプタ猿はたいてい手段と目的が逆転していて、
新しいものを触っても「やってみた」で終わるからそれ以上の発展がない
577デフォルトの名無しさん
2020/01/08(水) 20:25:58.31ID:txej2vin 有名人が使ってるから使おう・それが正しいみたいのがあるね
578デフォルトの名無しさん
2020/01/08(水) 20:42:10.23ID:UOnWj2Kr579デフォルトの名無しさん
2020/01/08(水) 21:44:46.93ID:IfVHQg0W その、「失敗したらどうしよう・・失敗しないように安全パイを狙おう」ていう発想が日本人ていう話
580デフォルトの名無しさん
2020/01/08(水) 21:51:52.21ID:SxJLgebM 自分が有名人になろうという発想もない。
581デフォルトの名無しさん
2020/01/08(水) 22:07:34.74ID:sWXWn+ML まぁ結局はjavaなんだから、だったらjavaのままでいいじゃんで終わってそう。
582デフォルトの名無しさん
2020/01/08(水) 22:07:56.44ID:l2iB3kWY webなんかどうでもいい
今やブラウザからよりもアプリからの方がインタネットアクセスしてる人多い
サーバー側処理もこれから firebase的なものが主流になって独自実装はなくなっていく
Android専用とは即ち最強ということ
今やブラウザからよりもアプリからの方がインタネットアクセスしてる人多い
サーバー側処理もこれから firebase的なものが主流になって独自実装はなくなっていく
Android専用とは即ち最強ということ
583デフォルトの名無しさん
2020/01/09(木) 13:41:59.25ID:+yIYUPGX え?
584デフォルトの名無しさん
2020/01/09(木) 13:54:17.66ID:+yE1fb2H サーバーサイドがDB直結で済むようなアプリなんてミニゲームくらいだろ
585デフォルトの名無しさん
2020/01/09(木) 17:44:04.75ID:ZcunmaZD firestoreってrate limitやIP banみたいなこと課金なしにできないの?
セキュリティルールで、他人のデータおもらしや、入力データ検証はできるけど。個人で使うとrate limitみたいのないと課金攻撃食らうのが怖い小心者の俺。
セキュリティルールで、他人のデータおもらしや、入力データ検証はできるけど。個人で使うとrate limitみたいのないと課金攻撃食らうのが怖い小心者の俺。
586デフォルトの名無しさん
2020/01/09(木) 20:13:01.82ID:kyHcRJMZ 貧乏人のくせにうるせえな
ガキはオフラインでlampでもやってろ
ガキはオフラインでlampでもやってろ
587デフォルトの名無しさん
2020/01/09(木) 22:32:03.91ID:yEewS3L2 サーバーエンジニアは時代遅れ
588デフォルトの名無しさん
2020/01/09(木) 22:37:38.83ID:Oq4NA2+9 まあ、金払って押しつけるのが正しくはある
自社メールサーバーを運営するのが今や愚かな行為であるのと同じ
自社メールサーバーを運営するのが今や愚かな行為であるのと同じ
589デフォルトの名無しさん
2020/01/09(木) 22:47:26.06ID:yEewS3L2 サーバーサイドは原始時代の技術
590デフォルトの名無しさん
2020/01/10(金) 19:52:27.62ID:GhmlZgNK かといってサーバなしにはできない
591デフォルトの名無しさん
2020/01/10(金) 20:48:21.61ID:vzH+znXR クラウドもサーバだっつの
592デフォルトの名無しさん
2020/01/10(金) 21:12:38.40ID:akcZyu4v flutterきてるからもう色々諦めて、サーバーサイドkotlinに注力して欲しい。。
593デフォルトの名無しさん
2020/01/10(金) 22:16:50.90ID:9vGWh78v 結局javaと同じ道筋を辿るのか。
594デフォルトの名無しさん
2020/01/10(金) 23:00:11.09ID:i7XOn7b7 クロスプラットフォームは全部糞
そもそもDartが糞
ちょうど今日はてぶでflutterの記事を読んだがやっぱりDartが糞
ttps://hachibeechan.hateblo.jp/entry/flutter-is-great-good-but-dart-is-dirt
結局サンプルアプリみたいな見た目のしょぼいごみアプリしか作れないのがオチ
そもそもDartが糞
ちょうど今日はてぶでflutterの記事を読んだがやっぱりDartが糞
ttps://hachibeechan.hateblo.jp/entry/flutter-is-great-good-but-dart-is-dirt
結局サンプルアプリみたいな見た目のしょぼいごみアプリしか作れないのがオチ
595デフォルトの名無しさん
2020/01/13(月) 10:33:07.31ID:2cuyt0IW Dartが糞なのはわかる。でもflutterがきてるのも事実。
もう「どこでもkotlin」とか言ってる場合じゃない。
このままだとandroid->fuchsia移行と共にkotlinは終わる。
なのでjava,goを押しのけて静的サーバーサイド言語の第一候補になるしか道はないと思う
もう「どこでもkotlin」とか言ってる場合じゃない。
このままだとandroid->fuchsia移行と共にkotlinは終わる。
なのでjava,goを押しのけて静的サーバーサイド言語の第一候補になるしか道はないと思う
596デフォルトの名無しさん
2020/01/13(月) 11:34:02.40ID:tegDOPxe と思うけど、googleはなぜかKotlin版flutterのJetpack Composeを今年ベータリリース?に向けて作業中。
Jetpack Composeは最初はandroid向けかもしれんが、kotlinはnativeでクロスプラットホームになるし、Jetpack Composeも将来いつの間にかクロスプラットホームになったり?
Jetpack Composeは最初はandroid向けかもしれんが、kotlinはnativeでクロスプラットホームになるし、Jetpack Composeも将来いつの間にかクロスプラットホームになったり?
597デフォルトの名無しさん
2020/01/13(月) 11:36:48.21ID:tegDOPxe まぁ、composeはクロスプラットホームにならなくてもcomposeの存在はかなりflutterへの移行を押し留めることになりそう。
もちろんflutterはクロスプラットホームだけど。
もちろんflutterはクロスプラットホームだけど。
598デフォルトの名無しさん
2020/01/13(月) 12:51:17.02ID:E4iJfsMG K/JVMとK/Nチームがあまり仲良くない感じだったし
K/Nの設計上の戦略ミスもあって先は厳しい
企業リソースが潤沢でないことも大きいんだろうけど
K/Nの設計上の戦略ミスもあって先は厳しい
企業リソースが潤沢でないことも大きいんだろうけど
599デフォルトの名無しさん
2020/01/13(月) 13:45:04.59ID:iUioslZh 相変わらず世間で流行るかどうかばかりを気にしている。世間に依存して頼りすぎている。その結果振り回され続けてしまう。
600デフォルトの名無しさん
2020/01/13(月) 19:31:48.26ID:m0VL2/Pu 好きなやつ使え
601デフォルトの名無しさん
2020/01/14(火) 00:16:09.33ID:d22nWjNN 俺なんて世間の流行なんか無視して我が道をいってるから
メインはDelphiパスカルだぜ!
メインはDelphiパスカルだぜ!
602デフォルトの名無しさん
2020/01/14(火) 14:03:03.86ID:oEvobycm 給料上がるのならなんでもいいわ
603デフォルトの名無しさん
2020/01/14(火) 15:44:20.83ID:/0srrHag 趣味なら何でもいいんだろうけど仕事なら需要を考慮しないと糞仕事で薄給とかやってられないでしょ
604デフォルトの名無しさん
2020/01/14(火) 17:03:38.63ID:65PQRowg 流行ってるやつの方が情報多くて学習し易いというのはあるな。
そういえば今はまだJavaが結構使われてるようだがCも増えたんだってな。組み込み関係が増えたせいらしい。
そういえば今はまだJavaが結構使われてるようだがCも増えたんだってな。組み込み関係が増えたせいらしい。
605デフォルトの名無しさん
2020/01/14(火) 17:19:04.63ID:65PQRowg606デフォルトの名無しさん
2020/01/14(火) 17:28:10.81ID:65PQRowg607デフォルトの名無しさん
2020/01/14(火) 18:56:50.06ID:2qGhUMn5 >>602
給料あげたかったら、プログラマーは卒業しないとね
給料あげたかったら、プログラマーは卒業しないとね
608デフォルトの名無しさん
2020/01/14(火) 20:26:30.45ID:A0w7ZLmM 日本はクソだ
609デフォルトの名無しさん
2020/01/14(火) 20:39:05.13ID:exUCncO7 >>601
自分が楽しめるならレガシーシステムのお守役としてニッチ極めるのは全然ありだべ
自分が楽しめるならレガシーシステムのお守役としてニッチ極めるのは全然ありだべ
610デフォルトの名無しさん
2020/01/15(水) 19:23:37.93ID:xHaLDFMG exposedのDAOとDSLってどっち使った方がいいんですか?
611デフォルトの名無しさん
2020/01/16(木) 18:03:07.20ID:zJukF7BC >>608
いかにも。お前はクソだ。
いかにも。お前はクソだ。
612デフォルトの名無しさん
2020/01/18(土) 20:25:30.67ID:AwYhHf6y 流行るか流行らないなんてどうでもいいんだよ
やりたいことをやれるかどうか
JavaScript界隈の気持ち悪いやつがflutterは流行らないといってるけど
流行ったらどういう態度にでるのか見てみたいものだ
やりたいことをやれるかどうか
JavaScript界隈の気持ち悪いやつがflutterは流行らないといってるけど
流行ったらどういう態度にでるのか見てみたいものだ
613デフォルトの名無しさん
2020/01/18(土) 21:28:55.28ID:uMWc60b6 全部自力で作るわってレベルの奴ならそれでいいけど
流行りはコミュニティ規模、延いてはライブラリや関連技術の発展に繋がるわけでさ
何はともあれIOインターフェースのデファクトスタンダードを早くしろください!
https://github.com/ktorio/ktor/tree/master/ktor-io/common/src/io/ktor/utils/io/core
https://github.com/Kotlin/kotlinx.serialization/tree/master/runtime/commonMain/src/kotlinx/io
https://github.com/Kotlin/kotlinx-io/tree/master/core/commonMain/src/kotlinx/io
流行りはコミュニティ規模、延いてはライブラリや関連技術の発展に繋がるわけでさ
何はともあれIOインターフェースのデファクトスタンダードを早くしろください!
https://github.com/ktorio/ktor/tree/master/ktor-io/common/src/io/ktor/utils/io/core
https://github.com/Kotlin/kotlinx.serialization/tree/master/runtime/commonMain/src/kotlinx/io
https://github.com/Kotlin/kotlinx-io/tree/master/core/commonMain/src/kotlinx/io
614デフォルトの名無しさん
2020/01/21(火) 20:20:54.27ID:YewYG19G KotlinのコンパイラはKotlinで書かれてるの?それともJava?
615デフォルトの名無しさん
2020/01/22(水) 13:59:16.59ID:qc9Q1TGx Javaに決まっているだろ
Kotlinで書かれてたらどうやってコンパイラをコンパイルするのだ
鶏は卵からしか生まれないのだ
Kotlinで書かれてたらどうやってコンパイラをコンパイルするのだ
鶏は卵からしか生まれないのだ
616デフォルトの名無しさん
2020/01/22(水) 14:59:42.36ID:rj2HkyIb コンパイラがどの言語で書かれてるかを質問する人よくいるけど
知ったところで何か意味あるの?
知ったところで何か意味あるの?
617デフォルトの名無しさん
2020/01/22(水) 16:21:05.17ID:3jquT0bn >>615
最初はJavaで次からはKotlinに変換して自分で自分を記述する状態にしてるかもよ。するとその後はずっとKotlinでKotlinを書く状態になる。
昔はPASCALをPASCALで書いてハンドコンパイルしてから自身をコンパイルさせるなんての本当にあったようだけどな。
最初はJavaで次からはKotlinに変換して自分で自分を記述する状態にしてるかもよ。するとその後はずっとKotlinでKotlinを書く状態になる。
昔はPASCALをPASCALで書いてハンドコンパイルしてから自身をコンパイルさせるなんての本当にあったようだけどな。
618デフォルトの名無しさん
2020/01/22(水) 16:22:45.42ID:3jquT0bn619デフォルトの名無しさん
2020/01/22(水) 16:30:08.45ID:Ho7opIM1 最初は別言語で書かれるが、その後自身の言語で書き直すことはよくある
セルフホスティングと言ってGo,Rustなども達成している
成果物の動作環境で自身も動作可能になるので
Kotlin/JSがセルフホスティングなら
babel/standaloneのようにブラウザ上でコンパイルが可能になったり
Kotlin/NativeのビルドにJVMが不要になったりする
実用上はJVM需要が主だしGradleが便利なので変えないだろうけど
セルフホスティングと言ってGo,Rustなども達成している
成果物の動作環境で自身も動作可能になるので
Kotlin/JSがセルフホスティングなら
babel/standaloneのようにブラウザ上でコンパイルが可能になったり
Kotlin/NativeのビルドにJVMが不要になったりする
実用上はJVM需要が主だしGradleが便利なので変えないだろうけど
620デフォルトの名無しさん
2020/01/22(水) 16:31:19.66ID:Ho7opIM1 >>614
初期コンパイラはJavaで書かれて新規部分は基本Kotlinで書かれてる
置き換えたい気はあるようだけどJavaのコードはかなり残ってる
以下から拡張子の混在が見て取れると思う
https://github.com/JetBrains/kotlin/tree/master/compiler/backend/src/org/jetbrains/kotlin/codegen
初期コンパイラはJavaで書かれて新規部分は基本Kotlinで書かれてる
置き換えたい気はあるようだけどJavaのコードはかなり残ってる
以下から拡張子の混在が見て取れると思う
https://github.com/JetBrains/kotlin/tree/master/compiler/backend/src/org/jetbrains/kotlin/codegen
621デフォルトの名無しさん
2020/01/22(水) 16:48:14.42ID:rj2HkyIb622デフォルトの名無しさん
2020/01/22(水) 17:03:14.84ID:54HMiZ6v 美人のまんこと豚のまんことどっちが良いかって豚の方が名器なら豚を選べば良い
気にすんな
気にすんな
623デフォルトの名無しさん
2020/01/22(水) 17:04:15.03ID:uoDMOHZt624デフォルトの名無しさん
2020/01/22(水) 21:59:06.37ID:xBq5xtIj >>620
詳しくありがとうございます!
詳しくありがとうございます!
625デフォルトの名無しさん
2020/01/23(木) 18:56:14.34ID:GW8kqb26 kotlin1.4の展望を読んだんだけど、
「kotlin/nativeのコンパイル速度は、まだしばらく改善できません」
って言ってるのかな。。楽しみにしてたのに
「kotlin/nativeのコンパイル速度は、まだしばらく改善できません」
って言ってるのかな。。楽しみにしてたのに
626デフォルトの名無しさん
2020/01/23(木) 19:18:12.78ID:Zw7yYSY7 まだ使い物になってないのに速度もクソもあるか
627デフォルトの名無しさん
2020/01/23(木) 21:18:33.10ID:G/hRyFJo >>621
ならないね。実証できてないだけで。
ならないね。実証できてないだけで。
628デフォルトの名無しさん
2020/01/25(土) 19:02:48.90ID:tu9lbSH2 いままでバックエンドにIL採用してなかったのは不仲が原因・・・?
629デフォルトの名無しさん
2020/01/26(日) 18:55:55.74ID:+mqmWgOA そろそろ新しい本、出ないかな
待ってる
待ってる
630デフォルトの名無しさん
2020/01/26(日) 20:04:28.42ID:dHmJ8YkC サーバーサイドの分厚い本出てほしい
631デフォルトの名無しさん
2020/01/26(日) 20:35:36.28ID:trXW8RYw コトリンの薄い本出してほしい
632デフォルトの名無しさん
2020/01/26(日) 21:42:21.85ID:GytwJKGV 本来の意味の同人誌だな
633デフォルトの名無しさん
2020/01/26(日) 23:29:22.09ID:k2+mT4PN 自分で作れば良いのではないか?
634デフォルトの名無しさん
2020/01/27(月) 00:26:33.19ID:dOEN/Dlw 今日もnull安全だから…プロパティに代入して欲しいの
635デフォルトの名無しさん
2020/01/27(月) 10:04:25.03ID:5yIKV7tf 近所の本屋ではkotlinの棚にflutterが侵食してきている
kotlin本は必要だー!出せー!
kotlin本は必要だー!出せー!
636デフォルトの名無しさん
2020/01/27(月) 13:13:48.97ID:MAYcFInA みんなで薄い本を出しまくろう
637デフォルトの名無しさん
2020/01/27(月) 13:18:35.57ID:ePx3bfA1 薄い紙の本?
誰が薄い髪やねん!
誰が薄い髪やねん!
638デフォルトの名無しさん
2020/01/27(月) 22:02:28.60ID:l6kTq6zA //
/ ./
/ ./ パカ
/ ∩彡⌒ ミ 髪のはなし終わった?
/ .|(´・ω・`)_
// | ヽ/
" ̄ ̄ ̄ ̄"∪
/ ./
/ ./ パカ
/ ∩彡⌒ ミ 髪のはなし終わった?
/ .|(´・ω・`)_
// | ヽ/
" ̄ ̄ ̄ ̄"∪
639デフォルトの名無しさん
2020/01/28(火) 00:20:15.54ID:BrmWR/YB 通話中でもバックグランドで処理するアプリとか、スマートウォッチ向けアプリ作ってみたい
640デフォルトの名無しさん
2020/01/28(火) 04:30:56.90ID:ms/fb6kS じゃあ厚い紙の本で
641デフォルトの名無しさん
2020/01/28(火) 04:32:09.25ID:ms/fb6kS >>639
どうぞ。遠慮なく。思う存分作ってよいぞ。どんどん作ってくれたまへ。
どうぞ。遠慮なく。思う存分作ってよいぞ。どんどん作ってくれたまへ。
642デフォルトの名無しさん
2020/01/28(火) 08:26:16.34ID:BrmWR/YB できぬのだ
だから本出してくれ
だから本出してくれ
643デフォルトの名無しさん
2020/01/28(火) 12:56:22.85ID:Bdltl+Ea 大丈夫。お前ならできる。俺は信じてるぞ。
とりあえずネットで検索しろ。
とりあえずネットで検索しろ。
644デフォルトの名無しさん
2020/01/28(火) 16:04:32.98ID:ZibUblYk よし、待ってろ!
645デフォルトの名無しさん
2020/01/29(水) 09:57:21.18ID:Ji+gdkxY 完成したらその事を本に書いて出せ。
Amazonの電子書籍なら簡単な審査だけで出せる。
Amazonの電子書籍なら簡単な審査だけで出せる。
646デフォルトの名無しさん
2020/02/01(土) 16:27:53.15ID:t4FihBT6 やはりできぬ!
647デフォルトの名無しさん
2020/02/03(月) 02:56:28.79ID:gyzZZyLf いやできる。絶対に完璧にできる。頑張れ。
648デフォルトの名無しさん
2020/02/03(月) 16:12:29.25ID:AhEvcPzj むーりー
649デフォルトの名無しさん
2020/02/03(月) 16:52:51.88ID:EEPHYlO9 ヤレばデキる
650デフォルトの名無しさん
2020/02/05(水) 17:46:33.75ID:9nK7Yle0 スマートキャストで、これは問題なくできる。
val x: Any = 0.3
if (x is Double) println(x + 0.2)
しかしこれはできなかった。
val x2: List<Any> = listOf(0.3)
if (x2[0] is Double) println(x2[0] + 0.2)
足し算する前に as Double でキャストすると問題なし。
if (x2[0] is Double) println(x2[0] as Double + 0.2)
なんで? val で List だから内容が変更されることはない筈で、スマートキャストできそうに見えるんだけど。
Listの中身まで推論してられっかボケってこと?
val x: Any = 0.3
if (x is Double) println(x + 0.2)
しかしこれはできなかった。
val x2: List<Any> = listOf(0.3)
if (x2[0] is Double) println(x2[0] + 0.2)
足し算する前に as Double でキャストすると問題なし。
if (x2[0] is Double) println(x2[0] as Double + 0.2)
なんで? val で List だから内容が変更されることはない筈で、スマートキャストできそうに見えるんだけど。
Listの中身まで推論してられっかボケってこと?
651デフォルトの名無しさん
2020/02/05(水) 17:49:43.62ID:9nK7Yle0 Listに色々なクラスのインスタンス入れて返すメソッドを思い付いたのだがKotlinはスマートキャスト使えるから楽に書けるかなと思ったんだよね。
で、試してみてわかったんだけど、これだとJavaと大差ないね。
で、試してみてわかったんだけど、これだとJavaと大差ないね。
652デフォルトの名無しさん
2020/02/05(水) 17:54:45.88ID:xJPwpbdq653デフォルトの名無しさん
2020/02/05(水) 19:35:44.69ID:gUkl9CZ9 covariantの問題だから、将来的にもそこは変わないと思う。
654デフォルトの名無しさん
2020/02/05(水) 20:28:21.91ID:sFY5zr3G .get()がthisを変更しないことを
関数定義時に保証する文法を追加すれば解決可能では?
val y = x[i]で一旦受ければいいから
JBの言語改善にかける意欲の低さを考えれば超期待薄
関数定義時に保証する文法を追加すれば解決可能では?
val y = x[i]で一旦受ければいいから
JBの言語改善にかける意欲の低さを考えれば超期待薄
655デフォルトの名無しさん
2020/02/06(木) 00:02:18.36ID:E0QPZagj > Listに色々なクラスのインスタンス入れて返すメソッド
これのメリットがよく分からんけど List<Any> に対して get(i) + cast する拡張関数作ればいいんじゃね
これのメリットがよく分からんけど List<Any> に対して get(i) + cast する拡張関数作ればいいんじゃね
656デフォルトの名無しさん
2020/02/06(木) 01:30:37.85ID:hv8rQXh6 リストにいろいろと聞くとつい、生Listを構造体代わりにする昔ながらのクソコードを思い出す
あのアンチパターンに名前はないのだろうか
静的ならDestructuring Declarationsを使い動的ならSequenceを返してitをスマートキャストすればいいのでは
あのアンチパターンに名前はないのだろうか
静的ならDestructuring Declarationsを使い動的ならSequenceを返してitをスマートキャストすればいいのでは
657デフォルトの名無しさん
2020/02/06(木) 01:34:47.55ID:c8/ceEGP658デフォルトの名無しさん
2020/02/06(木) 01:42:08.64ID:c8/ceEGP >>651
型チェック+処理を頻繁に書きたいのなら
こういうの用意しておくといいんじゃね
inline fun <reified T> Any?.letif(b:(T)->Unit){ if(this is T) this.let(b) }
fun main() {
val x2: List<Any> = listOf(0.3)
x2[0].letif<Double>{ println(it + 0.2) }
}
型チェック+処理を頻繁に書きたいのなら
こういうの用意しておくといいんじゃね
inline fun <reified T> Any?.letif(b:(T)->Unit){ if(this is T) this.let(b) }
fun main() {
val x2: List<Any> = listOf(0.3)
x2[0].letif<Double>{ println(it + 0.2) }
}
659デフォルトの名無しさん
2020/02/06(木) 06:43:59.78ID:SCigAXfk >>650
val x2: List<Any> = listOf(0.3)
val x3 = x2[0]
if (x3 is Double) println(x3 + 0.2)
これはスマートキャストいけた。
雑に考察すると、x2の右辺には別スレッドで
val x4: MutableList<Any> = mutableListOf(0.3)
と定義したx4を書くことも出来て、
ifの条件式が評価されてprintlnが実行されるまでに、
元のスレッドでx4[0] = "string"が実行されている可能性が微粒子レベルで存在するのかなと。
val x2: List<Any> = listOf(0.3)
val x3 = x2[0]
if (x3 is Double) println(x3 + 0.2)
これはスマートキャストいけた。
雑に考察すると、x2の右辺には別スレッドで
val x4: MutableList<Any> = mutableListOf(0.3)
と定義したx4を書くことも出来て、
ifの条件式が評価されてprintlnが実行されるまでに、
元のスレッドでx4[0] = "string"が実行されている可能性が微粒子レベルで存在するのかなと。
660デフォルトの名無しさん
2020/02/06(木) 09:49:06.64ID:hv8rQXh6 data classなんかの読み取り専用プロパティへの参照なら同じ書き方でスマートキャストできる
そのプロパティを参照するだけのメソッドやカスタムgetterを経由したら不可
コンパイラ設計上、メソッドの副作用がないことを無制限に推論することは時間的制約の面で不可能で、どこかで線引きするしかない
リフレクションで変数を書き換えてるかもしれない
その合理的な線引きの範囲がval値への参照なんだと思う
そのプロパティを参照するだけのメソッドやカスタムgetterを経由したら不可
コンパイラ設計上、メソッドの副作用がないことを無制限に推論することは時間的制約の面で不可能で、どこかで線引きするしかない
リフレクションで変数を書き換えてるかもしれない
その合理的な線引きの範囲がval値への参照なんだと思う
661デフォルトの名無しさん
2020/02/06(木) 09:57:34.37ID:/RKPlkxl662デフォルトの名無しさん
2020/02/06(木) 19:48:08.86ID:RMCcx4bu kotlinはc++みたいな玄人向けのクソ言語になろうとしてるのか?複雑すぎやろ。コルーチンでどうやってエラー伝えればいいんだ
https://qrunch.net/@kyoutoday/entries/64IYC8Ye81WyzA5L
https://qrunch.net/@kyoutoday/entries/64IYC8Ye81WyzA5L
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★4 [ぐれ★]
- 京都のホテル大幅値下げ 訪日中国人客、年1000万人目前で急ブレーキ ★2 [蚤の市★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★5 [ぐれ★]
- 【Uo・ェ・oU】行方不明の女子中学生を捜せ 枕のにおい頼りに10分で警察犬お手柄 神奈川県茅ケ崎市 [ぐれ★]
- 「今の女性はルッキズム」は本当なのか? 若い世代が結婚相手に求める"本当の条件" [少考さん★]
- 【日銀】0.75%に利上げへ 来週の決定会合で、30年ぶり水準 賃金改善の継続見込む [ぐれ★]
- 【悲報】フィフィ「現在進行形でウイグル、チベット、内モンゴルを弾圧中国がなに言ってんの?」中国、アイヌや琉球の先住民の権利侵害 [733893279]
- 日本人「日本は建国から2700年以上の世界最古の国😤。中国は70年前に建国された若い国😏」 [441660812]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★4
- 愛国者「普通の日本人は「差別だー!」「レイシストだー!」とは言わない!」4万いいね [856698234]
- 【実況】博衣こよりのえちえちドラクエ1&2リメイク🧪★3
- 顔文字で永遠に馴れ合ってるやつらいるじゃん
