Kotlin 7

■ このスレッドは過去ログ倉庫に格納されています
2020/05/06(水) 16:00:38.76ID:LXTBA+hx
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう

※前スレ
Kotlin 6
https://mevius.5ch.net/test/read.cgi/tech/1561186797/
2020/08/25(火) 07:58:14.54ID:RPvgPVWb
でも、正直、このレベルだったので、if文で早期returnできた方がいいし13行くらいはそのまま書きたいですね
2020/08/25(火) 08:03:18.20ID:OtGEs4k+
>>243
メソッドとして切り出すかどうかの判断は行数よりもそのコードの意味の単位を基準にするといいよ
2020/08/25(火) 08:06:41.76ID:OtGEs4k+
すごい抽象的な言い方しちゃったごめん
わかりやすいやり方だと、その処理で何をやってるかをそのままメソッド名にすれば分かりやすい

例えばgetNameAndSaveName()みたいになるならこれはgetとsaveに分けるべきだと明らかにわかる
2020/08/25(火) 08:09:57.72ID:/wlWzg6J
whenの方がいいな
AndroidStudioも警告出してないか
2020/08/25(火) 08:24:01.90ID:RPvgPVWb
android studioで警告はでてないですね
whenも考えたのですが、なんかどうもまだしっくりこなくて使ってません
もちろん、when (式) {}形式は使いますが、
when { bool式 ->, bool式 -> , else -> }このタイプは・・
2020/08/25(火) 08:33:07.94ID:RPvgPVWb
>>244
もちろん、そうですけど
再利用されるならまだしも>>242のifを含むメソッド自体も>>242含めて、計30行くらいだったので
そこまで頑張って外に追い出してと思った次第です
そこは自分の適当なバランス感覚でやってます
2020/08/25(火) 08:35:01.36ID:RPvgPVWb
*そこまで頑張って外に追い出してもと思った次第です
2020/08/30(日) 08:25:50.36ID:yOhH+mxx
Kotlin派のお前らはKotlin以外にどんな言語に興味あるの?
2020/08/30(日) 08:53:04.67ID:iVwpT6se
>>250
java 読めたらいい
swift iPhone向けも
C++ NDK
C♯ Unity
2020/08/30(日) 11:54:12.41ID:vjTKHF/s
>>251
サンクス。やっぱKotlinの人はスマホが多いのかね。
サーバーサイドだとみんな他に何使ってるんだろう。
まだまだRails多いのかな
2020/08/30(日) 12:27:06.28ID:bk9ybW3K
うちはJava/SpringBootからKotlin/SpringBootにした
サーバーサイドKotlinはJavaからの移行組が結構多いんじゃないかと思う
次にやるならやっぱりGoかなと思う
2020/08/30(日) 12:35:38.68ID:fDI7uJsO
Goって糞じゃね
なんで2020のいまどきポインタとか使わないといけないんだよ
スライスもなんか微妙やし
railsみたいに色んな便利機能が最初からないのも糞
大体Google自体もWebアプリ向けに作ったというより
C言語代替を目的に作ったんじゃないの
2020/08/30(日) 13:06:57.56ID:bk9ybW3K
>>254
全くその通りでGoはホント糞だと思う
でもFargate/マイクロサービス構成にした時にJVMが積み上がってメモリキツキツもつらい
Goの代替としてKotlin/Nativeに期待してたけど全然完成しないし、
Rustも入門してみたけど開発メンバ全員でこれをやるのは無理だなと思った。
なのでマイクロサービスやるんなら選択肢はGoしかないのかなって思ってる
2020/08/30(日) 13:20:08.16ID:5iQunAT3
気の利いた機能は排除する代わりに
アホでも書けるように設計してるんだろうな
分かってる人にとっては使うとイライラする
2020/08/30(日) 13:22:05.33ID:yOhH+mxx
GoとKotlinは使い所が違うわなー
Goはまさにマイクロサービス向きで、Spring Bootで作るようなものにはまったく向いてない
2020/08/30(日) 13:23:00.30ID:yOhH+mxx
そう思うとJava、というかSpringはほんとよくできてる
2020/08/30(日) 14:25:06.58ID:bk9ybW3K
jetbrainsがさっさとJSとかモバイルを諦めて、
Kotlin/Native(完成版) + SummerBoot(SpringBootのKotlin/Native版)を
出してくれたら俺のモヤモヤは全部解消する
260デフォルトの名無しさん
垢版 |
2020/08/30(日) 14:41:42.24ID:Kgnw5LZN
Goの何が駄目といって名前がほんとうにクソ
2020/08/30(日) 15:29:22.80ID:fDI7uJsO
検索キーワード入れる度にぶちきれる
2020/08/31(月) 16:31:33.81ID:1OYiF1fv
>>255
迷走しすぎ
2020/08/31(月) 20:15:30.87ID:oyY7zoql
>>262
もっといいのあるん?
2020/08/31(月) 20:24:10.88ID:BQ9c+OGL
C#
2020/08/31(月) 22:28:16.28ID:o9UB16MR
GoでマイクロサービスするならfargateよりもGAEの方が良いよ
fargateというかAWS自体重厚すぎる
266デフォルトの名無しさん
垢版 |
2020/09/01(火) 13:49:50.85ID:HPYjIMXq
>>255
同意
2020/09/03(木) 01:24:44.12ID:/jT+DP04
Goはこの時代に作ってなんやこのクソ言語ってなるのに使いどころあるところが、良くわかってるんだよなぁ
2020/09/03(木) 11:44:56.18ID:bck6w86S
Goはせめてジェネリック対応してくれ
ジェネリックもない言語とか今どきアホか、としか思わん
2020/09/03(木) 12:44:23.73ID:Uua/pugj
>>267
わかる。好き嫌いでいえば嫌いだけど実用性は認めざるを得ない。
2020/09/04(金) 10:54:31.12ID:BpK2cgTn
モノリシックに作ったサービスを売れてきた段階でマイクロサービス化できるのが真の理想
現状それはGoでもKotlin/JVMでもやりづらい
なので、みんなもっとKotlin/Native&SpringBoot的なFWに期待しようぜ
2020/09/06(日) 00:31:01.15ID:vV14JvOS
サーバーサイドだけどKtor使ってるよ
2020/09/12(土) 20:57:55.93ID:cg167TCE
>>271
kotlin/nativeで?
273デフォルトの名無しさん
垢版 |
2020/09/16(水) 20:47:09.88ID:lj6HLAl6
そうか。じゃあそろそろGoの学習でもするか。
2020/09/18(金) 09:08:48.16ID:Ms50MueV
KtorってNativeで動くの?
275デフォルトの名無しさん
垢版 |
2020/09/19(土) 02:20:24.71ID:Vwp+/AeQ
ネイティブやるならrustの方が良くない?
kotlinの存在意義ってjavaのライブラリが利用できる事だと思ってた。
276デフォルトの名無しさん
垢版 |
2020/09/19(土) 16:43:04.49ID:HLFklpM8
JAVAのライブラリと互換性のあるネイティブのライブラリは作りやすいのではないかな
277デフォルトの名無しさん
垢版 |
2020/09/19(土) 16:52:33.54ID:Vwp+/AeQ
なるほど。
2020/09/19(土) 17:44:18.38ID:cAF7RylC
オラクルの訴訟の関係で、Javaライブラリの互換ライブラリは、今は誰もやろうとしないだろう
2020/09/19(土) 18:01:31.14ID:IB/705pp
Javaなんて覚えるんじゃなかった。
2020/09/20(日) 11:04:20.31ID:j6P8qNS0
>>275
Java資産を使わないならあんまり旨味ないよな
281デフォルトの名無しさん
垢版 |
2020/09/24(木) 21:05:14.57ID:UuOLxhHX
ま、今のところはな・・・
2020/09/24(木) 21:13:03.51ID:5nw0kH4E
ExposedもJava依存してるしなー
2020/09/28(月) 11:21:26.40ID:WOjmua0O
Oracleって関わるものすべてダメにするよな
2020/10/11(日) 15:27:38.72ID:PQG6fOjE
gradleはkotlin dslでも何の不都合もないの?
2020/10/12(月) 20:09:38.21ID:3myqygF8
次のプロジェクトのサーバーサイドを
kotlinにするかgoにするかで揉めとる。
goってそんなにいいの?
2020/10/12(月) 20:51:58.16ID:PPv56FHl
その2つで揉めることある?
どんな性質のものを作るかで自ずと決まりそうだけど
2020/10/12(月) 21:58:37.67ID:79wpd4KS
goは糞
今時ポインタとかさわりたくねえわ
2020/10/12(月) 23:40:50.80ID:eFX4wIRa
>>284
少し前まではsyntax heighlightが効かなかったりしていたけど、
今ではgroovyで書くときよりIntelliJの補完やIntelliSenseがよく機能していると思う。
2020/10/13(火) 01:13:41.51ID:guvdtf8r
goは何が糞といって名前が糞すぎ
なんだよ、goって
2020/10/13(火) 08:15:37.13ID:HL5BBdJ/
goでググりにくい
ググラビリティが低い
2020/10/13(火) 08:20:05.71ID:ZNus3TRK
goとこちょりんで揉めるのがどういう状況なのか想像できない
何を作ろうとしてるんだよ
2020/10/13(火) 08:26:15.72ID:D04kvfV3
まずググラビリティの話になるけど余程気の利かない人以外はgolangで検索されるようにしてるよ
293デフォルトの名無しさん
垢版 |
2020/10/13(火) 13:20:04.16ID:GnzXgn2/
GNU Go が出ました。
2020/10/13(火) 13:31:20.06ID:y5Oy6HcC
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる

この2つ以外は、出てこない
2020/10/13(火) 21:31:22.68ID:SAmaeGZN
つーか、goはグーグルがつくったんだから
最初からググラビリティのことぐらい考えとけ、っていう
2020/10/13(火) 21:32:00.65ID:Kkq8nxnq
>>293
なつかしいな、昔emacsから呼びだせるようにして
ちょいちょい打ってた
2020/10/14(水) 09:36:06.38ID:4PyCS5rX
>>294
それしか知らないんじゃねーの
2020/10/14(水) 10:42:02.47ID:5QXB1j1n
>>285
goにはjvm使わなくてもいいという利点がある
なのでモノリシックにするならkotlin
サーバーレスにするならgo
2020/10/14(水) 11:28:02.65ID:4PyCS5rX
>>298
モノリスとサーバーレスは対になる概念じゃないからその判断軸はおかしい。なんでアプリケーションの構成の話とインフラの構成の話で比較してるのよ。

どういうものを作るのかで変わるっていうのは完全に同意。
300デフォルトの名無しさん
垢版 |
2020/10/14(水) 11:32:15.05ID:GsUUoEHv
>>297
物知りですね判ります
2020/10/14(水) 11:48:46.02ID:8tU2UIMd
テック系のユーチューバーってちょっと前はとんでもないのばっかだったけど、最近は違うのかな
2020/10/14(水) 12:45:33.14ID:qpMvVLdo
>>294
初心者に対して「王道」とか言う奴は詐欺師か素人なので、信じるやつはアホとしか言いようがない。
2020/10/15(木) 20:09:16.65ID:Iyp/m7Oy
そもそもYouTuberなんて基本的に信者を作ってそこから何かしら金を巻き上げるのが仕事だからな
現実的な話をするより分かりやすくてキャッチーな話をするものだろ、そっちの方がウケるから
304デフォルトの名無しさん
垢版 |
2020/10/16(金) 12:19:42.51ID:yka6Eg2o
じゃあ Kotlin の話をすれば常に再生数Maxだね。
305294
垢版 |
2020/10/16(金) 12:36:42.23ID:jOsz+QQ/
YouTube で有名な雑食系エンジニア・KENTA は、日本一!

初心者が進む道を、サーバー側言語のRuby → Go を王道としてる。
この2つ以外は、出てこない

嘘がばれるから、他の言語を言えない

例えば、Python, Kotlin を勧めても、
仕事が少ない・取れないとか、難しいとか

唯一、Rubyで、サーバー側を1, 2年やれば、
10年以上のベテランに勝てるから、そこだけを狙っているわけ。
一種のチート技

他の言語では、初心者がベテランに勝てないので採用されないず、苦情が殺到するから
2020/10/17(土) 17:29:59.88ID:mDjHOg10
1、2年どころか半年でベテランに並べるみたいなことをいってる奴多すぎだよな、最近
んなわけねーだろとしか言いようがないんだけど
2020/10/17(土) 23:52:45.22ID:DGPCkU6w
苦情って客先常駐か
そんな根無し草みたいな生き方じゃなく正社員目指せよ
2020/10/18(日) 01:56:06.71ID:SXAbafYI
>>307
大手のITベンダーでも客先常駐の正社員腐るほどいるぞ

苦情 = 客先常駐 = 非正規って発想がヤバい
2020/10/18(日) 05:29:20.33ID:RuEhBFPq
大手のITベンダーだから何
客先常駐は常駐先の奴隷のクズ
2020/10/18(日) 05:58:58.31ID:Pm4b/GZw
悔しそうだな
2020/10/18(日) 09:45:27.90ID:KfA/pWR3
現場によるとしか言えん。自分の経験の範囲内では半々くらい。
それに疲れたから今は自社サ作ってる。
2020/10/18(日) 09:58:07.80ID:4BIlagEn
>>307
正社員て目指すものになったんだな
まあ卑屈にならず頑張れよ
2020/10/18(日) 12:35:36.33ID:RuEhBFPq
自社サービスできる開発以外は実質派遣だからな
お前らが売ってるのは技術じゃなくて
使い捨てにできる労働力というサービスだ
2020/10/18(日) 13:13:36.85ID:blBq09P/
年収1500万のコンサルタントでも普通に客先常駐する

正社員目指してる君が知らないだけ
2020/10/18(日) 13:15:22.70ID:KfA/pWR3
そのクラスになるとどこにいるかは自分で選べる、が正しいな
2020/10/18(日) 23:12:35.61ID:wLm/Wrgr
>>306
新しいトレンドができるたびに飛びつけばよい
常にみんな同じスタートライン
2020/10/19(月) 12:22:57.62ID:OC11jFNG
同じスタートラインってまさに未経験者を騙してるインフルエンサーがよく言ってるよな
同じスタートラインなのはエンジニアとしたある程度普遍的な経験値を積んだもの同士の話であって、未経験者がいきなりそこのラインに立てるわけでは無い
2020/10/19(月) 15:14:20.17ID:liiL750E
このスレの人からしたら馬鹿らしい質問かもしれませんが教えてください

ボタン等の押下処理を記述する際、
リスナを使った実装とonClickでメソッドを使った実装、
どのように使い分けるべきでしょうか?

こういう場面ではこっちが優れてる、或いはそもそもどんな場面でもこっちの方が優れてるとかあれば教えて欲しいです
2020/10/19(月) 15:30:20.47ID:RoaniA26
馬鹿らしいというよりKotlin関係なくね?
2020/10/19(月) 16:27:27.20ID:liiL750E
>>319
kotlinが初言語なので、kotlin関係ないのかすらわかってませんでした
2020/10/19(月) 16:36:22.44ID:0TVa/n4S
初めての人のちんこが大きいと実感するのは二人目以降だからな
2020/10/19(月) 18:01:49.83ID:liiL750E
いろいろなところで何度も呼ばれる処理はメソッド化して共通にする、
特定の画面、特定のボタン固有の処理はリスナでOK

という認識であってますか?
2020/10/19(月) 18:06:22.73ID:hsGVQ31A
よく分からんけど
例えばandroidの話ならandroidスレで聞いた方が良いよ
2020/10/19(月) 18:14:43.79ID:liiL750E
すんません
Androidの話なので移動します
325デフォルトの名無しさん
垢版 |
2020/10/20(火) 03:30:40.57ID:NqApQAye
Kotlinならリスナーの関数を渡したいところだな。
リスナーのクラスではなく。
2020/10/20(火) 07:44:43.16ID:Cn8Loi3u
自分も関数に一票
2020/10/20(火) 09:13:03.48ID:QuVmy3Ai
>>325
なんかメリットある?
無駄な行数食うだけにしか見えん
setOnClickListener{〜〜〜〜}
の〜〜〜部分に処理書いた方がすっきりしない?
2020/10/20(火) 09:45:41.49ID:oW+M9fYI
あれ?
kotlinって関数オブジェクト使えましたっけ?
2020/10/20(火) 12:16:37.18ID:pbE9KFPp
android の java も、java8 指定してれば、リスナーにラムダ渡せるやろ
2020/10/20(火) 15:42:07.05ID:FsiL/fhc
使えましたっけも何もKotlinの特性を活かそうと思ったら多用するだろ
2020/10/20(火) 22:34:01.23ID:NqApQAye
>>327
それそれ。Kotlin ならそういう風に関数渡す書き方が良かろう。
332デフォルトの名無しさん
垢版 |
2020/10/20(火) 22:37:40.83ID:NqApQAye
>>328
もう渡しまくりだよ。
2020/10/21(水) 00:32:40.75ID:L9+JuToE
>>331
関数渡す・・・?どこが?????
334デフォルトの名無しさん
垢版 |
2020/10/21(水) 00:48:26.94ID:qfY9UfeH
>>333
{ } で括って送ってるじゃん。
内部的には Java と同じにしてクラスのインスタンス送ってるだけだろうけどね。
2020/10/21(水) 00:51:33.39ID:rydvJ0KE
>>334
それを関数を渡すって表現は違うだろw
初心者か?w
2020/10/21(水) 01:51:12.05ID:TRe2T820
ラムダ式は可読性を向上させるためのものだから、ラムダ式を使うべきかどうかはソースコードが読みやすいかどうか主観で判断してok
2020/10/21(水) 02:05:49.40ID:itS4lvMF
>>335
どう違うのか具体的に教えてほしい
2020/10/21(水) 06:48:40.18ID:BtVJB35t
ラムダを受け取るメソッドの定義を見れば、明らかに関数オブジェクトを受け取ってるのが分かるだろうにな
ていうか普通に書いてたら自分でもそういうメソッド作ることはいくらでもあるだろ
2020/10/21(水) 09:20:06.89ID:t/TiBMqj
丸括弧が省略されてるだけで引数に渡してるじゃん
2020/10/21(水) 10:13:30.90ID:rGZIGqVb
>>335が馬鹿なだけ
2020/10/21(水) 13:58:10.36ID:v6AhSc1z
>>339
多分そういう仕組みになってることを知らなかったんだろうな
2020/10/21(水) 19:56:38.22ID:7tx42Oy8
引数の最後が {〜} の関数リテラルの場合に、それを引数の()の右外側に追い出せる
引数が {〜} の関数リテラル1つだけなら、引数の()そのものを省略できる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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