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/10/01(火) 14:14:20.72ID:zC4XWk/X
>>304
ギットの猫?
Monalisa モナリサです
306デフォルトの名無しさん
垢版 |
2019/10/01(火) 16:05:31.80ID:PlApYvsP
∧_∧  / ̄ ̄ ̄ ̄ ̄
( ´∀`)<  ・・・
(    )  \_____
| | |
(__)_)
2019/10/01(火) 16:48:17.15ID:YWyL5Bdu
それはモナー
2019/10/01(火) 17:00:30.37ID:EybpXLwx
>>305
ギット?ということで調べて来ました
身体はタコなんですね…w
ありがとうございました
2019/10/01(火) 20:26:22.24ID:icpbu6AK
Octocatが名前と思ってたけど種族名だったのか
2019/10/04(金) 15:39:45.09ID:LDjBJuJJ
ねこび〜ん
311デフォルトの名無しさん
垢版 |
2019/10/05(土) 00:16:58.11ID:rZgh896s
はじめてのandroidプログラミングのサンプルで使われてるライオンの画像がかわいいw
2019/10/05(土) 13:02:24.08ID:5lOJpdP4
おはようからお休みまで監視されるぞ
2019/10/05(土) 22:05:30.67ID:8kkLWvad
べつにされてもどうってことないよ
毎日食ってウンコしてシコって寝てるだけのオッサンのハゲ頭監視して
それ何か得することあんのか? 監視してるやつはバカとしかいいようがない
2019/10/05(土) 22:24:30.86ID:loobBt8E
ウンコ食ってシコ踏んでるだと
2019/10/07(月) 15:34:48.22ID:Sfhnmnfb
kotlinよかJavaの方が汎用性が高いので
androidappもJavaで書きたいんだけど
リファレンスではkotlinfirstだからな!って威張りやがるので
androidapp開発って、いつまでjavaで引っ張れるか、だれかプリーズ!
316デフォルトの名無しさん
垢版 |
2019/10/07(月) 15:39:15.19ID:rds9MmBY
わしはもうkotlinじゃ
317デフォルトの名無しさん
垢版 |
2019/10/07(月) 15:47:14.56ID:lSqRbxbA
そんなもんわからないので俺の主観で直感のみを使ってお答えしよう。

あと・・・3年ぐらいかな?
2019/10/07(月) 15:56:24.16ID:L7z14gMx
それは無意味な心配だよ
Javaがなくなれば自動的にKotlinも消える
319デフォルトの名無しさん
垢版 |
2019/10/07(月) 16:09:43.37ID:lSqRbxbA
Androidのアプリ開発で使われる事は減るのではないかな。
2019/10/07(月) 16:33:25.09ID:L7z14gMx
Android自体がJavaの塊だからサポート外になることはありえないよ
2019/10/07(月) 16:47:53.96ID:lsopFfLk
ありえないとは思わんが、もしJavaサポートをAndroidから排除する日がくるとしたら
それはGoogle端末がAndroidを載せるのを止める日だな
322デフォルトの名無しさん
垢版 |
2019/10/07(月) 16:48:30.06ID:lSqRbxbA
サポート外にはならなくてもアプリを作る時のJava使用率は減るのではないかな。
2019/10/07(月) 17:10:42.95ID:L7z14gMx
どうでもいいでしょ
世の中で圧倒的にKotlin<<Javaなのはこれからもずっと変わらないんだし、
たぶんJavaからKotlinへの移行が進むよりもスマホアプリをJVMモドキで作ること自体が廃れる方が早いよ
324デフォルトの名無しさん
垢版 |
2019/10/07(月) 17:14:52.96ID:lSqRbxbA
そしたら Kotlin native なりなんなりそのプラットフォームに合わせたコンパイラ使えば良い。
2019/10/07(月) 17:18:51.34ID:rds9MmBY
java知ってるならkotlinは楽
androidはkotlin化で立ち止まるよりライブラリの統合で使えないの?!ってなって考えることの方が多い
2019/10/07(月) 17:29:32.36ID:Sfhnmnfb
リファレンス様の顔色を窺ってみますと
android app作るのならkotlinな
サポートもkotlinに絞るぞと言っているような勢いを感じてしまう
2019/10/07(月) 18:11:11.20ID:Cu2dn/vN
googleはもうjavaのサポートレベルあげなさそうだよな。
今はJava8までの言語機能使えるんだっけか?
2019/10/07(月) 19:21:40.08ID:PHxdOQnu
Googleはなぜか言語ではこけまくった
2019/10/07(月) 19:31:23.00ID:L7z14gMx
Go当てただけで十分だろ
MSの打率がおかしいだけ
2019/10/07(月) 23:33:03.63ID:AKFeYH7t
>>327
一生あげなさそう
2019/10/08(火) 00:00:02.76ID:fx3YZ1T9
Googleの言語は理想ばっかりで現実(ライブラリとサポート)が
追いつかなかったからなあ。
332デフォルトの名無しさん
垢版 |
2019/10/08(火) 06:11:11.26ID:BYPsqzOs
google天才レベルばかり集めた結果、大多数の凡人が付いてこられなくなった感じはある、なににつけても
2019/10/08(火) 09:03:13.02ID:7Wk+kjRy
その天才達の叡智を結集した結果がDart()
2019/10/08(火) 09:15:21.58ID:dMLk3GdV
IQ150以上の人が作ったものなんて
大半(IQ90〜120)の人が使っても使いづらいだけ
ギフテッドは汎用ものを手掛けたらだめでしょ
2019/10/08(火) 09:28:08.68ID:2kQq17FH
的外れやな
じゃあ天才ばかりのMicrosoft Researchは?ってなるし
2019/10/08(火) 10:12:04.61ID:vyHOrYa6
全体デザインの天才を入れたかどうかの違いでしょ
337デフォルトの名無しさん
垢版 |
2019/10/08(火) 12:14:54.73ID:xX7RkViq
MS終了のお知らせ
https://www.youtube.com/watch?v=tmkrsMVsCvM
338デフォルトの名無しさん
垢版 |
2019/10/08(火) 13:33:32.41ID:gO+Oxfwr
AndroidのMSスマホだろ?
スマホに関してはWindows諦めたということだな。
2019/10/08(火) 13:39:24.55ID:7Wk+kjRy
Googleはデータドリブンに傾倒しすぎた結果、プログラミング言語自体の面白さが生産性を高めないことを確信してしまったんだろう
MSもJetBrainsもそんなことは昔から重々承知だろうけど、
さすがに長年開発ツールを作ってきただけあって使ってもらうためにはプログラマに心理的に好まれることも大事であると理解してるんだろうね
340デフォルトの名無しさん
垢版 |
2019/10/08(火) 22:47:14.28ID:UZ4l5hHn
>>339
341デフォルトの名無しさん
垢版 |
2019/10/09(水) 21:58:29.86ID:+IXxZ8i9
Swiftのコードを移植しやすくするために、プロトコルを移植する術を用意して欲しいな
2019/10/10(木) 07:03:41.74ID:giyEmNIS
>>334
スマホや、インターネット使ってる癖に?w
343デフォルトの名無しさん
垢版 |
2019/10/10(木) 09:44:34.71ID:f2z6TkRs
>>334
今回ノーベル賞貰った人のIQは150未満だったのか?
電池使いやすいぞ。入れとくだけだし。
344デフォルトの名無しさん
垢版 |
2019/10/10(木) 09:47:43.02ID:f2z6TkRs
ま、しかし、大人のIQって一体何を基準にして出すのか謎だな。子供ならまだわかるんだが。
345デフォルトの名無しさん
垢版 |
2019/10/10(木) 09:58:04.45ID:yMym0WfO
IQ = 偏差値 x 2
2019/10/10(木) 10:06:40.36ID:qMpodnOz
>>341
その前にfunとfuncを統一して欲しかった
いまだにとっさにどちらだか分からなくなる
347デフォルトの名無しさん
垢版 |
2019/10/10(木) 12:54:39.50ID:f2z6TkRs
>>345
そうするって決まってるの?どこで決めた?
2019/10/10(木) 13:15:24.31ID:3FRPhBpT
>>347
そう固い頭だと色々無理ですわ
2019/10/10(木) 13:24:45.83ID:/UOoEr+O
偏差値50でIQ100
50前後だと合ってるが端の方は違うだろうな
350デフォルトの名無しさん
垢版 |
2019/10/10(木) 21:06:55.89ID:f2z6TkRs
>>348
そうか。

とりあえずWikipediaで「知能指数」を見てみることをおすすめする。
16歳ぐらいまでしかちゃんとした測定はできないと考えて良い。
2019/10/10(木) 21:14:30.21ID:Dw9sQNQ5
>>345
俺メンサに入れるかも
2019/10/10(木) 22:10:25.98ID:l19Np2ka
>>346
ぱっと見ただけでどの言語のコードかわかるので、悪い話ばかりではない。
2019/10/23(水) 00:35:02.53ID:VlKG99wH
kotlinがサーバサイドで動く日は来るのだろうか
2019/10/23(水) 02:08:32.92ID:dddyYjX9
とっくに動いてるけど?
2019/10/23(水) 07:52:04.30ID:5Hzic27k
うちの
356デフォルトの名無しさん
垢版 |
2019/10/23(水) 13:23:08.82ID:9StfI0ul
サーバかどうかに関わらず動くと言えば動く
357デフォルトの名無しさん
垢版 |
2019/10/23(水) 13:25:26.53ID:9StfI0ul
ていうかだな、VMのレベルでJavaとの互換性あるんだからJavaでできることはなんでもできるよな。
互換性というかJavaバイトコードそのままなわけだが。
2019/10/24(木) 23:51:39.67ID:RhNVJpHw
何で誰もscalaのライブラリ移植してくれないんだ?
2019/10/25(金) 08:03:33.95ID:h86JIRQS
>>358
JavaからScalaを呼び出せるはずだから、Kotlinからも呼び出せるのでは?
360デフォルトの名無しさん
垢版 |
2019/10/29(火) 19:28:43.34ID:/JOXqSLR
bit演算子がand/orで、conditionalの方が&&/||って紛らわしいな。
2019/10/30(水) 09:41:04.16ID:C/RG5q83
>>360
伝統的に BASIC言語では、and, or が条件分岐(BOOL)用だったので、
混乱しそうですね。
2019/10/30(水) 10:21:31.19ID:boKIoRF+
単語と記号の混在が紛らわしいって話でしょ
VB系がAndとAndAlsoで、C系が&と&&で一貫しているのに対して、Kotlinはandと&&の組み合わせを選んでて言われてみると少し変
andはメソッドで&&は演算子だから差別化したかったというなら理解できるが、andを演算子オーバーロードしなかったのは何でだろうな
notはしてるのに
2019/10/30(水) 10:32:29.86ID:C/RG5q83
VBではAndもAndAlsoも、条件分岐用(BOOL系)で、AndAlsoが、
C での&&相当なんですね。x And y も C のx && yに近いが、
xが偽の場合でもyを評価してしまうところが && と違う。
そこで && と同じ動作を行わせるために導入されたのが AndAlsoと。
364デフォルトの名無しさん
垢版 |
2019/10/30(水) 16:18:46.97ID:1J5CWeWV
Pythonは、kotlinとは反対だな。
and/orはいかにも文章的で、こっちの方がしっくりくる。
2019/10/30(水) 17:38:05.90ID:C/RG5q83
それに、&& や || は長さも & や | より長いので、少し長い and, or と対応し易い。
後やはり、伝統的なBASIC言語との互換性は重要だ。そっちを覚えている人は
世界では沢山入るはず。特にアメリカ。
2019/10/30(水) 17:38:32.15ID:C/RG5q83
>>365
誤:世界では沢山入るはず。特にアメリカ。
正:世界では沢山いるはず。特にアメリカ。
2019/10/30(水) 20:40:57.63ID:6r1QZ6yg
and, orは値によっては計算を評価しないというifの役目もしてるから
ほかの演算子と一緒くたにするのは気分が悪かったのかもしれない

とおもったけど&&使ってもandと評価される項目一緒だっけ
2019/10/31(木) 06:45:28.23ID:GYAqAxt3
Kotlinの言語開発者は、andとorは拡張関数で実装すればKotlinの文法の範囲内で文章的に書けると思ったのかも。
ただ、>>367が指摘するように拡張関数のand, orは短絡評価がないから
&&, ||とは同じ動作にならない上にパフォーマンスも若干落ちるという残念な仕様に。
将来的に短絡評価するアノテーションとかを作れば何とか出来ると思っているのかいないのか。
2019/10/31(木) 07:22:01.32ID:HKEmMyl3
>>368
短絡評価しないから残念というものではなく副作用を考えて使い分けるものだよ
だから多くの言語ではわざわざ2種類用意されてる
前段については同意だがやはりなぜ演算子オーバーロードしなかったのか疑問
2019/10/31(木) 11:07:41.22ID:JXLI+jKB
ビット演算と論理演算の違いって>>360が書いてるやろ
ビット演算を短絡評価のない論理演算と捉えてるやつが多くてオシッコちびるわ
2019/10/31(木) 19:32:54.61ID:ZaVwx2RY
kotlin使ったことないもので
2019/10/31(木) 20:48:39.66ID:rgtTn2y8
ビット演算と論理演算の違いはC C# Javaとかでも同じっすよ
言語仕様を広げたくなかったんじゃね

Kotlinのandとかは言語仕様に無くて単なる標準ライブラリの関数扱いだし
373デフォルトの名無しさん
垢版 |
2019/10/31(木) 20:58:37.80ID:IuiVo8Vq
>>371
ただちに使いなさい。
2019/10/31(木) 22:36:23.90ID:GYAqAxt3
>>369
演算子オーバーロードを許すと、Int, Boolean等以外のLocalDateTimeのようなプリミティブでない
クラスにまでユーザーが論理演算(もしくはビット演算)を定義できてしまうから
好ましくないと思ったのかなと。

>>370
Booleanに限って言えばビット演算と論理演算は(短絡評価を除けば)等価なはず。
Booleanとand, orを組み合わせれば、(短絡評価の問題を除けば) &&, || が不要になる。
2019/11/01(金) 00:09:01.18ID:SSpVj4+E
>>374
notやplusは演算子オーバーロードしてるのにandがしてないのが疑問だと言っているんだよ
2019/11/01(金) 01:05:00.03ID:fA7q3dtP
>>375
何を言っても推測にしかならないけど、一つは&&の短絡評価を演算子オーバーロードで再現できないからではと思う。
a && b が bがBooleanかどうかでbが評価されるかどうかが変わるということを避けたかったのではと。
もう一つは、>>372の言うように言語仕様を最低限にしようとしたのではと思う。
Kotlinはシフト演算を見る限り、ビット演算しようとする人には優しくない気がする。
>>375がandでオーバーロードしたかったのが&か&&かはっきりしないけど、少なくともどちらか一つは答えになっているかと。
2019/11/01(金) 01:21:46.87ID:RfnyKZTx
「演算子オーバーロードしなかった」の意味がよくわからない
&演算子が無いことの話なのか、オーバーロード出来るかどうかの話なのか

後者なら単なる関数なので普通に出来るけど
class A(val s:String) { override fun toString() = s }
infix fun A.and(o:A) = A("${this.s}∩${o.s}")
fun main(args: Array<String>) = println( A("x") and A("y") )
2019/11/01(金) 09:34:45.45ID:zrbJp7o3
演算子がないことを、演算子オーバーロードしてないと言ってるんだろう

https://github.com/Kotlin/KEEP/issues/142
中の人は演算子提供するのに乗り気じゃなさそうだけどそのうち追加されるんじゃないか
shl/shrとかわかりにくいしand/orも他言語から来ると思考ノイズでしかない
379デフォルトの名無しさん
垢版 |
2019/11/02(土) 17:53:52.29ID:QgMrWwpO
ビット演算するとき、|=、&=って激しく便利だし頻出だと思うんだけどなぁ。
2019/11/02(土) 18:52:11.73ID:5tts/hNl
そもそも複数のbooleanで扱うべきフラグをビット演算で1つにしてるAPI設計が良くない説
2019/11/03(日) 06:01:49.39ID:1XdbflyH
>>380
ハードウェアがそうなってるのだから仕方なかろう。
いっぺんに書き換えないと挙動が変わってしまう
382デフォルトの名無しさん
垢版 |
2019/11/08(金) 01:15:52.84ID:cpVwQa3m
しーん
2019/11/16(土) 20:04:36.15ID:IPxvB3iz
javaラーがコトリンに乗り換える勉強するのにどれくらい移行期間かかります?
2019/11/16(土) 20:26:59.99ID:t3f2p1SX
1年働く
2019/11/16(土) 20:43:38.98ID:C0dcrxXu
>>383
君の全角半角のセンスからするとだな
386デフォルトの名無しさん
垢版 |
2019/11/16(土) 22:11:24.92ID:gv6Xc8ej
超天才でスーパーな人なら入門書パラパラめくって眺めて30分ぐらいかな
387デフォルトの名無しさん
垢版 |
2019/11/16(土) 22:13:58.74ID:gv6Xc8ej
1時間後にはもっと凄い新言語に閃いて作りはじめる
2019/11/16(土) 23:33:33.74ID:uUrUP5Ld
java -> kotlin変換しますか?
Y?/N?

Y -> 数秒まて
2019/11/17(日) 00:14:20.35ID:JQ6H4Wt1
それだと !! がたくさん残るしそもそもビルド通らない
2019/11/17(日) 09:48:27.71ID:fq5Zb79J
そっから手直しすればいいんじゃない??
無駄が多いし効率も悪いけど…
2019/11/17(日) 11:45:54.92ID:os2yIBUt
3日で慣れる
392デフォルトの名無しさん
垢版 |
2019/11/17(日) 17:31:59.24ID:8gWobnsK
あれ?forループで変数インクリメントするようなのできねーじゃん。なに?while使ってやれっての?えー!

ってなってから、なーんだ (a..b).forEach { } でやりゃあいいんじゃん。
と、気づくまでに3日以上掛かった。
393デフォルトの名無しさん
垢版 |
2019/11/17(日) 17:34:56.22ID:8gWobnsK
ていうか for (n in a..b) でもいいのだが、a..b が Range になっててあとはコンパイラが自動でうまいことやってくれる事に気づかなかった。
2019/11/17(日) 23:38:24.23ID:moRzMRqx
ひとまず小一時間感覚で書いてみるのは良いとしても
言語リファレンスを一通り流し読みする時間をどこかで確保しないとな
https://kotlinlang.org/docs/reference/idioms.html
2019/11/19(火) 06:21:31.09ID:bEq52YpT
!!ってダメなのか?
むしろ入れて解決してるんだが…w
2019/11/19(火) 09:50:11.74ID:LM0oqXyj
!!は全部消さないとダメ
397デフォルトの名無しさん
垢版 |
2019/11/19(火) 09:55:32.18ID:c65LTQ+s
>>395
ダメじゃないけど沢山あると嫌な感じ
2019/11/19(火) 10:47:58.28ID:DczGG2/f
Kotlin 1.3.60 リリース
https://blog.jetbrains.com/kotlin/2019/11/kotlin-1-3-60-released/
2019/11/19(火) 14:30:37.08ID:trU3CZAC
なぜどうしてもそこに必要なのかを説明できない!!は書いてはならない
あとあと絶対にそこでコード的にまたは仕様的にバグるから、むしろ遠回りになる
2019/11/19(火) 16:25:17.02ID:bEq52YpT
null許容変数がnullになるかもしれないから!!なんじゃないの?
そういう認識なんだが
2019/11/19(火) 16:29:22.93ID:DczGG2/f
val a = ThreadLocal<String>().get()
val b:String = a //暗黙の a!!
2019/11/19(火) 19:32:30.25ID:OgKqA1p2
!!は全部消すべき
2019/11/19(火) 19:39:12.55ID:bMvJvF/Q
>>400
動作の説明としては全くその通り
しかしそれをコードに適用するデメリットが大きいので全世界中からやめと毛と言われている
404デフォルトの名無しさん
垢版 |
2019/11/19(火) 21:21:13.73ID:c65LTQ+s
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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