Kotlin 6

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

※前スレ
Kotlin 5
https://mevius.5ch.net/test/read.cgi/tech/1544268581/
2019/08/10(土) 14:51:44.46ID:GOby/sRA
>>164
どうやってKとVを対応付けるん?
2019/08/10(土) 14:53:06.48ID:7hwbBJNq
>>165
LinkedHashSetかTreeSetにように順序付けがあるならいいけど
単にSetとして考えるなら順序不定だから2つのSetの関連付けが出来ない

仕様の前提から考え直したほうが良い
一応順序があるなら m = setK.zip(setV).associate{it} で出来る
2019/08/11(日) 21:22:32.39ID:ZXwxD5+u
今コード書いていて疑問に思ったんだけど、String#sliceとString#substringって何が違うの?
169デフォルトの名無しさん
垢版 |
2019/08/11(日) 23:47:08.23ID:oR4Xkpxd
slice?
2019/08/12(月) 05:27:10.62ID:XEveaWQR
>>169
ないと思った? あるんだなこれが。
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/slice.html
171デフォルトの名無しさん
垢版 |
2019/08/12(月) 07:04:34.47ID:+GFDKMmL
あー。しかしちょっと違うね。CharSequence と String の違いか。
2019/08/12(月) 09:27:25.92ID:ByCVSLZd
String#slice -> String もあるよ

挙動に差があるようだけど実用上意味があるかは微妙だな
https://ideone.com/lIfuV9

fun ck(nm:String, f:()->String){
try { println("${nm} = ${f()}") }
catch(t:Throwable){ println("${nm} throw ${t}") }
}

fun ck(r:IntRange){
ck("su(${r})"){ "0123456789".substring(r) }
ck("sl(${r})"){ "0123456789".slice(r) }
}

ck(1..3)
ck(3..1)
ck(-2..-4)
ck(1..-1)
ck(-1..1)
ck(8..12)
ck(-4..-2)
2019/08/12(月) 10:26:11.95ID:rOThr/rm
この並存状態と微妙な差はJavaScriptの現状に倣ったんじゃないかな
いずれにしてもそれぞれの意図が明確にドキュメント化されていないみたいなので実装の差を活用する気にはなれないけど
2019/08/12(月) 11:10:03.11ID:5YMnNr49
>>172
どうでもいいけどすごく読みにくいコードを書きそうな人だね
2019/08/12(月) 13:31:44.89ID:ByCVSLZd
>>174
どの辺が読みにくかったんだ?
2019/08/12(月) 16:13:09.70ID:4uT/qIKy
コードが読みにくいというか命名が15年前のセンスだと思う
2019/08/12(月) 16:55:39.77ID:DtCUafYG
jkならまだしもckだからな
2019/08/12(月) 17:12:20.38ID:2MqzCTOL
今の命名の主流はどんな?
2019/08/12(月) 17:32:35.13ID:ByCVSLZd
>>176
書き捨てなのと5chの制限回避で文字数・行数圧縮してるんすよ・・・
2文字以下で現代的(?)なのがあるならすまん
2019/08/12(月) 18:36:52.29ID:zabz7akz
文句あるやつは書けよ。
批判はそれからだ。
2019/08/12(月) 20:42:49.12ID:0G8rhhxx
戦うために武器(コード)を取るのだ
2019/08/12(月) 23:45:35.98ID:XEveaWQR
>>172
ちょっとわかった。ありがとう。
>>173
なんとなくそうかなと思っていたけど、やっぱりJavaScriptとの互換性のためにsliceを導入したのかな。
>>177
中高生...
183デフォルトの名無しさん
垢版 |
2019/08/13(火) 15:31:14.99ID:5AmJrB7O
ckは中高年だろjk...
2019/08/13(火) 17:47:19.54ID:Jow6dsXJ
こういうところもKotlinがとっつきにくいと言われる一因だよな
まあ実際には知らなくても困ることはあまりないんだけど
2019/08/13(火) 19:30:04.03ID:9XoWp9xR
firebase firestoreを使っていて月額固定のflameプランを契約しているんですが、
一日の上限の読み取り回数である25万回を超えても普通に使えてるんですが何なんですかね
2019/08/13(火) 23:01:55.66ID:Jow6dsXJ
サポートに聞いてみたら?
勝手に追加課金されることはないだろうけど、確かめるに越したこたはない
2019/08/13(火) 23:40:10.49ID:9XoWp9xR
てか読み取り回数すぐ増え過ぎじゃないですか
realtimedatabaseより遥かに高い
これからはfirestoreに移行するもんだと思って使ってみてるのに
クエリー使わないならrealtimedatabase使ったほうがいいし
188デフォルトの名無しさん
垢版 |
2019/08/14(水) 20:22:16.10ID:yoJp7Q+u
googleの新しいカモ要員っしょ
開発力あるなら柔軟性のあるGAEとかを直接叩くほうがいいと思う
2019/08/14(水) 21:19:15.88ID:84Oh9mQQ
オフライン機能ついたデータ同期する場合はfirestore楽なんだけど。
それを自前で実装?ご冗談を
2019/08/15(木) 06:03:55.70ID:hzhpdWuA
たぶんfirebaseで何ができるのか良く分かってない人なんだよ
2019/08/15(木) 19:17:22.46ID:HuJciu41
これもしかして25万回超えなかった日の分が
超えた日の分に補填されてるんですかね
2019/08/18(日) 17:49:48.37ID:aIP94dp2
アプリの更新がなかなかすぐにアップされなくなったり
2019/08/28(水) 11:55:43.22ID:M6/hRUv8
Kotlin 1.3.50 released
https://blog.jetbrains.com/kotlin/2019/08/kotlin-1-3-50-released/
2019/08/30(金) 23:44:51.89ID:CKkw9aVy
inline classには期待してる
2019/08/31(土) 07:36:06.91ID:yMMVEs16
なんだそれ
196デフォルトの名無しさん
垢版 |
2019/08/31(土) 15:34:13.20ID:8SnjJh04
初心者向けの本を買ったんだが、この方が簡単ですとか言いながらガラケー時代の画面を作らせるとんでもない本をつかまされた…
197デフォルトの名無しさん
垢版 |
2019/08/31(土) 16:27:15.76ID:E5RG3LAO
>>195
ぐぐると出てくる

>>196
ガラケー?今さら実行可能な環境がないように思うが。
Androidだけどガラホで画面が狭いだけではなく?
2019/08/31(土) 20:14:25.17ID:l+8K//xt
>>196
書籍名晒しておk
2019/08/31(土) 20:50:45.80ID:KfrTh11M
>>197
FF作れないと怒る初心者の方はいまだにいますよ
2019/08/31(土) 21:17:33.98ID:fnsFNUOu
あーそれ系か。
昔(2000年頃)、DirextXで3Dシューティングを作るための勉強本が出たんだけど、
物凄く丁寧で最初は数学の復習が書いてあった。
(高校数学の法線ベクトルの考えたかとか)

で、読んでも意味がわからん勉強ができない俺を馬鹿にしてるのか金返せと
本屋に怒鳴り込んできた20代の子が居たんだよ。

だからかは知らないが、本に載ってるゲームは結構簡単なレベルのものが多くなったなあ。
2019/08/31(土) 23:34:53.19ID:4oABfnfN
コトリンでガラケー作れるの?
202デフォルトの名無しさん
垢版 |
2019/09/01(日) 01:06:54.68ID:sYwYgS29
>>200
尼でもコメントに理解出来ないって書いて評価下げる香具師が多いな
2019/09/01(日) 08:18:34.70ID:4VzRiKqb
>>201
ガラスマなら
2019/09/01(日) 08:20:11.88ID:4VzRiKqb
ガラホだった
2019/09/01(日) 08:38:53.82ID:zZOev42p
まあ、著者や編集者の力不足で教えるの下手くそな本はあるにはあるよ
名プログラマーであるからといって、そのシステムの開発者であるからといって、他人(初学者)に教える文章を書くのがうまいとは限らない
ただ、思ったようなアプリの作り方が載ってないってのはあんまり作者の責任ではないな
206デフォルトの名無しさん
垢版 |
2019/09/01(日) 11:16:53.58ID:kCJZVLuH
造り方が既にそこら中に転がってて後追いで造っても面白くないやろ
創り方は自分で考えろ
2019/09/01(日) 11:51:21.62ID:KATDlG57
>>206
開発は本の方が勉強しやすいね。
2019/09/01(日) 14:35:22.29ID:9BbodNVn
後追いいいじゃないか
先人が1ヶ月悩んだ結果を15分で乗り越えて経験積めるんだぞ
残り29日23時間45分はそれをもとにしたさらに別なことに使えるんだ
梃子の効果すごいだろ(間違い)
2019/09/01(日) 17:45:48.09ID:ugxLNVG7
>>202
香具氏とか15年ぶりぐらいに見た
2019/09/01(日) 17:55:48.27ID:AgLO+mY6
ぬるぽ
2019/09/02(月) 06:40:57.18ID:M41ulF/8
ガッ!
212デフォルトの名無しさん
垢版 |
2019/09/02(月) 12:54:07.77ID:/e661u5A
香具師の木
2019/09/02(月) 16:49:42.23ID:rC6R2Kxv
かぐ・・香具師
2019/09/02(月) 22:15:36.95ID:bAKekKnt
振り返れば香具師がいる
2019/09/03(火) 13:18:29.16ID:uD7mrZbr
パーサーコンビネーターって無いんかな
216デフォルトの名無しさん
垢版 |
2019/09/03(火) 14:26:04.23ID:6Dqkf6EJ
今からプログラミングを学ぶとしたらjavaよりkotlinのほうがいいよね?
217デフォルトの名無しさん
垢版 |
2019/09/03(火) 14:34:14.84ID:fMS/rXUz
まあそうだろうな
2019/09/03(火) 14:39:57.01ID:SNzApyUr
これマジ?
2019/09/03(火) 15:39:56.36ID:Z/DGFcDe
内部DSLで無茶するよりコード生成の方が最終的には小回り効いて好きだな
2019/09/04(水) 19:59:15.19ID:juCQidKM
>>219
DSLは汎用ライブラリのために丁寧に設計する時用かな。
スキルによるだろうけどDSLのライブラリを使いたいとは思うけど、作りたいとは思わななかった。
2019/09/06(金) 18:04:10.08ID:ntx8q56D
もうAndroid Javaの仕事はないぞ
Kotlinがわからないやつに仕事はないぞ
2019/09/06(金) 20:10:18.09ID:+qwVl2yS
Kotlinでマウントするのはさすがに無理筋
こんなもんJavaわかれば誰にでもできる
223デフォルトの名無しさん
垢版 |
2019/09/06(金) 20:29:16.58ID:cFgJ4jGo
JavaができるならいずれはKotlinもできるようになるだろうがすぐにではない。
すぐにできたとしても最初の内は Kotlin らしくない Kotlin の良さを生かし切れていない「セミコロンなし Java」みたいな、何年後かに自分で読み直すと修正したくてしたくてたまらなくなるようなプログラムになるであろう。
2019/09/06(金) 20:56:07.38ID:f+pPgM/V
つーか何を使えるかじゃマウントとれないわ
225デフォルトの名無しさん
垢版 |
2019/09/06(金) 21:01:33.69ID:cFgJ4jGo
実は俺、N88BASIC(86)も使えるんだ(キリッ
2019/09/06(金) 21:48:01.99ID:hgPplejZ
実は俺R3000のアセンブラ使えるんだ…
2019/09/07(土) 00:23:23.27ID:C+Vj3AQn
アセンブラは価値があるかもだな。
どちらかというと何を作れるか、
もっと言うなら何を作ったことがあるかが大事かと。
2019/09/07(土) 07:50:58.59ID:o13lKSsS
Kotlinって結局のところJVM言語のひとつなんじゃない
2019/09/07(土) 08:37:16.28ID:C+iY+EtG
そうだけど、それがなにか
2019/09/07(土) 12:06:44.46ID:beTJlJpp
コットリーン!!!
2019/09/07(土) 13:16:09.14ID:6re/woh0
javaはkotlinに変換できるのに
kotlinはjavaに変換できないのか?
2019/09/07(土) 13:21:40.70ID:C+iY+EtG
する必要がないから
2019/09/07(土) 13:32:09.09ID:Z+q8qP+s
>>231
できると思うよ。
kotlin→jvmコード→逆コンパイル
2019/09/07(土) 14:16:30.85ID:C+iY+EtG
逆コンパイルしたやつってかなり非効率なコードしてそう
2019/09/07(土) 14:20:04.10ID:6re/woh0
あ、すまん、回答ありがと
実際にjavaにしたいわけじゃない
将来的にkotlinだけの巨大なスパゲッティを見たときに正しく読めるかな?と不安になってね
236デフォルトの名無しさん
垢版 |
2019/09/08(日) 14:12:59.11ID:vQDbHeJD
Kotlin使ってもなおスパゲッティになるようならJavaに変換したらもっと凄いスパゲッティになるのではないか?
237デフォルトの名無しさん
垢版 |
2019/09/08(日) 14:21:36.92ID:vQDbHeJD
Javaで書くと冗長な感じになる表現を小さくまとめられる事が多いしKotlinはそういうのも目標にして作られた言語だからな。
だからJava→Kotlin変換をするとだいたいは量が増えて複雑怪奇なソースになると思う。
238デフォルトの名無しさん
垢版 |
2019/09/08(日) 14:22:16.25ID:vQDbHeJD
逆だ。Kotlin→Java変換ね。
2019/09/08(日) 14:42:39.98ID:g2jzsvZp
作るのはまだjavaでいいだろうけどkotlinをネイティブで読めるようにはなりたい
2019/09/08(日) 14:45:06.45ID:laN+P70G
Java読むよりKotlin読む方がすんなり入ってくる
2019/09/08(日) 16:18:39.78ID:g2jzsvZp
>>240
完成品はね
でも製作途中で何処かがおかしいんですとか相談に来られても見れない
2019/09/08(日) 20:13:33.90ID:/L5LYKIY
javaをkotlinに変換すると大体20%ぐらい減る
2019/09/08(日) 20:48:04.68ID:h749KvV3
開発中の任意のタイミングでKotlinの方が分かりやすいと思うけど
244デフォルトの名無しさん
垢版 |
2019/09/09(月) 23:58:48.28ID:66UIYaje
今まで買ったjavaの本、全部kotlinにならないかなぁ…
逆引きのkotlin版ってないの?
2019/09/10(火) 02:20:28.10ID:haS0qyWJ
作ってけれ
2019/09/10(火) 07:03:13.64ID:x/dcDmPS
java見ながらkotlinにして書いてると
つまずいたときにjavaでいいやってなる
変換はなんとなくわかるけど、省略するとこがいまいちわからん
どうやら自分は省略すればいいとこを無理に変換しようとしてるぽい
そしてまたjavaを書く
2019/09/10(火) 07:46:08.16ID:EO8p3gy7
書きやすい方からでいいよ

言語の慣れもあるけどプログラム経験の方が重要
プログラムイディオムや関数型の理解などが進めば
言語の切り替えもスムーズになる
2019/09/10(火) 09:54:29.30ID:hogKSn/2
向いてないから死ね
249デフォルトの名無しさん
垢版 |
2019/09/10(火) 12:42:23.43ID:rIrXed8C
むきむき
250デフォルトの名無しさん
垢版 |
2019/09/11(水) 21:52:55.09ID:+fGXXck4
速習 Kotlin: Javaより簡単!新Android開発言語を今すぐマスター 速習シリーズ Kindle版
山田祥寛 (著)

まあまあ、良かった。Delegate、移譲の部分が消化不良だが、byっていうキーワードでメソッドcallの時にReceiverを取り替えられるって事がわかった。
by Delegate()でa.someMethodっていうメソッド呼び出しをDelegateオブジェクトのsomeMethod呼び出しへと変換できるらしい。
someMethod呼び出しの中でNotificationを行うとかの応用ができる。

lazyとかっていうオブジェクトがよく解らんかった。動かしながら理解しないとだめだな。本を読んだだけではピンと来ない。
251デフォルトの名無しさん
垢版 |
2019/09/11(水) 21:57:51.62ID:+fGXXck4
KotlinはSwiftに似てると思ってたが、言語仕様はSwiftに比べてコンパクトだった。

ただ、Kotlin関連用語がかなり違和感。vs Swift
constructer - initializer
lambda - closure
object - instance
val, var - let, var
fun - func
interface ISome<T: U> - protocol ISome { associatedtype = T where T: U}
252デフォルトの名無しさん
垢版 |
2019/09/11(水) 21:59:48.92ID:+fGXXck4
>>251
Genericsの汎用型、型パラメータの書き方はKotlinの方が好みだな。
e.g.
interface ISome<T: U> {…}
253デフォルトの名無しさん
垢版 |
2019/09/11(水) 22:04:19.76ID:+fGXXck4
他言語プログラマのためのKotlin基礎 Kindle版
Independent Laboratory (著)
その他()の形式およびエディションを表示する
Kindle版
¥0
Kindle Unlimited では、このタイトルや100万冊以上の本をお
254デフォルトの名無しさん
垢版 |
2019/09/11(水) 22:05:44.19ID:+fGXXck4
>>253
次はこれ読んで見る。
2019/09/11(水) 22:18:33.59ID:4pyg+RzE
山田しょうかんってひとは良い印象がある
2019/09/12(木) 07:23:50.51ID:W3DZId8k
漏れのフレームワーク本の著者の評価では、
掌田津耶乃がトップで、山田祥寛は2番目

山田は100名まで、1人4万円の講座もやってた
2019/09/12(木) 08:06:27.87ID:lapELpAL
英語の本でいいのある?
逆引き的な辞書的なサンプル集的なやつ
2019/09/12(木) 08:34:44.36ID:Cr8f/Gnu
スレチ
2019/09/12(木) 08:36:35.68ID:DXT4s2Ch
コピペグラマはおとなしくJavaにしとき
2019/09/12(木) 08:38:14.19ID:lapELpAL
あ、kotlinの英語の本です
技術英語なんて日本語の本と書いてあることはだいたい同じだから
2019/09/12(木) 09:14:06.31ID:o/qdyccE
>>256
漏れなんて言い方久しぶりに見たよ(藁)
262デフォルトの名無しさん
垢版 |
2019/09/12(木) 09:27:48.98ID:sCqf+kbI
>>256
>掌田
この人の本、めったに当たりが無い。
Rubyの本は良かったな。特に、CGIの部分。Rails出現以前の本だった。
この本でhttpdがCGIをどう扱ってるか理解した。
httpのputリクエストのrequest headerをRubyアプリは、stdinから取り込むと知ったのだ。

それまでコマンドライン引数でrequest headerを受け取るのか?
はたまた、環境変数で受け取るのか不思議だったのだ。
263デフォルトの名無しさん
垢版 |
2019/09/12(木) 09:37:40.30ID:mRFzyQxg
more
264デフォルトの名無しさん
垢版 |
2019/09/12(木) 09:39:32.11ID:mRFzyQxg
>>262
言語は関係ない。とにかく標準入力から読めば良いのだ。
2019/09/12(木) 09:54:54.56ID:xaz6/6gJ
つのだは糞
ネットで調べればすぐわかるような入門的なことしか書かない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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