X



Kotlin 6

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
2019/06/22(土) 15:59:57.23ID:zj+KJbMh
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう

※前スレ
Kotlin 5
https://mevius.5ch.net/test/read.cgi/tech/1544268581/
0560デフォルトの名無しさん
垢版 |
2020/01/05(日) 19:42:27.74ID:YU7sLweA
そよそよ
0563デフォルトの名無しさん
垢版 |
2020/01/06(月) 22:45:33.84ID:MYKIKe5Z
大学のC言語の授業で2分木の深さ優先探索と幅優先探索を再帰関数で書かされたなあ
0564デフォルトの名無しさん
垢版 |
2020/01/07(火) 00:31:39.93ID:hqMcZlsr
言語の名前がかわいいというだけの理由でkotlinを勉強し始めました。
書きやすくていいですね!
0565デフォルトの名無しさん
垢版 |
2020/01/07(火) 11:18:31.53ID:R7wg2P50
PCの気晴らし2Dゲームやスマホアプリやかんたんゲーム作ろうかなーと思ってKotlin始めたのだけど、
微妙絶妙にメインストリームから外れて手間が合わんのだな
Unity的なゲームじゃないスマホアプリはうまく合ってる気はするが
0568デフォルトの名無しさん
垢版 |
2020/01/07(火) 12:41:10.88ID:v179ZXJD
要は「めっちゃ書きやすいJava」なので、Javaのときに特段盛り上がってなかった分野はKotlinでも特段盛り上がってはいない
Kotlinで利用者が流入爆増してKotlin独自のライブラリが各分野でじゃんじゃん作られるみたいな未来予想図もあったのだが、まあ、世の中なかなか冷静で頼もしい限りではある
0569デフォルトの名無しさん
垢版 |
2020/01/07(火) 13:06:26.78ID:muv+YNpY
レベルS プラットフォームを問わずKotlinが広く利用される
レベルA Kotlinを使うためにJavaプラットフォームが採用される
レベルB KotlinによってJavaプラットフォームの採用障壁が下がる
レベルC Kotlinによって既存のJava開発者の満足度が改善する

今のところせいぜいCだな
0570デフォルトの名無しさん
垢版 |
2020/01/07(火) 20:56:09.81ID:LyNNZa7r
Javaやってたら取っつきやすいみたいな扱いされてるけどC#の方が覚えやすくね?
0571デフォルトの名無しさん
垢版 |
2020/01/07(火) 21:10:11.11ID:mPccAZYV
kotlinってandroid専用言語という位置づけだと思っていいですか?
Webでも積極的に使われている言語ですか?
0572デフォルトの名無しさん
垢版 |
2020/01/07(火) 22:30:31.70ID:I2Ol6zE2
現状ではandroid専用。Java代替目指してる言語だからwebで使うポテンシャルはあるけど、その用途で流行ってるとは言い難い。
0573デフォルトの名無しさん
垢版 |
2020/01/08(水) 14:29:53.70ID:HfJa1tF4
流行ってないだけで専用というわけでもない。
0574デフォルトの名無しさん
垢版 |
2020/01/08(水) 14:36:25.48ID:HfJa1tF4
ま、しかし、みんながやってると自分もやるみたいなのはやはり日本人的な感じがするな。
保守的と言うか開拓精神がないというか。だから悪いということはないけどな。
自分が率先して使って自分を中心に世界中に広めるみたいなこともできるかも知れないのだが、そういう考えが最初から起こらないぐらい頭が固くなってガチガチに保守化していると。
0575デフォルトの名無しさん
垢版 |
2020/01/08(水) 14:43:05.37ID:266dC9mX
「〇〇を作りたいのでKotlinを使う」の〇〇に入るのは非ゲームAndroidアプリ、ではある
現状これ以外で使うのは趣味とか修行とか苦行とかバカとかなんかそんな感じ
Kotlinは一応だいたいのものは作れるには作れるので、Kotlinで作ってみたいという情熱(または狭窄)で個人でいろんなもの作ること自体は別に止めない
手段が目的と化してるという点以外は問題はないからね
みんなあまりやらないことをやるという点では面白いはずだとは思うよ
どっすかRubyの二の舞
0576デフォルトの名無しさん
垢版 |
2020/01/08(水) 15:08:09.71ID:NG22H+Rz
>>574
欧米の人って明確な目的があって、それに合う道具なら古いものも新しいものも使う印象
日本列島に生息するアーリーアダプタ猿はたいてい手段と目的が逆転していて、
新しいものを触っても「やってみた」で終わるからそれ以上の発展がない
0578デフォルトの名無しさん
垢版 |
2020/01/08(水) 20:42:10.23ID:UOnWj2Kr
>>577
その後誰も使わなくなるものに手を出して半年で天を仰ぐ事例は事欠かない
だったらちょっとか有名人にも頼りたくなるというものだ
0579デフォルトの名無しさん
垢版 |
2020/01/08(水) 21:44:46.93ID:IfVHQg0W
その、「失敗したらどうしよう・・失敗しないように安全パイを狙おう」ていう発想が日本人ていう話
0580デフォルトの名無しさん
垢版 |
2020/01/08(水) 21:51:52.21ID:SxJLgebM
自分が有名人になろうという発想もない。
0581デフォルトの名無しさん
垢版 |
2020/01/08(水) 22:07:34.74ID:sWXWn+ML
まぁ結局はjavaなんだから、だったらjavaのままでいいじゃんで終わってそう。
0582デフォルトの名無しさん
垢版 |
2020/01/08(水) 22:07:56.44ID:l2iB3kWY
webなんかどうでもいい
今やブラウザからよりもアプリからの方がインタネットアクセスしてる人多い
サーバー側処理もこれから firebase的なものが主流になって独自実装はなくなっていく
Android専用とは即ち最強ということ
0585デフォルトの名無しさん
垢版 |
2020/01/09(木) 17:44:04.75ID:ZcunmaZD
firestoreってrate limitやIP banみたいなこと課金なしにできないの?
セキュリティルールで、他人のデータおもらしや、入力データ検証はできるけど。個人で使うとrate limitみたいのないと課金攻撃食らうのが怖い小心者の俺。
0588デフォルトの名無しさん
垢版 |
2020/01/09(木) 22:37:38.83ID:Oq4NA2+9
まあ、金払って押しつけるのが正しくはある
自社メールサーバーを運営するのが今や愚かな行為であるのと同じ
0590デフォルトの名無しさん
垢版 |
2020/01/10(金) 19:52:27.62ID:GhmlZgNK
かといってサーバなしにはできない
0592デフォルトの名無しさん
垢版 |
2020/01/10(金) 21:12:38.40ID:akcZyu4v
flutterきてるからもう色々諦めて、サーバーサイドkotlinに注力して欲しい。。
0594デフォルトの名無しさん
垢版 |
2020/01/10(金) 23:00:11.09ID:i7XOn7b7
クロスプラットフォームは全部糞
そもそもDartが糞
ちょうど今日はてぶでflutterの記事を読んだがやっぱりDartが糞
ttps://hachibeechan.hateblo.jp/entry/flutter-is-great-good-but-dart-is-dirt
結局サンプルアプリみたいな見た目のしょぼいごみアプリしか作れないのがオチ
0595デフォルトの名無しさん
垢版 |
2020/01/13(月) 10:33:07.31ID:2cuyt0IW
Dartが糞なのはわかる。でもflutterがきてるのも事実。
もう「どこでもkotlin」とか言ってる場合じゃない。
このままだとandroid->fuchsia移行と共にkotlinは終わる。
なのでjava,goを押しのけて静的サーバーサイド言語の第一候補になるしか道はないと思う
0596デフォルトの名無しさん
垢版 |
2020/01/13(月) 11:34:02.40ID:tegDOPxe
と思うけど、googleはなぜかKotlin版flutterのJetpack Composeを今年ベータリリース?に向けて作業中。
Jetpack Composeは最初はandroid向けかもしれんが、kotlinはnativeでクロスプラットホームになるし、Jetpack Composeも将来いつの間にかクロスプラットホームになったり?
0597デフォルトの名無しさん
垢版 |
2020/01/13(月) 11:36:48.21ID:tegDOPxe
まぁ、composeはクロスプラットホームにならなくてもcomposeの存在はかなりflutterへの移行を押し留めることになりそう。
もちろんflutterはクロスプラットホームだけど。
0598デフォルトの名無しさん
垢版 |
2020/01/13(月) 12:51:17.02ID:E4iJfsMG
K/JVMとK/Nチームがあまり仲良くない感じだったし
K/Nの設計上の戦略ミスもあって先は厳しい
企業リソースが潤沢でないことも大きいんだろうけど
0599デフォルトの名無しさん
垢版 |
2020/01/13(月) 13:45:04.59ID:iUioslZh
相変わらず世間で流行るかどうかばかりを気にしている。世間に依存して頼りすぎている。その結果振り回され続けてしまう。
0601デフォルトの名無しさん
垢版 |
2020/01/14(火) 00:16:09.33ID:d22nWjNN
俺なんて世間の流行なんか無視して我が道をいってるから
メインはDelphiパスカルだぜ!
0603デフォルトの名無しさん
垢版 |
2020/01/14(火) 15:44:20.83ID:/0srrHag
趣味なら何でもいいんだろうけど仕事なら需要を考慮しないと糞仕事で薄給とかやってられないでしょ
0604デフォルトの名無しさん
垢版 |
2020/01/14(火) 17:03:38.63ID:65PQRowg
流行ってるやつの方が情報多くて学習し易いというのはあるな。

そういえば今はまだJavaが結構使われてるようだがCも増えたんだってな。組み込み関係が増えたせいらしい。
0611デフォルトの名無しさん
垢版 |
2020/01/16(木) 18:03:07.20ID:zJukF7BC
>>608
いかにも。お前はクソだ。
0612デフォルトの名無しさん
垢版 |
2020/01/18(土) 20:25:30.67ID:AwYhHf6y
流行るか流行らないなんてどうでもいいんだよ
やりたいことをやれるかどうか
JavaScript界隈の気持ち悪いやつがflutterは流行らないといってるけど
流行ったらどういう態度にでるのか見てみたいものだ
0613デフォルトの名無しさん
垢版 |
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
0615デフォルトの名無しさん
垢版 |
2020/01/22(水) 13:59:16.59ID:qc9Q1TGx
Javaに決まっているだろ
Kotlinで書かれてたらどうやってコンパイラをコンパイルするのだ
鶏は卵からしか生まれないのだ
0616デフォルトの名無しさん
垢版 |
2020/01/22(水) 14:59:42.36ID:rj2HkyIb
コンパイラがどの言語で書かれてるかを質問する人よくいるけど
知ったところで何か意味あるの?
0617デフォルトの名無しさん
垢版 |
2020/01/22(水) 16:21:05.17ID:3jquT0bn
>>615
最初はJavaで次からはKotlinに変換して自分で自分を記述する状態にしてるかもよ。するとその後はずっとKotlinでKotlinを書く状態になる。

昔はPASCALをPASCALで書いてハンドコンパイルしてから自身をコンパイルさせるなんての本当にあったようだけどな。
0618デフォルトの名無しさん
垢版 |
2020/01/22(水) 16:22:45.42ID:3jquT0bn
>>616
コンパイラを作れる言語かどうかがわかる。

ということ以外の意味はないかな。
0619デフォルトの名無しさん
垢版 |
2020/01/22(水) 16:30:08.45ID:Ho7opIM1
最初は別言語で書かれるが、その後自身の言語で書き直すことはよくある
セルフホスティングと言ってGo,Rustなども達成している

成果物の動作環境で自身も動作可能になるので
Kotlin/JSがセルフホスティングなら
babel/standaloneのようにブラウザ上でコンパイルが可能になったり
Kotlin/NativeのビルドにJVMが不要になったりする

実用上はJVM需要が主だしGradleが便利なので変えないだろうけど
0621デフォルトの名無しさん
垢版 |
2020/01/22(水) 16:48:14.42ID:rj2HkyIb
>>618
KotlinのコンパイラがJavaで作られたとしても
Kotlinがコンパイラを作れない言語ということにはならないと思うんだが
0622デフォルトの名無しさん
垢版 |
2020/01/22(水) 17:03:14.84ID:54HMiZ6v
美人のまんこと豚のまんことどっちが良いかって豚の方が名器なら豚を選べば良い
気にすんな
0625デフォルトの名無しさん
垢版 |
2020/01/23(木) 18:56:14.34ID:GW8kqb26
kotlin1.4の展望を読んだんだけど、
「kotlin/nativeのコンパイル速度は、まだしばらく改善できません」
って言ってるのかな。。楽しみにしてたのに
0627デフォルトの名無しさん
垢版 |
2020/01/23(木) 21:18:33.10ID:G/hRyFJo
>>621
ならないね。実証できてないだけで。
0633デフォルトの名無しさん
垢版 |
2020/01/26(日) 23:29:22.09ID:k2+mT4PN
自分で作れば良いのではないか?
0635デフォルトの名無しさん
垢版 |
2020/01/27(月) 10:04:25.03ID:5yIKV7tf
近所の本屋ではkotlinの棚にflutterが侵食してきている
kotlin本は必要だー!出せー!
0636デフォルトの名無しさん
垢版 |
2020/01/27(月) 13:13:48.97ID:MAYcFInA
みんなで薄い本を出しまくろう
0638デフォルトの名無しさん
垢版 |
2020/01/27(月) 22:02:28.60ID:l6kTq6zA
      //
    / ./
    /  ./     パカ
   / ∩彡⌒ ミ 髪のはなし終わった?
   / .|(´・ω・`)_
  // |     ヽ/
  " ̄ ̄ ̄ ̄"∪
0639デフォルトの名無しさん
垢版 |
2020/01/28(火) 00:20:15.54ID:BrmWR/YB
通話中でもバックグランドで処理するアプリとか、スマートウォッチ向けアプリ作ってみたい
0640デフォルトの名無しさん
垢版 |
2020/01/28(火) 04:30:56.90ID:ms/fb6kS
じゃあ厚い紙の本で
0641デフォルトの名無しさん
垢版 |
2020/01/28(火) 04:32:09.25ID:ms/fb6kS
>>639
どうぞ。遠慮なく。思う存分作ってよいぞ。どんどん作ってくれたまへ。
0643デフォルトの名無しさん
垢版 |
2020/01/28(火) 12:56:22.85ID:Bdltl+Ea
大丈夫。お前ならできる。俺は信じてるぞ。
とりあえずネットで検索しろ。
0645デフォルトの名無しさん
垢版 |
2020/01/29(水) 09:57:21.18ID:Ji+gdkxY
完成したらその事を本に書いて出せ。
Amazonの電子書籍なら簡単な審査だけで出せる。
0647デフォルトの名無しさん
垢版 |
2020/02/03(月) 02:56:28.79ID:gyzZZyLf
いやできる。絶対に完璧にできる。頑張れ。
0649デフォルトの名無しさん
垢版 |
2020/02/03(月) 16:52:51.88ID:EEPHYlO9
ヤレばデキる
0650デフォルトの名無しさん
垢版 |
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の中身まで推論してられっかボケってこと?
0651デフォルトの名無しさん
垢版 |
2020/02/05(水) 17:49:43.62ID:9nK7Yle0
Listに色々なクラスのインスタンス入れて返すメソッドを思い付いたのだがKotlinはスマートキャスト使えるから楽に書けるかなと思ったんだよね。
で、試してみてわかったんだけど、これだとJavaと大差ないね。
0653デフォルトの名無しさん
垢版 |
2020/02/05(水) 19:35:44.69ID:gUkl9CZ9
covariantの問題だから、将来的にもそこは変わないと思う。
0654デフォルトの名無しさん
垢版 |
2020/02/05(水) 20:28:21.91ID:sFY5zr3G
.get()がthisを変更しないことを
関数定義時に保証する文法を追加すれば解決可能では?

val y = x[i]で一旦受ければいいから
JBの言語改善にかける意欲の低さを考えれば超期待薄
0655デフォルトの名無しさん
垢版 |
2020/02/06(木) 00:02:18.36ID:E0QPZagj
> Listに色々なクラスのインスタンス入れて返すメソッド

これのメリットがよく分からんけど List<Any> に対して get(i) + cast する拡張関数作ればいいんじゃね
0656デフォルトの名無しさん
垢版 |
2020/02/06(木) 01:30:37.85ID:hv8rQXh6
リストにいろいろと聞くとつい、生Listを構造体代わりにする昔ながらのクソコードを思い出す
あのアンチパターンに名前はないのだろうか
静的ならDestructuring Declarationsを使い動的ならSequenceを返してitをスマートキャストすればいいのでは
0657デフォルトの名無しさん
垢版 |
2020/02/06(木) 01:34:47.55ID:c8/ceEGP
>>650 >>654
メソッドを2回呼んで同じ値を返す保証は結構難しい
言語レベルでのメモ化や参照透過性、所有権システムなどが必要になる

フロー解析で出来たところでコンパイル可否がlistOfの実装に依存して
柔軟性もコンパイル速度も悪化するから
Kotlinディスカッションに投げても多分改悪判定される

valやletで十分だと思うけどな
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況