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

ありがとうございました。
2018/03/08(木) 00:36:28.98ID:c/6ZktFW
アンカ>>810じゃなくて>>811でした。すみません。
2018/03/10(土) 08:59:29.43ID:sfqxq7fN
でもそれ結局今日も同じメニューになるよな
たまにはやよい軒行きたいわ、遠いけど
2018/03/10(土) 09:00:01.91ID:sfqxq7fN
すまん誤爆した
Xamarinのライセンス買ってくるわ
2018/03/10(土) 10:27:08.72ID:lbutdI68
俺は大戸屋が多いかな
2018/03/10(土) 10:30:40.87ID:QX6Zsi+5
俺はとんでんかな
2018/03/10(土) 11:04:56.69ID:R1lisrFC
やよい軒の鳥カツ定食なくなったらしいな
あれしか食わなかったのに
819デフォルトの名無しさん
垢版 |
2018/03/10(土) 11:07:21.06ID:TTti/WSS
それは残念
2018/03/10(土) 11:15:49.69ID:McxjgaUo
waitとかマルチスレッド機能ぐらい用意しとけよー
結局java.lang.Objectから離れれられんじゃないか
821デフォルトの名無しさん
垢版 |
2018/03/10(土) 18:14:12.56ID:a2p+alti
>>820
こういうやつ?
http://taro.hatenablog.jp/entry/2013/08/01/223323
2018/03/10(土) 19:55:04.16ID:Uyf8EqGw
逆に言えばJavaの機能で出来ることをわざわざKotlinで独自に作り直す必要ってあるかね
2018/03/10(土) 20:16:52.67ID:MudN2Ixk
クロスプラットフォーム押していくなら、Javaからある程度離れて開発できないとな。
Kotlin=JVMなら別にいいけど。
2018/03/10(土) 20:22:51.72ID:SpAeFxwP
flutterがKotlinでできるようになったら流行りそうなのになー
2018/03/10(土) 20:34:05.66ID:MudN2Ixk
それが一番だけど、そうなるにはそうなるにはJetBrainsの対応待ってると時間かかりそうだから、
Google買収しないと。IDE全体抱えてもあれだからkotlin部門だけでも
826デフォルトの名無しさん
垢版 |
2018/03/10(土) 23:43:23.18ID:MSLQ1fUp
>>822
機能的に同じでも、より簡潔に書けるなら価値ある
2018/03/11(日) 16:57:48.79ID:WkTMJw5e
ゆくゆくはそうなっていくかもしれないけど、まずはJava完全互換を徹底して開発者を集めないとKotlin自体終わっちゃうし
2018/03/11(日) 18:30:40.29ID:kscc7mIG
JVMがLLVM上で開発されるようになれば...
2018/03/12(月) 10:57:45.81ID:b79+6Z0V
日本のことりん本の電書、固定レイアウトなのか・・・
2018/03/12(月) 17:04:59.84ID:nBdxFZ73
ことりん本に限らず図表の多い専門書は基本固定レイアウトが多い
831デフォルトの名無しさん
垢版 |
2018/03/13(火) 17:21:36.75ID:UOahYQi3
超初心者で申し訳ありません。
Kotlinスタートブックを購入しました。
REPLを多用してるのでAndroid Studio3.01のREPLで進めたいのですが、
単純に、Kotlin REPLパネル内に、書籍のコード〜 じゃ無いようで、今一つ、Android StudioのREPLの使い方が分かりません。

Android Studio3.01のREPLで、「Kotlinスタートブック」をスターと部分だけでも紹介してる情報なありますでしょうか?
2018/03/13(火) 18:59:50.25ID:UOahYQi3
あれこれして
書籍 P28の最初の一発目

class Rational(val numerator: Int, val denominator: Int)
val half = Rational(1,2)
half.denominator
  と、打ち込んで 実行させたら、2って出来ました〜

Android Studio3.01のREPLを使って、読みすすめそうです。
2018/03/14(水) 10:24:21.09ID:lhJp7l4Q
解決したみたいだからいいけど、
技術書を写経するときはREPLよりもコードをファイルとして残しておいた方がいいと思うよ

読み進めた後にちょっと前に見たところを戻って書き換えたりとかしたくなることが多いと思う
2018/03/14(水) 11:03:31.74ID:fxigNd06
>>833
んなこと言うならテストとして書いたほうがいい。
テストの書き方も覚えるし
2018/03/14(水) 12:56:22.69ID:ccacMMCY
フィードバックが早い方がいいからREPLでいい
2018/03/14(水) 12:57:38.85ID:GCqcIqER
肴は炙った烏賊でいい
2018/03/14(水) 13:03:02.13ID:h74A18Hb
女は無口な人がいい
2018/03/14(水) 13:03:14.15ID:BC3u9Cri
ちょこちょこバージョンアップしてるみたいだけど、リリースノートってあるのかな?
2018/03/14(水) 13:30:40.55ID:+tq877Bs
Swiftのバージョンアップは破壊的変更が多くてダルいらしいけどKotlinはどうなの?
2018/03/14(水) 14:23:01.55ID:Qa1wTICM
いい感じ
2018/03/14(水) 14:24:35.40ID:qG6o0CFM
>>834
まあそれが理想だね
なんにせよ書いたものはちゃんと残しておいた方が良いわ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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