Kotlin 2

■ このスレッドは過去ログ倉庫に格納されています
2017/11/01(水) 00:07:43.82ID:jxmKQQAl
JetBrainsが開発した期待の新言語Kotlinについて語りましょう
https://kotlinlang.org

前スレ
Kotlin
http://mevius.5ch.net/test/read.cgi/tech/1456505161/
2018/02/25(日) 10:33:42.84ID:4s22ePtw
Kotlinインアクションの尼評価低いなと思ったら理由が「難しい」ってw
2018/02/25(日) 10:54:15.05ID:skC5U3zO
やっぱGroovy in Actionだろ、GradleはGrooovyなんだぜぇ
715デフォルトの名無しさん
垢版 |
2018/02/25(日) 11:44:58.69ID:XjF3qDop
こんな本が出てたんだな。

Androidアプリ開発の教科書
http://amzn.asia/59lxVwl
2018/02/25(日) 11:46:33.02ID:XjF3qDop
あ、Kotlin で検索したら出てきた本だけど Kotlin とは限らないみたいだな。すまん。
2018/02/25(日) 11:50:17.94ID:XjF3qDop
すまん。Kotlin の K の字も出てこないな。忘れてくれ。
2018/02/25(日) 12:40:42.33ID:pcyqC+jB
Kotlinイン・アクション、2017

Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016

せっかく太郎が、イン・アクションを参考にして、わかりやすく書いたのだから、
日本人は、太郎本を読んだ方がよい
2018/02/25(日) 13:02:41.55ID:OHKw3fir
情報量はインアクションの方が多いから、わざわざ薄めた本を買う必要なんてないよ
2018/02/25(日) 13:29:07.46ID:V/Ygd9gi
>>718
お前はスッキリをすすめてろよ
2018/02/25(日) 14:16:36.00ID:4s22ePtw
Kotlin本といえば今のところインアクションとスタートブックの2択だと思うけど、
「難しい」って理由でレビュー評価下げるのはどうよ?と思ったんで、難しい以外に
インアクションで問題点ある?
バージョンが古いとか?
2018/02/25(日) 14:31:03.18ID:VQCl2C19
※716
Androidの入門本なんてAndroid搭載機種の種類と同じくらい大量に出てるのになぜわざわざそれを貼ろうと思ったのか
2018/02/25(日) 14:41:45.45ID:XjF3qDop
>>722
先に書いた通り、AmazonでKotlinで検索して出てきたため。
2018/02/25(日) 15:09:27.72ID:Ydc/tL+D
電子書籍でレイアウト固定だと買う気しない
2018/02/26(月) 08:03:23.98ID:RZjRtr5i
知らんけどkotlinのandroid入門書なんてもう山ほど出てるんちゃうの?まだjavaばっかなの?
726デフォルトの名無しさん
垢版 |
2018/02/26(月) 08:23:30.09ID:t40oU2wX
まだ一冊しかないのでは?
2018/02/26(月) 08:27:44.65ID:RZjRtr5i
そうなのか、意外と動き遅いんだな
2018/02/26(月) 08:56:28.62ID:qQ1Da7Hp
本で勉強する時代じゃないからね
2018/02/26(月) 09:20:17.57ID:G+urRbGd
細切れ情報を探すのはやだな。レベルも方針もバラバラだし。
良書があるなら本がいい。
2018/02/26(月) 09:34:26.29ID:/jWICelY
まあ、AndroidでKotlin使うのは増え続けるだろうから何れ本も増えるだろう。
2018/02/26(月) 09:43:22.22ID:CZmy/XEe
本は中古やで何冊かあったよ、まだ高かったけど
正直Pythonは失敗だったと思う
2018/02/26(月) 10:09:15.19ID:G+urRbGd
pythonは糞本で良書が埋もれちゃってる
2018/02/26(月) 10:47:30.45ID:/j3wCSg3
Null Objectパターン流行るといいなあ。
734デフォルトの名無しさん
垢版 |
2018/02/26(月) 13:51:07.53ID:Mu1MCm3E
>>732
流行った言語は自動的にそうなる。
2018/02/26(月) 17:53:54.70ID:i6+hAPO4
>>733
流行るも何もgof23パターンのうちの一つだぞ
2018/02/26(月) 18:03:06.16ID:3e/qclCH
Null Objectはgof外でしょ
2018/02/26(月) 18:15:26.27ID:i6+hAPO4
>>735
すまぬ。
どうやらボケが始まったようだ…
2018/02/26(月) 18:44:34.21ID:3e/qclCH
気にするな、禊としてXamarinのライセンス買ってこい
739デフォルトの名無しさん
垢版 |
2018/02/26(月) 18:51:59.91ID:3Mt4XsWV
買わない買わない
2018/02/26(月) 19:46:08.16ID:FSYyOpBd
>>721
本を読んだけどどっちもよかったよ。
ただ読み手のスキルで理解力に差があるからそこで評価が分かれてるのかも。
2018/02/27(火) 10:02:27.46ID:GEmGj4yT
IntelliJの変換機能使ってシコシコKotlinに変換してるけどstatic無いのがウザくなって来た
Swiftにはあるのにー
2018/02/27(火) 12:16:20.20ID:pU97M93t
>>741
コンパニオンは?
2018/02/27(火) 18:56:17.20ID:9XUAnYvD
自動変換使ったら普通にcompanion objectにならなかったっけ
2018/02/27(火) 20:07:07.98ID:VEiALCIH
スーパーコンパニオンがいいです
2018/02/27(火) 23:14:15.97ID:m5Iw3K9X
自動変換してもコンパニオンにならなかったから、シコシコ変えてる
2018/02/27(火) 23:34:21.25ID:l+pACPTY
Android stuiosって糞重いのな
Xcodeの比じゃなかったわ
2018/02/27(火) 23:39:03.53ID:oVWfwCMw
Core i7、メモリ32GBだけど、コーディングに支障があるほど重いとは感じないかな
2018/02/28(水) 00:05:50.05ID:KPu2dHe+
ノート用のi5、8Gでもサクサク動くぞ
2018/02/28(水) 01:54:55.83ID:SwOhtkGH
基本xcodeの方が重くない?
750デフォルトの名無しさん
垢版 |
2018/02/28(水) 04:32:16.89ID:ifAjmiIg
Android stuios...
2018/02/28(水) 06:49:11.80ID:qqsPLA0F
明らかにxcodeの方が重い
2018/02/28(水) 06:51:00.64ID:qqsPLA0F
あ、Android StudioじゃなくてAndroid stuiosの話なのか
それなら知らんわ
2018/02/28(水) 07:13:17.29ID:hln4Ed73
VisualStudioはサクサク動くね
2018/02/28(水) 08:34:11.55ID:pTBSmEfK
Android Studioはエミュレータの起動が激重
2018/02/28(水) 08:51:39.92ID:CR0DdEON
お前のPCが糞なんだろ
756デフォルトの名無しさん
垢版 |
2018/02/28(水) 09:34:38.82ID:3IEGD0z0
そういやエミュレータは遅いな。あれ速くならんもんかね?実機に繋いじゃうしかないか?
2018/02/28(水) 11:19:49.30ID:fhD/c/L7
そんなにおもいか?
2018/02/28(水) 12:23:44.87ID:pWBZNbli
その部分はXcodeも糞重いからまあしゃあない
2018/02/28(水) 13:05:00.32ID:/o1cB3Jz
お前の収入がまともなPCも買えないほど低いだけ
2018/02/28(水) 15:32:06.67ID:nKEiX8dA
Flutterが話題になってるけど、Dartなんだよなあ、、
2018/02/28(水) 15:32:21.47ID:nKEiX8dA
Kotlinならよかったのに
762デフォルトの名無しさん
垢版 |
2018/02/28(水) 15:59:23.70ID:/fCVXMT7
やっぱ金掛けてゲーミングPCにしないといかんかね
2018/02/28(水) 17:02:46.79ID:Dh2+122Q
何の話ししてるんだ
2018/02/28(水) 17:05:13.06ID:Dh2+122Q
IntelliJファミリーのIDEが不自然に重い時はプラグインを疑った方が良い
もしくは単純にindexingか何かをしてるだけか

とりあえず2013年モデルでメモリ8GBのMBPでもサクサク動く
2018/02/28(水) 21:48:31.62ID:CR0DdEON
さっさとまともな収入得られる会社に転職しろ
2018/03/01(木) 05:22:15.58ID:cE1p2NGM
googleさんの本命はkotlinじゃなくてflutterのDartだったってこと?
2018/03/01(木) 06:15:15.24ID:uqwlFRYM
いや、あの会社がプログラミング言語を開発するのは趣味みたいなもんだから。
2018/03/01(木) 11:37:02.64ID:tn3lzpGs
飽きたら捨てるでしょ
2018/03/01(木) 13:21:29.38ID:a0FtR1fD
女ったらし
2018/03/01(木) 13:52:18.31ID:rGfsNRkK
Goってどこ行ったんだよ
2018/03/01(木) 14:25:40.30ID:a0FtR1fD
トイレ
2018/03/01(木) 16:56:43.31ID:/5bgAPbJ
有名どころだけでもGASとgoとDartとあるからな
統一しろや
2018/03/01(木) 17:02:42.69ID:SIvaL2Ua
なんかgoogleって統一感無いよなー。
dart捨てたと思ってたのに、このタイミングで復活させるとかさ。ならchromeに予定通りvm載せろや
2018/03/01(木) 17:40:32.49ID:JNnNxKxo
もうどれにも移行せずJavaに留まるのが一番
2018/03/01(木) 18:09:19.76ID:cE1p2NGM
>>773
それが望ましいな。まぁ、Flutter+Dartが成功したらchromeにもDartVM搭載復活とかあるかもね。
それで、JavaScript絶滅に追いやってほしいわ。
今どきの言語ならなんえり好みしないからフロントエンドからJavaScriptを絶滅に追いやってほしい。
2018/03/01(木) 18:12:11.07ID:uQkXDe7H
未だにKotlinの実務経験のないやつは完全失業ざまあwww
2018/03/01(木) 18:13:28.77ID:tn3lzpGs
それはない
2018/03/01(木) 18:26:37.33ID:ABErgR5Z
>>774
COBOLだってまだ生きてるしね
2018/03/01(木) 18:48:56.63ID:cE1p2NGM
つか、あれ、ラムダ式の中で値返すときretrunとかキーワードつけないのかー
ふーんって思ったけど、制御までreturnするんじゃないのか・・
{
 if (条件式) 値1
 その他の文
 値2
}
で、if文の条件式が真の時、値1が返ってreturnするのかと思ったらその後も実行されるのか・・
2018/03/01(木) 18:56:24.56ID:cE1p2NGM
あれ、どうやって値返すんだよん。if else使いたくないんだけど。
2018/03/01(木) 19:05:41.78ID:uqwlFRYM
>>779-780
太郎本でも読むことをお勧めする
2018/03/01(木) 19:22:21.90ID:SIvaL2Ua
>>775
jsを、撲滅ってESの最新仕様追いかけなよ。
悪くないから
2018/03/01(木) 19:23:41.14ID:cE1p2NGM
コンパイルエラーがでるからそこらへん適当にやっててもなんとかなったけどww。
真面目に考えるとどうなってんだこれww
今までコンパイルエラーが消えるように適当に例えば、
fun testAsync(): Deffered<String> {
 return async {
  lock.withLock {
   "ABC"
  }
 }
}
むしろ、retrunを付けると怒られたからこのままにしたけど。return@asyncってラベルつけるればいいのか。
ラベルつけない場合はどうなってんだこれ。
2018/03/01(木) 21:08:11.92ID:lRGki80K
inline の場合は return の意味がちょっと変わっちゃうんじゃない?
2018/03/02(金) 09:57:27.48ID:cO6anSKk
>>783

>>319-321
2018/03/02(金) 19:55:39.45ID:UK6+GFm3
>>785
ありがとう。ちょっと前に話題になってたのね。
つか、前に教えてもらったhttp://jetbrains.github.io/kotlin-spec/
にそれに関する事のってねぇな?

DartだってECMAでしっかりした仕様書になってるのに、
仕様書がいまだにこんなレベルなのにAndroidのFirst Class Languageにするなんて
Google何考えてんだか・・
2018/03/02(金) 20:38:44.95ID:UK6+GFm3
後、
https://ideone.com/RIMEHi
で、
val t = Test()
t.update()
にすると、propertyが変更されないっぽいんですけど、なんででしょうか??
Android環境でコルーチンを使ってます
よろしくお願いします。
2018/03/02(金) 20:49:08.27ID:UK6+GFm3
あれ、そういや、>>787でfieldってラムダ式の中から変更できるの??
2018/03/02(金) 21:31:57.84ID:ypGJ9h8+
ダメだこの言語…はやく何とかしないと…
2018/03/02(金) 21:56:02.44ID:Cxn2x5kD
え、Androidやろうと思って今ならKotlinかなって思って調べてたのに。
2018/03/03(土) 00:14:44.42ID:xuTznB0o
>>787
Androidやコルーチンであることは直接の関係が無く
インラインでないラムダとprivate setの組み合わせが影響しているようだ

https://ideone.com/aLit2X
↑これの「4」が出力されるケースと同じでsetの処理を通らずに
バッキングフィールドに直に代入されてると思う

バグか仕様か断言はしないけど、多分コンパイラのバグじゃないかな
2018/03/03(土) 00:41:15.44ID:AQTy3jz6
>>791
うぉぉ。ありがとう。コルーチン関係なかったのか。
まだ、インラインとか勉強してなくてさっぱりだけどw
この前の>>658も俺だし、
真面目にkotlinで開発しようと思って2週間ぐらいでこのザマとか
なんなのkotlinの品質。笑えないな。
2018/03/03(土) 00:53:35.09ID:X3kFcdUX
この前のもだけど誰かバグとして報告してあげて…
2018/03/03(土) 01:02:48.20ID:AQTy3jz6
そうだよね。俺もちょっと前というか昨日もそうだけど、>>787のまた変な動きに出くわして
さすがにうんざりしてIssue Trackerのぞいたけど、前のも報告されてないっぽいよねww

つか、前のやつは単なるコンパイラのバグですまされない仕様修正とか入りそうな予感してるんだけど。
まぁ、現状の仕様ってのがなんだかよくわからんけど。
2018/03/03(土) 07:18:41.68ID:LSyqUS+v
じゃあiOS開発に引きこもってろ
2018/03/03(土) 09:31:08.45ID:xuTznB0o
コンパイラのバグはバグとして直すのが当然だけど

この前のバッキングフィールドの初期化回避や
setter内のインラインでないラムダからバッキングフィールドにアクセスするのを
普通のアプリ開発として書いているのなら止めた方が良いと思う

個人的な感覚では動作以前に「コンパイルが通るべきでは無いコード」だと思うので
2018/03/03(土) 11:42:59.48ID:GRjh9/QH
仕様がないとバグかそうでないか判断できないが仕様はどこにあるんだ?
2018/03/03(土) 20:31:37.81ID:AQTy3jz6
kotlinで3000行くらいすでに書いちゃったけど、とりあえず、private setをpublic setに直して回避・・
しばらくflutterで遊んでくるか
799デフォルトの名無しさん
垢版 |
2018/03/03(土) 20:32:59.01ID:usZqppoC
しようがないなあ
2018/03/03(土) 22:17:04.30ID:veVqPwjm
醤油が無いなぁ
2018/03/03(土) 23:44:09.37ID:AQTy3jz6
死なないかなぁ
2018/03/04(日) 14:00:55.46ID:6Lia9zzl
>>658のコードなんかは誰も書かないから発見さえされないし報告されてないんだろうね
2018/03/04(日) 14:48:36.99ID:D9lK5f2H
これからプログラミング初心者がkotlinを触るようになったらそこらへんも色々見つかるだろうね
今はまだほぼ他の言語で経験のある人しか触ってないでしょ
2018/03/04(日) 17:28:56.35ID:PgKwjWml
こんな事いうと荒れるけど、逆だと思う
2018/03/04(日) 18:11:45.65ID:KRR85xAP
>>787
変更されてるんだけど・・・
2018/03/05(月) 12:20:24.87ID:qx4LEZCO
他の言語っていうか、java本業の人しか触ってないでしょ
Androidの入門書もまだほぼjavaばっかだし
807デフォルトの名無しさん
垢版 |
2018/03/06(火) 10:59:36.24ID:do1rqvuo
コマンドラインから何も引数付けずに kotlinc 実行するとRPELで動くけどこの時に :help で出てくる :dump bytecode ってなんなの?
名前からしてバイトコードをダンプするであろうことはわかるけど、いつやっても何も出ないんだよね。
808デフォルトの名無しさん
垢版 |
2018/03/06(火) 11:00:47.10ID:do1rqvuo
タイプミスった。rpelじゃねえ。replだ。
2018/03/07(水) 22:44:21.36ID:hoG4dIXg
C#のnameof演算子だと、コンパイル時に評価されますけど。
kotlinのプロパテイ参照は結構オーバーヘッド高いですかね??
when (propertyName) {
::property1.name ->
::property2.name ->
}
結構頻繁に評価されるコードなんですよね
2018/03/07(水) 22:49:50.60ID:hoG4dIXg
今は定数でやってんですけど、まだ書き換えるべきが保留してるんです。
when (propertyName) {
"property1" ->
"property2" ->
}
リフレクション絡みのオブジェクトも普通にGC対象?で、その都度生成されたり破棄されたりすると予想しますが。
もちろんアプリ全体のボトルネックになるぐらい影響はないですけど、うーん。踏ん切りがつかん。
2018/03/07(水) 23:45:15.29ID:PbzxZDny
Enumじゃだめ?
2018/03/08(木) 00:35:53.57ID:c/6ZktFW
>>810
ありがとうございます。そうですね。プロパティ増やすたびにEnumの定数も定義する必要がありますが、
パフォーマンス的にはいいですよね。

で、今ちょっと見たことなかったんですけど、Javaのバイトコード見てみたんですけど最適化されてるのか??
メソッド呼び出しされてるのかと思ったら、定数値に置き換えられてました。
最適化のせいなら将来のコンパイラでどうなるかわかりませんけど、とりあえず、普通にプロパティ参照使って
置き換えてます。

ありがとうございました。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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