Kotlin 5at TECH
Kotlin 5 - 暇つぶし2ch100:デフォルトの名無しさん
19/01/17 18:38:16.95 BQPkrRK7.net
AVD使うならグラボはあった方がいい
ローエンドで十分だけど

101:デフォルトの名無しさん
19/01/17 21:05:29.75 9dtdj8/p.net
IDEまでは分かるけどスレタイから離れすぎw

102:デフォルトの名無しさん
19/01/18 10:55:00.39 biJOt7cE.net
初心者用の本ってマジでろくなのないな
自分が読んだ本だと言語の仕様解説して、次の章でいきなりじゃんけんアプリ作りましょうだもんな
文字出すだけとかもちょっと地道なサンプルこなしてからにしてくれよ

103:デフォルトの名無しさん
19/01/18 13:23:27.72 Gw7rawdB.net
そういう本を書いて売れるのなら書くけど

104:デフォルトの名無しさん
19/01/18 13:36:11.74 EPNqXegi.net
初心者はプログラミングすんな

105:デフォルトの名無しさん
19/01/18 15:38:04.17 dETdnGdx.net
>>101
君が書け。紙の本にする必要はない。AmazonでKindle用の電子書籍で出すなら多分すぐ出せる。

106:デフォルトの名無しさん
19/01/18 15:39:03.82 dETdnGdx.net
>>103
それでは誰も使わなくなって終わるではないかw

107:デフォルトの名無しさん
19/01/18 16:34:36.03 QNzHnga9.net
本を読んでからアプリを作るんじゃなくて、アプリを作ってから本を読むんだ

108:デフォルトの名無しさん
19/01/18 17:57:35.76 EPNqXegi.net
本を読んで勉強するという姿勢が気に入らない
お前の目的は言語学者になることか
アプリが作りたいならまず作れ
それで行き詰まったら初めて必要な知識を調べる

109:デフォルトの名無しさん
19/01/18 18:10:19.30 DtJxFJYk.net
URLリンク(www.atmarkit.co.jp)
この通り作ってもエラーが出るのだが
なんなん

110:デフォルトの名無しさん
19/01/18 19:01:23.89 Jv0pMDsL.net
>>108
だからエラーを貼れよ

111:デフォルトの名無しさん
19/01/18 19:10:06.53 Jv0pMDsL.net
あとAndroid Studio のことはこっちのスレ来い
Android Studio Part3
スレリンク(tech板)

112:デフォルトの名無しさん
19/01/18 19:18:36.09 9pECFNv0.net
>>108
飲み会ドタキャンされて暇だからエラーの内容を貼ったら教えてあげるかもしれない
とりあえず一年以上前の記事みたいだからバージョン違いの何かな気がするけど

113:デフォルトの名無しさん
19/01/18 20:40:32.07 EPNqXegi.net
Android Studio3.0とか原始時代のツールだろ

114:デフォルトの名無しさん
19/01/20 17:15:03.83 km2ubjIi.net
1ヶ月以上たってまだ100レス程度ってkotlinで開発してる人はんと少ないんだな

115:デフォルトの名無しさん
19/01/20 17:53:32.56 7J7VHbME.net
>>113
お前が書き込むんだよ

116:デフォルトの名無しさん
19/01/20 19:22:48.93 6E5SSl+w.net
仕方ないなあ。じゃあこのスレ向きの話題でもふるか。
flatter for xamarinだってよ
URLリンク(adtmag.com)

117:デフォルトの名無しさん
19/01/21 08:55:03.29 cyd5L15X.net
>>115
カオスだな。

118:デフォルトの名無しさん
19/01/21 13:17:33.75 jDpmEG8W.net
flutter for xamsrin for kotlin nativeが待たれる

119:デフォルトの名無しさん
19/01/22 02:09:57.73 gn5FLTFP.net
なにこれ。flutter sdkをc#に変換するのか。すげぇな。つか、xamarinの名前冠するなよ。負のイメージしかねぇ。

120:デフォルトの名無しさん
19/01/22 02:22:18.20 Ygwng9tV.net
ザマリンてなんか医薬品みたいだよね
「風邪にはザマリン!! お近くの薬局でお求めください!」みたいな

121:デフォルトの名無しさん
19/01/22 05:45:08.82 +WHDBYOc.net
ていうかふらったーの1番のネックはDart言語なのに、それを多言語に変換されてもって感じだな
方向が逆だ

122:デフォルトの名無しさん
19/01/22 08:19:51.51 gn5FLTFP.net
え?だから他言語のC#に変換してDartとおさらばできるってことだろ。

123:デフォルトの名無しさん
19/01/22 09:06:02.79 8X9EpfV1.net
Xamarin程の糞はない

124:デフォルトの名無しさん
19/01/22 12:58:57.64 oFmOrikq.net
ざまりんは座間市のマスコットキャラクターです

125:デフォルトの名無しさん
19/01/22 19:17:28.51 HZ2hjuw/.net
ざまりん!ことりん!天気予報~♪

126:デフォルトの名無しさん
19/01/22 23:00:57.36 vhFDea91.net
僕の名前はXamarin! 僕の名前はKotlin! 二人合わせて...?

127:デフォルトの名無しさん
19/01/23 04:35:21.49 VDPZgNNi.net
聳え立つ糞

128:デフォルトの名無しさん
19/01/23 11:21:53.63 KXFSPWv5.net
C#erだがXamarinはノーカンで

129:デフォルトの名無しさん
19/01/23 12:30:44.99 6pYQH9bm.net
kotlin界隈にもちょまどみたいなアイドル欲しいなぁ

130:デフォルトの名無しさん
19/01/23 12:46:10.71 s7nkbb3U.net
きも

131:デフォルトの名無しさん
19/01/23 16:31:27.63 rdYi3jIq.net
おまえがVtuberになってアイドルになればいいじゃないか

132:デフォルトの名無しさん
19/01/23 17:25:35.59 zR45o/Hn.net
koilin入門書には、作者が分かっていないのかjavaの文法が混じって分かりにくい
ごちゃ混ぜで混乱必至
結局kotlinlang.orgしか信用ならん

133:デフォルトの名無しさん
19/01/23 20:24:53.45 Uzogy9i5.net
Kotlin class destroyerって使ったことある人居る?

134:デフォルトの名無しさん
19/01/23 21:45:50.98 Pa8D4EMx.net
>>132
検索してフイタwww 日本語の読めるやつには居ないだろうなwwwww

135:デフォルトの名無しさん
19/01/24 02:16:31.75 HZcP4zux.net
Котлин

136:デフォルトの名無しさん
19/01/24 06:26:15.14 SamtYSKx.net
>>131
例えば?

137:デフォルトの名無しさん
19/01/24 07:53:39.37 nbtsb27b.net
これから本を出す人は、SwiftとKotlinを同時に学べるような本を書いてほしいな

138:デフォルトの名無しさん
19/01/24 09:17:38.10 fuJ4iKDY.net
>>136
なんで?

139:デフォルトの名無しさん
19/01/24 09:40:30.41 iE4PKA0k.net
SwiftとKotlinは書き方が似すぎてて紛らわしいから、
どちらかの書き方が染み付くまでは同時にやらないほうがいいと思う

140:デフォルトの名無しさん
19/01/25 00:52:03.47 oyKZWLKP.net
Go->Node(TypeScript)->Rust->Scala->Kotlin
去年の年末から色んな言語に入門してHelloCRUDしまくってたけど
やっと本命見つけたわ。これは流行るで。ほんま。

141:デフォルトの名無しさん
19/01/25 06:46:14.56 SWXByf/r.net
>>139
フレームワークはSpring? Ktor?

142:デフォルトの名無しさん
19/01/25 07:20:23.97 PIdTSIvJ.net
Sparkも良くできてるから選択肢に加えてあげて
日本だと空気だけど海外の事例だとめっちゃ使われてる

143:デフォルトの名無しさん
19/01/25 09:23:10.32 cY+a6SZr.net
Sparkは名前変えろ
Apache Sparkと紛らわしいから絶対に流行らん

144:デフォルトの名無しさん
19/01/25 09:40:00.17 84FUhWJo.net
ことりん☆

145:デフォルトの名無しさん
19/01/25 13:25:04.49 ra6+4Hwa.net
>>138
紛らわしいけど、両方同時に学べる人に書籍が必要とは思えない。

146:デフォルトの名無しさん
19/01/25 15:30:25.59 PIdTSIvJ.net
>>142
これ。まじでこれ。
ググラビリティ低すぎて辛い。

147:デフォルトの名無しさん
19/01/25 15:52:10.81 aoOWMbCl.net
ググラビリティwww

148:デフォルトの名無しさん
19/01/25 16:10:17.86 cY+a6SZr.net
ITにいて Apache Spark 知らないとかアホ丸出しだから作者が Spark なんて名前を付けている時点で不安になるのが当然で、普通は避ける
それなのに Spark 使ってる奴はそいつも Apache Spark を知らない可能性が高く、同様にアホ丸出し

149:デフォルトの名無しさん
19/01/25 16:59:39.24 2xvx7HDE.net
>>147
作者が知らないも何もApache Sparkの方が後発だし、その頃にはSpark Frameworkは今さら改名できないくらい広く使われてたぞ

150:デフォルトの名無しさん
19/01/25 18:04:32.01 fUiZiF+t.net
>>147はアホを丸出しにしてみたかったのかも知れない。

151:デフォルトの名無しさん
19/01/25 19:52:16.96 h/3l4eZA.net
君とSpark

152:デフォルトの名無しさん
19/01/25 20:15:44.23 PIdTSIvJ.net
>>147
これは恥ずかしい

153:デフォルトの名無しさん
19/01/25 21:28:25.32 NpmoGBI+.net
android studioで、それぞれ以下の行を追加
actibity_main.xml
android:id="@+id/back"
MainActivity.kt
import android.graphics.Color
import android.widget.LinearLayout
val background = findViewById<LinearLayout>(R.id.back) as LinearLayout
background.setBackgroundColor(Color.parseColor("#FF0000"))

で、画面が赤くなると思うんだけど、アプリが起動直後に停止してしまう。
background.setBackgroundColor(Color.parseColor("#FF0000"))
の行をコメントにすると普通に起動する
本当はラジオボタンで選んでバックグラウンドを変える処理だけど、抜き出してやってみてもうまくいかない

154:デフォルトの名無しさん
19/01/25 21:40:17.98 9WShTN4K.net
流行るわけないとか言ってるあたり、マジで最近出てきたフレームワークだと思ってたんだろうな
Javaのマイクロフレームワークとしてはほぼデファクトなのに

155:デフォルトの名無しさん
19/01/25 21:41:18.91 9WShTN4K.net
>>152
エラーメッセージに答えが書いてあると思うよ

156:デフォルトの名無しさん
19/01/25 21:58:54.35 NpmoGBI+.net
>154
コンパイルは普通に通り、ワーニングも出ない
ただ、アプリは起動直後に停止してしまう。
デバッグ用のスマホが悪いかと、別の機種つないでみても同じく起動直後に停止して
MyApplicationが停止しました
と表示される

157:デフォルトの名無しさん
19/01/25 22:30:34.06 T4sCfJsj.net
なんでAndroidスレで聞かないわけ?
エラーメッセージ読めないのと一緒なの?

158:デフォルトの名無しさん
19/01/25 22:30:36.78 pxW0IIRd.net
所謂おまじないはともかくとして
入門書や入門サイトが最初に教えるべきは println と throw RuntimeException() だと思う
最初に転び方だわ

159:デフォルトの名無しさん
19/01/25 22:48:55.25 NpmoGBI+.net
ありがとございます
すこしスレチみたいなので、こっちでもう少し調べてみます。

160:デフォルトの名無しさん
19/01/25 23:56:18.60 k0QCMDX+.net
>>158
ちょっと暇だから相手してやるよ
ほんとに LinearLayout 使ってる?最近の環境で新規アプリ作ったら ConstraintLayout だと思うんだけど
たぶんここが
val background = findViewById<LinearLayout>(R.id.back) as LinearLayout
こうだ
val backgroun


161:d = findViewById<ConstraintLayout>(R.id.back)



162:デフォルトの名無しさん
19/01/25 23:57:28.33 k0QCMDX+.net
ちょっと面白いと思ったのは、ConstraintLayout に対して
val background = findViewById<LinearLayout>(R.id.back) as LinearLayout
background.setBackgroundColor(Color.parseColor("#FF0000"))
これだと val background = ~の行で ClassCastException で落ちるのに、
background.setBackgroundColor をコメントアウトすると落ちずに普通に動いちゃうのね
これは background が使われないなら background へキャストして代入する処理自体を kotlin が無効化しちゃうのかな

163:デフォルトの名無しさん
19/01/27 18:18:09.78 jDwbvKDS.net
いろいろな意見を参考にやってみました
原因
コンパイルエラーは出なかったけどIDが変なところをさしていて、カラー情報を書き込んだ瞬間に落ちていました。
対処1
actibity_main.xmに
android:id="@+id/back"を消して
<LinearLayout xmlns:android="URLリンク(schemas.android.com)
android:id="@+id/back"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
を追加
対処2
MainActivity.ktの
<LinearLayout>の代わりに
<android.support.constraint.ConstraintLayout>
2通りの方法でうまくいきました
import android.support.constraint.ConstraintLayout
をimportすると、
>159の<ConstraintLayout>だけでOKでした
ありがとうございました

164:デフォルトの名無しさん
19/01/27 19:32:56.92 dhHHmXdZ.net
>>161
>>154のエラー


165:メッセージ >>157のRuntimeException >>160のClassCastException これらはどれも実行時エラーのことで、それを表示する方法や読み解き方をググるなりした方が良いと思うよ 今後のためにね



166:デフォルトの名無しさん
19/01/27 21:32:10.99 jv36ci7O.net
>>140
Ktorやで

167:デフォルトの名無しさん
19/01/28 00:27:33.91 A5w6Cdea.net
圭太

168:デフォルトの名無しさん
19/01/28 09:34:18.83 j8L/fU4R.net
Ktorええよな、今作ってるAPIサーバーで使ってる。
Webアプリにはあんまり向かなそうだけど

169:デフォルトの名無しさん
19/01/28 10:43:40.13 c8FVptT0.net
幸太

170:デフォルトの名無しさん
19/01/28 10:51:26.03 qhu0cqfw.net
古都鈴

171:デフォルトの名無しさん
19/01/28 18:09:48.33 YkAtt80R.net
昔、古都ひかるってAV女優が好きだったの思い出した

172:デフォルトの名無しさん
19/01/28 18:25:17.41 ncjyAVYK.net
ググったけどお前微妙な趣味してるな

173:デフォルトの名無しさん
19/01/28 18:43:54.94 qhu0cqfw.net
>>168
ワイも好きでした

174:デフォルトの名無しさん
19/01/28 18:44:53.31 SEDlCRnu.net
>>165
Webアプリしようと思ってKtor勉強中なのだが、向いてないのか...

175:デフォルトの名無しさん
19/01/28 18:45:00.57 MtItNdsU.net
今から考えればそうだが
昔はあんなのでもレベル高かった気がする
あの頃のやつだと河井さくらとかいう人が文字通り面白かったし水野栞も良かった
今は顔面偏差値すごい底上げされてて嬉しい

176:デフォルトの名無しさん
19/01/28 18:54:36.48 qhu0cqfw.net
今でも通用すると思うで

177:デフォルトの名無しさん
19/01/28 19:24:55.14 j8L/fU4R.net
>>171
Ktorでももちろん作れるけど、ログイン前提のWebアプリを作るなら自分で作らなくちゃいけない部品が多い。
大人しくSpring使っておけばそこらへんは全部用意されてる。

178:デフォルトの名無しさん
19/01/28 19:28:08.60 ncjyAVYK.net
>>171
Ktorはいわゆるマイクロフレームワークに分類されるフレームワークだから、ガチガチのWebアプリを作るのはめんどいよ
まあ認証やらセッション管理やらDBやらのことだから最初に一度作ってしまえば後は別に面倒なことはないけど

179:デフォルトの名無しさん
19/01/29 08:13:36.09 Yq72SlCs.net
>>165
いいよね。SpringBootと棲み分けできそうやし。
ところでどんな構成(アーキテクチャ)で使ってる?
ワイはもうKtorならRepository無いほうがええような気がしてきてるんやが。

180:デフォルトの名無しさん
19/01/29 08:36:23.24 Yq72SlCs.net
URLリンク(ideone.com)
ExposedではUserTable2に便利メソッドが生えるのでRepository分けても委譲とentity変換ばっかりになりそうだったから
それならModelクラスと同じ場所に置いて、DB変更時にミスりにくい方がいいかと思った。
こんな構成で作ってみてるんだけど、どう思う?

181:デフォルトの名無しさん
19/01/29 12:07:29.18 Ghu5z8kR.net
>>177
その割り切った作りはいいと思う。特にチームが大きく無いならメリットの方が多いんじゃないかな。
俺はAPIサーバーと連動するプログラムも同時開発してて、共有できるものは共有してさせるためにクリーンアーキテクチャにしてるからrepositoryも含めてクラスはやたら多くなってるけども。

182:デフォルトの名無しさん
19/01/29 23:38:56.61 rUlqj1XI.net
>177
Ktorみていて、データベース接続部分がないような気がしていたけど、やっぱりExposedを使うのか.

183:デフォルトの名無しさん
19/01/30 08:07:46.80 5baYxL1g.net
>>178
そしたらちょっと作りきってみるわ。ありがと。
>>179
Kotlin製で統一しようと思ったらそうなるね。

184:デフォルトの名無しさん
19/01/30 17:18:23.70 JsLx868V.net
>>179
ExposedでもMyBatisでもなんでもお好きなものをお使い下さいってスタンスだな
めんどいから標準で何か入れてくれるような仕組みがあれば楽なんだけども

185:デフォルトの名無しさん
19/02/01 00:51:36.05 HFNNmxMu.net
>>145
ググラビティすき

186:デフォルトの名無しさん
19/02/01 06:19:43.90 oyUXC//m.net
ぐぐらびりてぃって日本だけかと思ってたら海外でも普通に使われてるのな
google(検索する)って動詞とセットで辞書に載っててわろたわw

187:デフォルトの名無しさん
19/02/01 12:52:22.08 5o/o/nGk.net
動詞か。とすると過去形が googled か。

188:デフォルトの名無しさん
19/02/01 13:06:37.22 ad6+KOec.net
むしろ日本よりも英語圏での方がよく使われてる気がする
海外のフォーラムとかで普通に見る

189:デフォルトの名無しさん
19/02/01 18:28:47.94 Oa2LgpWH.net
んじゃヤフーでググれもあながち間違いじゃない?
ソニーのファミコン的な

190:デフォルトの名無しさん
19/02/01 21:35:19.79 5o/o/nGk.net
Infoseek と Exite もよろしく

191:デフォルトの名無しさん
19/02/02 07:20:45.10 vIqKCsXY.net
ビンガビリティ
強そう

192:デフォルトの名無しさん
19/02/02 12:34:49.40 ecMf0cvm.net
Anko使ってる?

193:デフォルトの名無しさん
19/02/02 20:52:18.84 rNm5OL0i.net
Unko?

194:デフォルトの名無しさん
19/02/02 21:18:44.79 60g8Sasz.net
大体レイアウトとロジックが混在してるのは良くないねってことで
レイアウトはxnlファイルに分離するようにしたんだと思うんだけど
何でAnkoってまたレイアウトとロジックを混在させるようなことしてんの
時代に逆行してるだけでは

195:デフォルトの名無しさん
19/02/02 21:38:35.91 mZCa7M9L.net
>>191
アーキテクチャ上重要なのはビューとロジックの分離
一方で、レイアウトとロジックの分離というのはビューに閉じた話であり、
マークアップエンジニア(笑)とフロントエンドエンジニア(笑)の分業をしやすくするだけのものでしかない
フロントエンドエンジニアが十分有能でマークアップエンジニア(笑)の仕事も自分でこなせるなら分ける必要は全く無い

196:デフォルトの名無しさん
19/02/02 21:43:01.16 hUtwc62g.net
流行りのキーワード並べてドヤ顔

197:デフォルトの名無しさん
19/02/03 07:45:41.73 gLy6KBGU.net
レイアウトの中にロジックがダラダラ書かれたら見通し悪くてUnkoだけどそこは経験とコード規約とレビューで制御できる
適正なメソッド分割は主に人間の仕事であってライブラリーの責務ではない
XMLの欠点とDSLの利点はGitHubのWikiで説明されてる
設計開発にイチイチXML使うのは微妙じゃね?DSLとかいいよな!ってのは時流でもある
だから少なくとも時代に逆行しているだけということはない

198:デフォルトの名無しさん
19/02/03 10:09:31.17 nQr97LtT.net
いーや、Ankoは糞

199:デフォルトの名無しさん
19/02/03 12:29:21.29 Wt38prvY.net
anko味のunko

200:デフォルトの名無しさん
19/02/03 12:36:56.63 FHrrfvzD.net
unko味のankoとanko味のunko

201:デフォルトの名無しさん
19/02/03 15:59:31.11 sWvJHh2u.net
あんこ餅食いたくなってきたからスーパー行ってくる

202:デフォルトの名無しさん
19/02/03 18:35:49.59 FHrrfvzD.net
Anko程の糞はない

203:デフォルトの名無しさん
19/02/03 21:27:31.59 WjHZzJrh.net
気になってるんやがkotlin nativeが完成したらgoは駆逐できるんやろか。
それともシングルバイナリやら並列化でgoのメリット残るんやろか。

204:デフォルトの名無しさん
19/02/03 21:58:54.28 OYz8YI9S.net
>>200
現実的に考えると、全く話題にもならずにひっそり消える可能性が一番高いよ
kotlin nativeが

205:デフォルトの名無しさん
19/02/03 22:10:09.65 WjHZzJrh.net
マジかあ。Scala状態は残念やのー。
俺にキラーアプリ作れるような力があればなぁ。。

206:デフォルトの名無しさん
19/02/03 22:19:22.36 WjHZzJrh.net
githubでkotlin-native使ってるプロジェクト探してみたけど、確かにあんまり盛り上がってる感じではないね。
今作ってるクソアプリが一段落ついたら何か作ってみよう。

207:デフォルトの名無しさん
19/02/03 22:43:39.24 0oNu2+nX.net
アプリよりFWだよな

208:デフォルトの名無しさん
19/02/03 22:49:54.08 OYz8YI9S.net
「オーケーグーグル、エロくて楽しいアプリ作って」でエロくて楽しいkotlin nativeアプリのソースが生成されるAIを作れば流行る

209:デフォルトの名無しさん
19/02/03 23:03:35.29 hpvKsGCb.net
Kotlin/Native自体は現在進行中のSubstrate VMが出来上がるとやや辛い立ち位置になる
でもKotlin全体としては間接的にエコシステムが大きく強化されるし
Kotlin/Nativeから「Kotlin with Substrate VM」への移行は
性質的に割と容易なものになる期待もあるから使っても大丈夫だと思う
補足だけど Substrate VM はOracle主導のオープンソースプロジェクトGraalの一部で
JavaバイトコードをAOTするもの、
これによりjavaパッケージが使えるKotlin/JVMのままネイティブ化出来るようになる
Linux向けは出来ていてWindowsやiOSなどはまだこれから

210:デフォルトの名無しさん
19/02/03 23:43:07.23 hpvKsGCb.net
ちなみにAndroid Runtimeも同様にAOTしている
こっちはJDKをGoogleが好きなように取捨選択してるのでJava互換性テストは通らない
Android Runtimeの技術を利用してJava(Kotlin/JVM含む)からiOS用のネイティブを生成してるのが
RoboVMやMulti-OS Engine
Substrate VMはこれら(Kotlin/Native含む)に対して
後追いだけどOpenJDKフルサポートのAOT、ということになる
出来上がるまでまだかなりの時間が掛かりそうだけど

211:デフォルトの名無しさん
19/02/04 00:38:33.17 udiwpstp.net
結局Java版Xamarinを作ろうとしてるだけだな
目的不在で技術だけが独り歩きしてる感すごい

212:デフォルトの名無しさん
19/02/04 06:16:54.78 jDY9Ysuj.net
>>200
無理だね。というかそもそもGoの得意分野とKotlin(native)の得意分野がかぶってないから現時点であまり競合してない

213:デフォルトの名無しさん
19/02/04 08:21:30.46 +iZnVKUh.net
>>209
そうなんか。kotlin nativeの得意分野って何なんや?

214:デフォルトの名無しさん
19/02/04 10:20:12.21 RwYNgFWa.net
>>208
Graalの主目的はHotSpotのJITコンパイラ(C2)の刷新
20年以上前に設計され、修正が積み上げられたC++コードなので
保守し辛く新技術の導入も困難とのこと
JITコンパイラ(Graal本体)はインタプリタやAOTとも関連が深く、
それらも考慮したエコシステムとしてサブプロジェクトを内包してる
Truffle / Sulong / Substrate VM

215:デフォルトの名無しさん
19/02/04 10:38:08.20 RwYNgFWa.net
>>210
Kotlinの対応プラットフォームを広げるものだから
強いて言うならKotlin/JVMと同じく通常アプリでは
Goは並列処理や低レイテンシGC(リアルタイム用途)など
システム寄りが得意

216:デフォルトの名無しさん
19/02/04 12:40:41.74 Mgc+6WQD.net
Kotlin nativeは悪く言えば現状では得意分野などはっきり言って存在しないし、良く言えばこれから何に使ってもいいとも言える
Goの代わりに使うことももちろん可能

217:デフォルトの名無しさん
19/02/04 20:20:46.75 nyJZm1CJ.net
Ktor以上に急上昇してるJavalinってFWお前ら使ってる?

218:デフォルトの名無しさん
19/02/04 22:34:50.26 QEUSQVw8.net
使ってないし知らない

219:デフォルトの名無しさん
19/02/05 06:33:03.96 ZLbI9faD.net
>>214
使ったら竜騎士とかにクラスチェンジできるかな

220:デフォルトの名無しさん
19/02/05 06:59:09.94 +mMHH6yh.net
マジで聞いたことすらなかった
悪くなさそうだけど、英語も含めて情報が少なすぎて趣味以外には使えないかな

221:デフォルトの名無しさん
19/02/05 07:02:18.31 +mMHH6yh.net
軽く調べた感じだからよく分かってないんだけど、これ例えばSparkと比べて何が良いの?

222:デフォルトの名無しさん
19/02/05 09:02:22.82 855O/xU5.net
Kotlin を今のプロジェクトに使いたいけど、eclipse とか言う糞IDE使ってて相性悪すぎて笑えない
SWT とか JFace とかでUI作ってるから、eclipse を外すのは無理だし

223:デフォルトの名無しさん
19/02/05 09:40:26.01 NCwCR2JI.net
ググると槍投げ画像が沢山出てくるな・・・

224:デフォルトの名無しさん
19/02/05 10:08:44.38 Fs+UH34C.net
>>218
URLリンク(javalin.io)

225:デフォルトの名無しさん
19/02/05 10:17:58.97 LEHFEUGy.net
>>216
宇宙刑事っぽさもあるし、使うと風呂釜が綺麗になって身体が芯からあたたまりそうな感じもする

226:デフォルトの名無しさん
19/02/05 10:32:30.10 +mMHH6yh.net
>>219
UI作るときとことりん書く時でIDE使い分ければいいんでないの?

227:デフォルトの名無しさん
19/02/05 10:32:56.86 +mMHH6yh.net
>>221
すまん、それ気付かなかった。
後で見てみるわ

228:デフォルトの名無しさん
19/02/05 11:21:10.88 jB1piIf6.net
>>216
ガリで

229:デフォルトの名無しさん
19/02/05 11:27:24.21 NCwCR2JI.net
宇宙刑事 Javalin

230:デフォルトの名無しさん
19/02/05 12:13:00.65 nvQ1xa5u.net
やっぱJavanだろ

231:デフォルトの名無しさん
19/02/05 12:24:17.71 ryDpasJz.net
Javalinの半分はやさしさで出来ています。

232:デフォルトの名無しさん
19/02/05 12:42:55.22 NCwCR2JI.net
リン付ければなんでも可愛らしくなると思いやがってそうはいかねえぞべらんめえ ←江戸っ子

233:デフォルトの名無しさん
19/02/05 15:01:18.53 PldLlsCY.net
> ←江戸っ子
ウザっ

234:デフォルトの名無しさん
19/02/05 15:25:14.63 NCwCR2JI.net
うざりん

235:デフォルトの名無しさん
19/02/06 19:35:52.56 59jOjkSQ.net
上でシステム系にはGoみたいに書かれてるんだけど、kotlin/nativeはGoより遅いのかな。
現状ではそうなのかも知れないけど、最終的にはGoと同等の速度が出せるポテンシャル(仕組み)だと
思ってるんだけどそうでもないの?

236:デフォルトの名無しさん
19/02/06 19:49:42.95 nvZvChxt.net
goに勝つのは流石に無理じゃ?

237:デフォルトの名無しさん
19/02/06 20:35:25.96 gjOdQxAx.net
Goに比べたら遥かに複雑怪奇な言語だから最適化は不利だろう
JVMの挙動をエミュレーションするための無駄な処理は少なからず必要だろうし

238:デフォルトの名無しさん
19/02/07 00:37:31.07 UFwIxg8c.net
1 c
2 go
5 jvm
10 script系
3くらいいける?

239:デフォルトの名無しさん
19/02/07 05:59:54.51 Ftq4Fy0N.net
>>232
構造的に無理
Goは構造をシンプルに保って高速軽量を維持するために言語仕様を必要最低限にしてるから、
書く人間の使いやすさを追求してるこちょりんとは根本的に目指してるものからして違う

240:デフォルトの名無しさん
19/02/07 07:33:55.52 ygKhuk/7.net
>>235
いけると思う
JIT後はJVMが1~2だけど

241:デフォルトの名無しさん
19/02/07 08:43:07.10 qMU5zT+q.net
なんでRustはあんなに速いん?言語の抽象度は同じくらいやろ?

242:デフォルトの名無しさん
19/02/07 10:01:05.59 ygKhuk/7.net
>>238
根幹の言語機能の所有権とライフタイムにより
C++でのムーブセマンティクスやRAII


243:みたいなのをより高度にコンパイラが認識出来るので 速度(効率)を保ったまま安全性を高められてる



244:デフォルトの名無しさん
19/02/07 10:55:21.09 esduY2Xd.net
Goはフットプリントも小さいからな。
C++だと、iostreamを静的リンクしただけでもそこそこ大きくなるのに。

245:デフォルトの名無しさん
19/02/07 12:43:04.54 nkNDSe3E.net
上で1..10の速さ書いたんやけどあれは実測じゃなくて速さランクのイメージや。
go<kotlin native<<jvm<<壁<<script言語
こうなるなら納得なんやけど、現実には
kotlin native ≒ jvmなの?
最適化されたらgoに迫ると思い込んでるんやけどそんな甘くないんかな。

246:デフォルトの名無しさん
19/02/07 13:44:29.30 Ftq4Fy0N.net
最適化できたらそらそうだけど、その最適化がどこまで出来るかどうかはお天道様にしか分からない

247:デフォルトの名無しさん
19/02/07 14:46:10.65 nkNDSe3E.net
それもそうやね。大人しく半年か1年くらい待ってみるわ

248:デフォルトの名無しさん
19/02/07 14:47:12.25 ygKhuk/7.net
コンパイラの頑張り次第で Go ≒ Kotlin/Native まで行ける可能性はある
ベンチマークでは C ≒ Rust << Go ≒ JVM
Rust vs Go URLリンク(benchmarksgame-team.pages.debian.net)
Go vs Java URLリンク(benchmarksgame-team.pages.debian.net)
しかしGCの性質の違い、JVM起動時間、JIT、並列処理サポートなどにより
各ユースケースに対する適性は速度だけでは決まらない

249:デフォルトの名無しさん
19/02/08 16:17:29.13 nPWMA0BU.net
3桁ごとにカンマ打つには、
val str= "123456"
println( str.format("%,d"))
想定では、123,456のはずが123456になる
使い方間違ってるかな?

250:デフォルトの名無しさん
19/02/08 17:15:55.53 3DPCoowD.net
逆じゃね?

251:デフォルトの名無しさん
19/02/08 18:09:56.46 nPWMA0BU.net
逆+Intでないとダメみたい
BigDecimal放り込んだら勝手に12,345.6789みたいになればと思ったんだけど、自分で作るの面倒で信用ならん

252:デフォルトの名無しさん
19/02/08 18:45:11.42 MkVUfclC.net
jvmならNumberFormatでいいんじゃないの
import java.math.BigDecimal
import java.text.NumberFormat
val BigDecimal.fmtStr: String
get() = NumberFormat.getNumberInstance().format(this)
fun main(args: Array<String>) {
val a = BigDecimal(12345.6789)
println("${a.fmtStr}")
}

253:デフォルトの名無しさん
19/02/08 19:35:10.36 MkVUfclC.net
ごめんよく見たら丸められてたから訂正
URLリンク(ideone.com)

254:デフォルトの名無しさん
19/02/08 19:59:36.92 nPWMA0BU.net
>249
"."探して、整数と小数点以下に分けて整数部分にカンマ打ってから合体させようとしこしこ作ってたら別のアイデア出てた
ありがと

255:デフォルトの名無しさん
19/02/09 06:09:56.82 6/bHpQ6m.net
locale によってはカンマが3桁区切りではないかも知れないし記号がカンマではないかも知れないので
こうやって自分でやっちゃった方が良いのでは?
println(java.text.DecimalFormat("#,##0.000").format(java.math.BigDecimal("1234567890.1235"))) // 1,234,567,890.124

256:デフォルトの名無しさん
19/02/09 07:35:37.20 fJwH+mSX.net
>>251
ロケールに従わず常にカンマにしたいという意図ならそれだとそぐわないと思う
DecimalFormatに与えたカンマはカンマという文字ではなくグループ区切り子なのでロケールに応じた文字で出力されるよ

257:デフォルトの名無しさん
19/02/10 17:34:05.13 BbTEeZaP.net
日本, アメリカ, イギリス 他
1 = 1.000 < 10 < 1,000 = 1000
ドイツ, イタリア 他
1 = 1,000 < 10 < 1.000 = 1000
ロシア, フランス 他
1 = 1,000 < 10 < 1 000 = 1000
オーストラリア, カナダ 他
1 = 1.000 < 10 < 1 000 = 1000
国際単位系(SI)
1 = 1,000 = 1.000 < 10 < 1 000 = 1000
  空白を小数区切りに使う国が無いことと、ポイントとカンマの各国のばらつきから
  読み取り間違いを避けるための妥協案のようなもの

258:デフォルトの名無しさん
19/02/10 17:41:28.40 BbTEeZaP.net
おまけ
Ruby, Java, Kotlin 他
1 = 1.000 < 10 < 1_000 = 1000
C++
1 = 1.000 < 10 < 1'000 = 1000
 アンダースコアをユーザー定義リテラル用に使っていたため

259:デフォルトの名無しさん
19/02/10 18:10:30.74 6jFJUgix.net
そうか。じゃあグループセパレータを自分でカンマにセットしとかないと確実にカンマにはならないってことだな。

260:デフォルトの名無しさん
19/02/12 05:43:38.35 xDY2FToe.net
Java全然書いたことないんだけどJavaのこと調べてたらこの言語に辿り着いた
Android公式言語とのことだけど、Androidアプリ開発以外の用途でJavaでやることもKotlinで出来るの?
もうJavaじゃなくてKotlin学んだほうがいい?
PythonとCしか書けない

261:デフォルトの名無しさん
19/02/12 05:56:17.28 SvKCMiwA.net
おわこん

262:デフォルトの名無しさん
19/02/12 06:15:00.09 PanSk5rI.net
>>256
> JavaでやることもKotlinで出来るの?
できる。
> もうJavaじゃなくてKotlin学んだほうがいい?
JavaをやってからKotlinを学んだほうがいいけど、PythonとCができるなら、Kotlinから始めるのもありかも。

263:デフォルトの名無しさん
19/02/12 08:01:07.40 zazJl4ej.net
>>256
APIリファレンス読むためにJavaのメソッド定義の構文を知っておくくらいで
Kotlinをメインに学んで良いと思うよ
成果物はJavaクラスファイル(※)なので出来ることは同じ
やろうと思えば1プロジェクトで混在しても普通にお互い呼べる
※Kotlin/JS, Kotin/Nativeとかの別形式もある

264:デフォルトの名無しさん
19/02/12 11:22:53.23 8lolhehX.net
Scalaってどこいったん?

265:デフォルトの名無しさん
19/02/12 14:31:00.63 8DpMAebM.net
Scalaは衰退しました

266:デフォルトの名無しさん
19/02/12 15:06:09.44 ncKC6kPX.net
使われてるところでは安定して使われてるみたい
拡大は止まったと思うけど

267:デフォルトの名無しさん
19/02/12 20:08:57.00 hkCwi0n8.net
scala組がkotlinに合流してくれたら覇権言語狙えるんやないか。
ということは、kotlinに必要なのはお洒落感?

268:デフォルトの名無しさん
19/02/12 20:28:23.96 VerJGrBE.net
Scalaやってた意識高い系はみんなとっくにRustへ移行した

269:デフォルトの名無しさん
19/02/12 21:03:35.46 pT/fbk4d.net
>>256
それをJavaで作る必要があって、Javaで作ることを誰かに強制されているなら、それはJavaで作る
それをJavaで作る必要があって、Javaで作ることを誰にも強制されてないなら、それはKotlinで作る
それをJavaで作る必要がないなら、JavaでもKotlinでも作らない。他の言語を使う。めんどくさいじゃん

270:デフォルトの名無しさん
19/02/13 09:04:09.69 KRdNZL9E.net
ちょっと前はScala民がやたらKotlinを叩いてたけど、それももう見なくなったな

271:デフォルトの名無しさん
19/02/13 13:18:45.36 ikkFeMPB.net
現在はKotlin教とGo教の戦い?

272:デフォルトの名無しさん
19/02/13 14:52:01.31 e0d6KWci.net
言語に自己肯定感を求める人は無難無個性言語Kotlinや低脳言語Goでは欲求が満たされないことを知りRustへ行った

273:デフォルトの名無しさん
19/02/13 18:00:16.64 41RZIXro.net
>>267
両方とも同時期に流行り始めたけど、用途的にあんまり競合してない希ガス

274:デフォルトの名無しさん
19/02/13 19:36:21.84 n4QfG8LN.net
おれもどうせならオシャレな言語がいいんだがスマホのアプリ作りたいならkotlinしかないよね?

275:デフォルトの名無しさん
19/02/13 20:05:24.56 o4GE+skC.net
つDart

276:デフォルトの名無しさん
19/02/13 20:07:39.49 kPXKdc0M.net
dartがオシャレ…?

277:デフォルトの名無しさん
19/02/13 20:43:21.05 KRdNZL9E.net
flutter普及への最大の障害がDartだよな

278:デフォルトの名無しさん
19/02/13 22:02:27.55 O2gl0nE8.net
>>270
あなたの言うスマホアプリがゲームだけであるなら、Unityを使うことができる
これはWindowsマシンでAndroidゲームもiPhoneゲームも作ることができる(iPhoneの実機はあったほうがいいけど)
あなたの言うスマホアプリがiPhoneアプリであるなら開発マシンはMacでiPhoneは必須、個人なら言語は公式のSwift(就職する気なら今からObjective-Cに手を出して時間不足で爆死しよう)
Windowsマシンでも作成だけはできるがユーザーの「よくわからないけど動きません」に対して「よくわからないので直せません」と答えるしかなくなる(所詮エミュ)
あなたの言うスマホアプリがAndroidアプリである場合のみ、Windows(別にLinuxでもMacでもいいけど)でKotlinを使うことで作ることができる
ゲームを作ることももちろんできるが、基本的に全部自力での実装になるので序盤から山が高いし若干面倒くさい(後々勉強にはなるが)
手間と面倒だけ考えるならUnityとC#でやったほうがサンプルも解説も書籍もライブラリも山ほどあるし楽は楽、詰まってもだいたい先人が解いてるのでイージー。タイムイズマネー
もちろん他の言語で作ることもできて、たとえばもしあなたにC++の知識があるならC++でゴリゴリ作ることもできるんだけど、そんな人はこんなこと聞かないよね
えっXamarin?ごめーん忘れてた。「もしあなたがいっぱしのWindowsアプリケーション開発者であるなら」その知識とXamarinとC#と.NETを使うことでAndroid/iPhoneアプリ開発ができるよ

279:デフォルトの名無しさん
19/02/13 23:07:05.67 eA/7rWxO.net
>>268
それぞれちょっとずつカジってみたんだけどScalaの人がRustでファイナルアンサーするとは思えんかった。
RustはWebやるにはキツかったからまだどっかで彷徨ってるのかも。
>>269
現在のGoの用途→Webサーバ、Nativeアプリ
JetBrainsが思惑ってるKotlin, Kotlin/Nativeの用途→ Webサーバ, Nativeアプリ、というか何だか色々。
うまく行けばこれから競合していくんかな。

280:デフォルトの名無しさん
19/02/14 06:44:05.14 l2sDxPpK.net
>>275
Goもこちょりんもどちらも使うけど、一口にWEBサーバーと言っても得意なジャンルが違うな、少なくとも現時点では。
今後GoにSpringみたいなフルスタックのフレームワークが出てきたら思いっきり競合するかもね。

281:デフォルトの名無しさん
19/02/14 09:29:59.23 9tQDIG7c.net
合体させて Gotlin

282:デフォルトの名無しさん
19/02/14 11:59:45.42 PQjGjDTM.net
実際、Goの運用性とKotlinの生産性が合わさればわりと最強だと思う
Kotlin nativeみたいにKotlinのエコシステムを再現する方向だとどうしてもJVMをエミュレーションするような感じになって歪みが出る
逆にGoの文法をKotlinに寄せるほうが筋がいい

283:デフォルトの名無しさん
19/02/14 13:00:16.45 DBAMfZpK.net
歪みってどういうの?

284:デフォルトの名無しさん
19/02/14 15:39:16.51 cVDEqZjL.net
>>279
逆に聞くが、仮に完全にゼロベースで Kotlin native を開発してたとして、今と同じ言語仕様になったと思う?
特定の処理系を前提にして作られて普及した言語が他へ移植されて成功した例はない

285:デフォルトの名無しさん
19/02/14 17:06:41.26 DBAMfZpK.net
具体的な支障は無いってことでいいの?

286:デフォルトの名無しさん
19/02/14 19:02:02.86 HgCh9LDM.net
横からだけどjvmの負の特性も引き継ぎやすいってことかと思った。
起動が遅いとか、メモリ食うとか。

287:デフォルトの名無しさん
19/02/14 21:20:40.39 FnxMJF+D.net
起動が遅い事は遅いが昔からすれば今時のPCは速いね。
Windows95や98の頃なんかどうしてくれようというほど遅かったからなあ。
昔はみんな忍耐力強かったよなあ。

288:デフォルトの名無しさん
19/02/15 05:29:24.84 Ytmv+Yd8.net
>>280
確かにJVMのジェネリクス型消去がなかったら、reifiedみたいな複雑怪奇な仕様はなかったろうな。
移植については大抵は非公式移植事例だから、楽観はできないけど、まだ決めつけるには速いかと。
Scala.NET...うっ、頭が...

289:デフォルトの名無しさん
19/02/15 08:15:53.64 EWf/hEPb.net
新しいところでいうと、inline classなんか普通にユーザー定義の値型があれば全く必要ないな
unsigned integerもだいぶ無理矢理感が酷い
Kotlin native特有の話だと、C interopのための構造体のマッピングとか超無理矢理で最高にエイリアン感ある

290:デフォルトの名無しさん
19/02/15 09:58:26.61 KLsspNaS.net
iPhoneにおけるSwiftの立ち位置=AndroidにおけるKotlinの立ち位置

291:デフォルトの名無しさん
19/02/15 10:48:24.63 szDoWtiX.net
あ、はい

292:デフォルトの名無しさん
19/02/15 10:54:34.88 tar5L0r6.net
inline class = ユーザー定義の値型 = C#のstruct
そして最適化が十分ならそれらが必要無いことをRustとGoが証明してる
ヒープかスタックかは自動で判断される

293:デフォルトの名無しさん
19/02/15 10:56:38.52 PR4djPv7.net
特定のVM前提で設計されて他へ移植されて成功した言語の例としてはAndroidのJava/KotlinやUnityのC#、Node.jsのJSあたりが該当すると言えなくもないけど、
それらは言語の移植ではなくVMごと移植だからなあ
基本的にVM言語の他への移植は成功しないよ

294:デフォルトの名無しさん
19/02/15 11:07:58.47 tar5L0r6.net
AndroidやC#のいくつかのターゲットはAOTで
それらも「VMごと」に含むなら
LLVMを使うC++(Clang)も同じ扱いになる

295:デフォルトの名無しさん
19/02/15 15:42:23.69 FI28dGgE.net
最近、kotlin触ってるけど、C#より学習コストが高いです
それで、C#erがkotlinに切り替える際に、意識すべき点って何かありますか?

296:デフォルトの名無しさん
19/02/15 16:15:05.26 PR4djPv7.net
>>291
Javaの制限を理解すること
JVMは.NETのCLRに比べて機能的にはずっとショボくて、その制限に由来する奇妙な仕様がKotlinには数多く存在する
Javaに慣れてないとそのあたりは直感的に理解しづらい

297:デフォルトの名無しさん
19/02/15 17:24:02.62 Hx3jejna.net
>>292さんの言ってる「Javaの制限」て例えばどんなこと?

298:デフォルトの名無しさん
19/02/15 17:29:59.00 tar5L0r6.net
>>291
プログラム言語全般に言えることだけど
各構文を概要程度でも良いので、まずは一通り知ること
C#知ってて引っ掛かりそうな箇所として思いついたのは
・最後のパラメータがラムダの場合は丸括弧の後に書ける
 他に引数が無い場合は丸括弧も省略出来る
 (GroovyやSwiftのTrailing Closureと同じ)
・レシーバ付きラムダ
・inlineラムダ
・returnはfunから抜けるもので、ラムダから抜けるものではない
・IterableとSequenceは遅延評価
・コンパイルでジェネリクス情報は消える
・suspendは同期(await)が基本動作

299:デフォルトの名無しさん
19/02/15 17:31:30.02 tar5L0r6.net
>>294脱字
× ・IterableとSequenceは遅延評価
〇 ・Iterableと違ってSequenceは遅延評価

300:デフォルトの名無しさん
19/02/15 22:07:22.01 KHCIiBIM.net
kotlin勉強中なんだけど、結局のところjetbrainsがscala推さずにkotlin出したのは何でなの?
商業的に旨みがあるから?それともbetter javaとしてのscalaに見切りをつけたから?それとも?

301:デフォルトの名無しさん
19/02/15 22:33:17.97 tar5L0r6.net
コンセプトの違い

302:デフォルトの名無しさん
19/02/15 23:10:54.49 9S5XTVoX.net
>>296
自分でScalaやってみればすぐにわかるよ
まともな感性があれば、あんなものが普及するわけがないことは明らかだった
JetBrainsもIDEを作る会社として自由にできる言語が一つは欲しかったというのはもちろんあっただろうけどね

303:デフォルトの名無しさん
19/02/15 23:25:58.35 KHCIiBIM.net
>>296
なるほど。Scalaのこれ以上の普及は難しいという判断があった(だろう)ってことなら納得。

304:デフォルトの名無しさん
19/02/15 23:41:27.98 KHCIiBIM.net
まちがえた。上は >>298
雑念を捨ててkotlin邁進してきます

305:デフォルトの名無しさん
19/02/16 15:17:06.30 lTjIe/CZ.net
Scalaは言語マニアのオナニー言語だよなあ

306:デフォルトの名無しさん
19/02/16 17:00:29.98 odkD9xpX.net
なんだかんだでscalaは採用企業多いけどね
kotlinもtwitterとかpaypalみたいな大手で使ってくれると宣伝になるんだけど

307:デフォルトの名無しさん
19/02/16 17:31:16.36 W7DuQqzW.net
日本のYahooがKotlin採用したくらいではさざなみさえ立たないか

308:デフォルトの名無しさん
19/02/17 08:06:13.22 8BWCGdz7.net
Scalaの方が出たのが早かったし意識高い系(笑)が挙って使ったから
でもそれを維持出来る新人たちが居ないのが現状
Scalaは端的に複雑で難解な部分が多い
2018年後半以降Scalaの記事殆ど見かけないやろ?
コップ本(笑)

309:デフォルトの名無しさん
19/02/17 11:12:07.88 IdBTBZJc.net
Androidの公式言語がScalaになる世界線もあり得たと思うけど、そうならなかったってことはつまりそういうこと

310:デフォルトの名無しさん
19/02/17 11:17:52.27 IdBTBZJc.net
一年くらいScalaで仕事してたしまあ慣れればどうってことはないと思うけど、ScalaとKotlinで選べるとしたらよほどの変人以外はKotlin選ぶと思うわw

311:デフォルトの名無しさん
19/02/17 11:30:47.79 OQFPUwNT.net
ScalaはHaskellを意識しすぎ
簡潔に書きたいだけならKotlinかClosureの方がいい

312:デフォルトの名無しさん
19/02/17 11:57:32.09 nzXhLQND.net
Scalaのコンセプトは、スケーラビリティの理論実証
 オブジェクト指向と関数型の統合によりスケーラビリティが実現すると考え
 小規模から大規模まで同じ書き方/考え方で記述出来るように設計されている
 出自はコンピュータサイエンスの学者
Kotlinのコンセプトは、より良い産業向け言語
 Javaからの移行や相互運用、コンパイル速度、使い勝手について
 「仕事の道具」であることを意識して設計されている
 出自はIDE製品を提供する企業

313:デフォルトの名無しさん
19/02/17 12:47:22.79 7MWZQWrl.net
どっちも我田引水なだけやん

314:デフォルトの名無しさん
19/02/17 13:01:53.97 nzXhLQND.net
設計思想と既存資産があるから多様に派生し人が集まる
C, C++, Objective-Cが合流しないのも同様
それを我田引水と評することに何の意味もない

315:デフォルトの名無しさん
19/02/17 15:40:49.55 1RbyA1NJ.net
>>310
クスクス

316:デフォルトの名無しさん
19/02/17 15:53:56.04 tF7RiGiR.net
scalaでAndroidのプラグインとかあった気がする
我田引水ってなんか意味わからんな

317:デフォルトの名無しさん
19/02/17 23:16:27.59 ek0K0t7B.net
>>309
むしろ我田引水でない言語なんかあるんだろうか。
強いて言うならgrassとかwwww

318:デフォルトの名無しさん
19/02/18 02:04:27.28 XPBhJDxI.net
我田引水ってのは共用物について不正に占有したり自らの便宜を図ったりするような場合を言う
自己アピールや競争を含めた利己的な行動すべてを我田引水と揶揄するのは農耕民族的な発想が過ぎる
そういうのは道徳というより村八分や出る杭が打たれるのを恐れる面が強くイノベーションの足枷

319:デフォルトの名無しさん
19/02/18 11:11:01.50 +13B6eaL.net
もはや何のスレだか分からない

320:デフォルトの名無しさん
19/02/18 13:20:37.82 cZFby2gr.net
道徳説教スレ

321:デフォルトの名無しさん
19/02/18 13:34:09.52 trvxFZJG.net
我田引水スレ

322:デフォルトの名無しさん
19/02/18 19:19:37.69 I6FKQlBO.net
後ろ盾がjetbrainsっていうのはどうなんやろ。
大手と比べてどんなメリットデメリットあると思う?

323:デフォルトの名無しさん
19/02/18 19:29:55.81 Sk2Bqw0/.net
てか、我田引水ってどういう意味だっけwwww

324:デフォルトの名無しさん
19/02/18 19:50:06.12 TrdfW/q6.net
>>318
googleと仲いいしintellijシリーズが売れなくなるとも思えんし安泰なんじゃ?

325:デフォルトの名無しさん
19/02/18 20:44:26.76 bWM4TeHv.net
スカラ信者がまた荒らしてるな

326:デフォルトの名無しさん
19/02/18 21:57:58.91 EXht3ErA.net
>>318
大手と比べるとメリットはない。後ろ盾のない言語よりはいい。
IDEの開発会社という意味では、言語の普及がIDEの売上に直結する可能性があるので
Oracleみたいに独立不採算だからマネタイズに走るという思考にはなりにくいが、
絶対的なものではない。

327:デフォルトの名無しさん
19/02/18 22:33:30.93 nEhvYQ88.net
IDEの開発会社であるが故のリスクもあるけどね
VSCodeのような強力な他の開発ツールがKotlinサポートにおいてIntelliJを超えてしまってユーザーが流れた場合、
JetBrainsにとってKotlinの開発を続けることにもはや意味がなくなってしまう

328:デフォルトの名無しさん
19/02/18 22:58:18.56 /oirkxE3.net
後ろ盾最強はやっぱrust?

329:デフォルトの名無しさん
19/02/18 23:02:22.94 3dpq5+94.net
Goでぇす!

330:デフォルトの名無しさん
19/02/19 08:14:46.86 cAOiK8uf.net
後ろ盾の強さでいったらGoだべ
あれだけの巨大企業がついてる上に、開発も独裁せずに異常なまでにオープンであることを重視してるし

331:デフォルトの名無しさん
19/02/19 09:12:17.39 D8b3v+Fo.net
>>326
最強のSEO力でそう見せてるだけだぞ
それでもDartに対するヘイトは抑えきれなかったようだが

332:デフォルトの名無しさん
19/02/19 09:33:24.18 cAOiK8uf.net
>>327
直接Go開発周りのディスカッションを見てきての感想だから、SEOも何も関係ねーよ
英語が読めるなら自分の目で確かめることをお勧めする
あれはある意味理想的なOSS開発の形かもしれない

333:デフォルトの名無しさん
19/02/19 13:20:28.53 VQ802aqj.net
goは好きじゃないが>>326の言うことには同意
でもDartちゃんは駄目だから早く眠らせてあげて…

334:デフォルトの名無しさん
19/02/19 14:47:06.45 dYxLB9sm.net
FlutterがDartじゃなければ一気に覇権を取るまでありえただろうにな

335:デフォルトの名無しさん
19/02/20 14:22:13.38 v2qgHXVs.net
Android次期OSの開発言語がDartになるみたいな話どうなったん

336:デフォルトの名無しさん
19/02/20 15:43:28.44 YlCEZG7R.net
夢のOSなので夢で終わる

337:デフォルトの名無しさん
19/02/20 15:54:05.41 agArr1lp.net
ダー子

338:デフォルトの名無しさん
19/02/20 16:09:47.41 xuurx1V0.net
>>331
URLリンク(9to5google.com)
つまりJavaもKotlin/JVMも使える

339:デフォルトの名無しさん
19/02/20 17:27:44.53 9tgV50SM.net
Dream → Nightmare

340:デフォルトの名無しさん
19/02/20 19:05:59.81 v7iPz90J.net
夢は見るもの
目標は叶えるもの

341:デフォルトの名無しさん
19/02/20 19:45:33.26 TCqLAjvR.net
夢を見る島

342:デフォルトの名無しさん
19/02/20 21:47:37.37 sBZRwN3G.net
>>337
小鳥ん島
>>336
揚げ足鳥で悪いが、目標は達成するものだと思う。

343:デフォルトの名無しさん
19/02/22 04:03:22.89 DtR1+6r8.net
>>334
まじかよダートいらねーじゃん

344:デフォルトの名無しさん
19/02/23 12:08:36.03 9pS68leH.net
Котлин

345:デフォルトの名無しさん
19/02/24 12:59:23.23 pmK9w2Lp.net
ランキング画面を作っていてRecyclerViewの項目のソートをしたいんですが、
Cellectionをお気に入り数の降順でソートした上で、
タイトルとサブタイトルの昇順にソートするにはどうしたらいいですか
以下でお気に入り数の降順でソートするところまではできたんですが。
RankingDatas.sortedByDescending { it.bookMarkCount }

346:デフォルトの名無しさん
19/02/24 17:16:45.57 DytDvOjA.net
俺だったらデータを抜いてくる時点でソートをかけて抜いてくる。

347:デフォルトの名無しさん
19/02/24 17:28:12.24 pmK9w2Lp.net
APIレスポンスはそうして返してるんですが、
ローカルでお気に入りオンオフしてランキング順位が変わった場合に
再度APIを叩いてデータを取り直すのも微妙なので
その場合はローカルでソートして
順番を入れ替えたいという感じです

348:デフォルトの名無しさん
19/02/24 18:25:01.14 nlMNXQkf.net
ドキュメントにこう書いてあるからascendingとdescendingを順次呼び出せばいいんじゃない?
The sort is stable. It means that equal elements preserve their order relative to each other after sorting.
呼び出す順序はソート優先順位の逆順で

349:デフォルトの名無しさん
19/02/24 20:05:27.33 pmK9w2Lp.net
rankingDatas.sortedByDescending { it.bookMarkCount }.sortedBy { it.title }.sortedBy { it.subTitle }
やってみましたが、途中の結果は捨てられて単に subTitle の降順になるようです

350:デフォルトの名無しさん
19/02/24 20:26:13.24 pmK9w2Lp.net
昇順か

351:デフォルトの名無しさん
19/02/24 21:01:47.88 DSwgvg4z.net
sortedWithつかえ

352:デフォルトの名無しさん
19/02/24 21:07:06.34 pmK9w2Lp.net
できましたありがとうございました

353:デフォルトの名無しさん
19/02/25 01:07:00.43 EPSsIluE.net
呼び出す順序はソート優先順位の逆順でと言ったのに伝わらなかったか

354:デフォルトの名無しさん
19/02/25 05:33:03.93 D5d9E5fI.net
「kotlin sort multiple fields」で検索!

355:デフォルトの名無しさん
19/02/26 03:00:37.89 lsok3PaS.net
こういうことしたかったのか?
URLリンク(code.i-harness.com)

356:デフォルトの名無しさん
19/02/26 06:27:00.41 oQJIDyJZ.net
久しぶりに触ったらcoroutineがだいぶ変わってるらしくて以前からとりあえず動くけどよく分かってない状態だったのにもう全然分からないよ……(´・ω・`)

357:デフォルトの名無しさん
19/02/26 07:07:49.29 UAPWfCGq.net
>>352
とりあえず前知識として「コールバック地獄」について知っておくといいかも

358:デフォルトの名無しさん
19/02/26 08:39:12.02 5k0N70Wq.net
coroutine登場人物多すぎ

359:デフォルトの名無しさん
19/02/26 09:55:03.32 E0EMtjG2.net
え?子ルーチンそんなに変わったの?

360:デフォルトの名無しさん
19/02/26 10:37:15.60 UAPWfCGq.net
experimental中は色々変わったけど正式版以降の使い方は基本的に変わってないよ
URLリンク(github.com)

361:デフォルトの名無しさん
19/02/26 12:06:54.02 5MxkS3P7.net
>>351
のリンク先で、数値なら、- で降順にできるのか?
list.sortedWith(compareBy({ -it.age }, { it.name }, { it.address }))
Ruby なら、
arr2 = arr.sort_by { |a| [ -a[:score], a[:room] ] }

362:デフォルトの名無しさん
19/02/26 18:17:15.84 k06atLuF.net
>>357
できる。

363:デフォルトの名無しさん
19/02/28 03:26:51.88 oRFlldUh.net
ま、しかし、複数項目で昇順降順が混在する場合は自分で Comparator 作っちゃった方が楽かもね。

364:デフォルトの名無しさん
19/02/28 07:06:25.14 Lh1ejLNL.net
いやいや rankingDatas.sortedBy { it.subTitle }.sortedBy { it.title }.sortedByDescending { it.bookMarkCount } でいいじゃん

365:デフォルトの名無しさん
19/02/28 09:12:21.78 sPMvbV7g.net
直感的でない

366:デフォルトの名無しさん
19/02/28 09:15:13.48 UGZ/YaG8.net
>>360
処理時間3倍かかるよそれ

367:デフォルトの名無しさん
19/02/28 10:37:24.91 o8LdAn98.net
>>362
10万件ソートするなら使えないし、1000件しかソートしないなら問題ない
ランキングならたいした件数ないんじゃない

368:デフォルトの名無しさん
19/02/28 13:05:23.62 oAFMMcaR.net
>>360
それって2番目の並べ替えで1番目の並べ替えの順序が変わらないことは保証されてるの?

369:デフォルトの名無しさん
19/02/28 13:16:03.81 TwQuwGRl.net
stable sortだから保証されてる

370:デフォルトの名無しさん
19/02/28 15:53:56.89 sPMvbV7g.net
mutableLivedataを外部に公開したら良くないってことで
別途livedataを作ってそいつに参照を持たせて
外部にはlivedataだけ公開するっていうのを
全部のmutableLivedataに対して行うの面倒臭いんですが
なにかいい方法ないですか

371:デフォルトの名無しさん
19/02/28 19:05:52.26 TwQuwGRl.net
よく知らないけどmutableLivedataをコンストラクタで貰って
それを元にlivedataを作って両方保持するクラスでも作って包めばいいんじゃないの

372:デフォルトの名無しさん
19/03/01 01:02:08.44 8x0yRf06.net
それで何か解決するんですかね
結局view側からmutableLivedataに
アクセスできるんじゃないですかね

373:デフォルトの名無しさん
19/03/01 06:35:34.41 eJTnddJA.net
本当にやり方が思いつかないならもうちょっと経験値の高い先輩なりに相談してみよう

374:デフォルトの名無しさん
19/03/01 08:39:12.55 8x0yRf06.net
分からないならレスしないでください。うざいだけです

375:デフォルトの名無しさん
19/03/01 09:24:26.88 ajbNVKsu.net
動かしてないけどこんな感じ
import android.arch.lifecycle.*
import kotlin.reflect.KProperty
//保持用
fun <T> unmodifiableLiveData(d:LiveData<T>): LiveData<T> = Transformations.map(d){it}
class MutLiveWrap<T>(val lv:MutableLiveData<T>) {
val readonlyLv = unmodifiableLiveData(lv)
operator fun getValue(thisRef: Any?, property: KProperty<*>) = readonlyLv
}
val <T> MutableLiveData<T>.wrap get() = MutLiveWrap<T>(this)

//使用
class Test {
private val aWr = MutableLiveData<Int>().wrap
val a by aWr
fun f(){
val mutLv: MutableLiveData<Int> = this.aWr.lv
val roLv : LiveData<Int> = this.a
}
}

376:デフォルトの名無しさん
19/03/01 11:13:31.72 PhmT31GH.net
>>370
分かりません。

377:デフォルトの名無しさん
19/03/01 11:44:05.14 AdJjcFYH.net
>>370
技術力がないだけじゃなくて人間とし�


378:トも終わってるのな



379:デフォルトの名無しさん
19/03/01 12:41:01.41 yZJ4Zkhu.net
荒らしに返事するな!
そいつは前からいる、荒らしだろ。
相手をすると、この板に居つくだけ!

380:デフォルトの名無しさん
19/03/01 12:57:49.73 PhmT31GH.net
ま、しかし、このスレの場合は日頃は過疎ってるのでたまに荒しが来てくれた方がスレが活性化して落ちる心配がなくなるなw

381:デフォルトの名無しさん
19/03/01 16:06:36.33 XD1TRf4c.net
developer.android.comの最近のページはコードサンプルがKotlinとJava両方載ってるんだね
タブで切り替えるんだけど最初に表示されてるのはKotlin

382:デフォルトの名無しさん
19/03/01 16:54:26.44 ae30enpy.net
俺も動かしてないけどつくってみた
import androidx.annotation.MainThread
import androidx.lifecycle.LifecycleOwner
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.Observer
private class ReadOnlyLiveData<T>(private val liveData: LiveData<T>) : LiveData<T>() {
override fun setValue(value: T) { TODO("この関数を呼び出したとき、リードオンリーだから使えないよって教える。") }
override fun postValue(value: T) { TODO("この関数を呼び出したとき、リードオンリーだから使えないよって教える。") }
@MainThread override fun observe(owner: LifecycleOwner, observer: Observer<in T>) { liveData.observe(owner, observer) }
@MainThread override fun observeForever(observer: Observer<in T>) { liveData.observeForever(observer) }
@MainThread override fun removeObserver(observer: Observer<in T>) { liveData.removeObserver(observer) }
@MainThread override fun removeObservers(owner: LifecycleOwner) { liveData.removeObservers(owner) }
override fun getValue(): T? = liveData.value
@SuppressWarnings("WeakerAccess") override fun hasObservers(): Boolean = liveData.hasObservers()
@SuppressWarnings("WeakerAccess") override fun hasActiveObservers(): Boolean = liveData.hasActiveObservers()
}
fun <T> LiveData<T>.readOnly(): LiveData<T> {
if (this is ReadOnlyLiveData<T>) return this // もうすでにリードオンリー
return ReadOnlyLiveData(this)
}

383:デフォルトの名無しさん
19/03/02 06:14:14.54 qFBH5IQH.net
>>357
降順と昇順が混在する場合は compareBy または compareByDescending で Comparator 作って
それに対して thenBy または thenByDescending で追加させて行く方が楽だし速いと思う。

384:デフォルトの名無しさん
19/03/04 16:04:14.52 /4qbaGVQ.net
AnkoでBottom Sheetって使えますか?

385:デフォルトの名無しさん
19/03/08 09:22:28.79 Yj0eRJ2i.net
なんか面白い話題ないんかな。。

386:デフォルトの名無しさん
19/03/08 10:46:41.80 pv8HlopZ.net
君が面白くなりなさい。

387:デフォルトの名無しさん
19/03/08 13:24:56.87 AzqZJLRD.net
springがフルkotlinになるのはいつ?

388:デフォルトの名無しさん
19/03/08 18:01:21.77 rmua+rZ/.net
Exposed1.0が出るのはいつ?

389:デフォルトの名無しさん
19/03/10 12:52:23.09 t+kr7Jdy.net
sequenceってジェネレーターみたいなもの?

390:デフォルトの名無しさん
19/03/10 13:42:04.30 56gRJqyl.net
>>384
SequenceはIterableとほぼ同じ
違いは
 Sequence: 遅延評価する (なのでジェネレーターも含む)
 Iterable:  基本的には遅延評価でない (通常、実体はコレクション)
拡張関数も別れていて、例えば
 Sequenceのmap は遅延評価するSequenceを返す
 Iterableのmap はその場で全要素を処理してListを返す

391:デフォルトの名無しさん
19/03/11 00:27:22.19 +Nlo5Elt.net
ずばり説明が書いてあるページを発見した。
KotlinのListとSequenceって何が違うの?
URLリンク(qiita.com)

392:デフォルトの名無しさん
19/03/11 07:22:41.11 0boP2QX3.net
うんこは最後に出す方法

393:デフォルトの名無しさん
19/03/11 17:24:32.47 2ppgAkG/.net
げ、知らなかった。
ずっとIterableがStreamの代わりだとばかり。
PythonのSequenceと混同してた。
ならば、Iterableをあそこまでゴージャスにする必要があったのか?

394:デフォルトの名無しさん
19/03/11 18:33:50.09 JQuKUcCl.net
誰かの趣味だよきっと

395:デフォルトの名無しさん
19/03/11 18:35:48.60 oxE6wZ/Z.net
>>388
典型的なコレクション操作では遅延評価せずその場で全処理する方が早いため
意味付けが違うだけで、SequenceとIterableは同じ拡張関数を持ってるくらいの認識でOK
分かりやすさのため、あえて使い分けを用意しなかった
Javaの割り切り方もありだとは思うけどね

396:デフォルトの名無しさん
19/03/11 21:05:48.78 MDT71nit.net
SequenceはJava8のStreamと類似で、KotlinであえてStreamを使うべき機会はほとんどないからSequenceを使っておけば良いってことかな

397:デフォルトの名無しさん
19/03/11 23:18:53.36 +cXkYAGY.net
そしてSequenceって変数にぶち込んで使いまわせなかったっけ?

398:デフォルトの名無しさん
19/03/12 01:11:15.05 WllyGH1o.net
partitionのSequence版が無くて自作したわ
groupingByも遅延評価だけど使い方がむずい(毎回リファレンス読み直す)

399:デフォルトの名無しさん
19/03/12 08:13:05.73 z/76z4zm.net
>>391
pararellがないな。
はっきり並列化できる処理なら、Streamの方がJavaの言い回しを考慮した上でも直感的にかける。

400:デフォルトの名無しさん
19/03/12 12:54:36.68 6Uu2j9Xc.net
kotlin推しがgoを推薦
URLリンク(www.youtube.com)

401:デフォルトの名無しさん
19/03/12 14:55:36.01 7iAawGvK.net
python,go,kotlin全部推してるやん

402:デフォルトの名無しさん
19/03/12 15:14:48.22 iD2RJper.net
>>396
このレスは板内爆撃
本人かシンパかアンチか荒らしかいまいち判別できないので放置でよいよ

403:デフォルトの名無しさん
19/03/12 15:56:40.12 7iAawGvK.net
>>397
そうか。すまん

404:デフォルトの名無しさん
19/03/16 11:53:34.93 28C0KCt9.net
そもそもなんの権威でもないやろこの人

405:デフォルトの名無しさん
19/03/16 13:53:25.25 jFsymRCD.net
坊やだからさ

406:デフォルトの名無しさん
19/03/16 16:06:54.74 ksQagb59.net
俺が Kotlin 押しビデオ作って公開すればいいのか?
しかし Kotlin 初心者なので「いいですよ~。最高ですよ~」などと情緒に訴えて見ている側を洗脳しようとすることぐらいしかできない。

407:デフォルトの名無しさん
19/03/16 16:14:10.50 YxxaJZky.net
>>401
ジャップに布教するなら、みんな使ってますよ~乗り遅れますよ~仲間外れですよ~だけでいいよ
初心者のお前でも、有名企業でのKotlin採用事例を集めて紹介するくらいはできるだろう?

408:デフォルトの名無しさん
19/03/16 16:20:48.33 28C0KCt9.net
まぁでも、kotlin go あたりが推奨されるのはわかるけどな
今更phpとかおすよりかは説得力ある

409:デフォルトの名無しさん
19/03/16 17:20:10.49 ksQagb59.net
>>402
ああ。そうだな。
後は学生向けにこれさえできれば楽々就職みたいに言うと。

410:デフォルトの名無しさん
19/03/16 17:27:02.08 ksQagb59.net
やっぱこれも必要だろうな。
URLリンク(imgur.com)

411:デフォルトの名無しさん
19/03/16 17:28:59.66 ksQagb59.net
既にどこの国の誰だか知らんが絵を作っている人はいた。
URLリンク(imgur.com)

412:デフォルトの名無しさん
19/03/17 18:08:41.49 fOPvRjrc.net
PreferenceFragmentが非推奨になる

代わりにandroidx.preference liblary使えって言われる

日本語のガイドに説明なし
適当すぎんだろイライラ

413:デフォルトの名無しさん
19/03/17 21:15:53.12 t+AGMGYK.net
あんま関係ないけどmavenのkotlinプラグインで増分コンパイルされないのって仕様?

414:デフォルトの名無しさん
19/03/18 09:41:08.53 7YQXcQeA.net
>>407
ドキュメント読めば書いてあるし問題なくね?

415:デフォルトの名無しさん
19/03/18 17:50:47.00 VkTfSOi0.net
>>407
本気で言うけど、公式ドキュメント程度の英語は頑張って読んだ方がいいと思うよ。

416:デフォルトの名無しさん
19/03/18 19:24:24.40 6b7FslP4.net
まぁAndroidの公式リファレンスは言語切替をシステム化してるから
ドキュメントのバージョンが不一致なら警告表示するくらいすればいいのにとは思う
iOSの方は英語以外バッサリ切り捨ててる(最新は英語読めと明示してある)から
中途半端に惑わされることは無い

417:デフォルトの名無しさん
19/03/18 20:47:50.90 1gtRswz3.net
いつの間にかこんな入門書出てたよ。既にKindle版もある。
Kotlinプログラミング
URLリンク(www.amazon.co.jp)

418:デフォルトの名無しさん
19/03/19 03:22:14.95 j5JxWPYN.net
もっと可愛い名前にすれば良かったのに
swiftみたいな

419:デフォルトの名無しさん
19/03/19 03:33:14.71 EnTGEExM.net
古都リンちゃん

420:デフォルトの名無しさん
19/03/19 10:04:27.55 InXhSaoV.net
>>409
日本語でしか表示されないんだが

421:デフォルトの名無しさん
19/03/19 10:51:32.88 STa9vfc0.net
>>415
ページ一番下に言語切替がある
リファレンスページでは正常に切り替わらないことがあるからトップページで切り換えた方がいい
URLリンク(developer.android.com)
もしくはURLに言語を英語にする「?hl=en」を付ける
URLリンク(developer.android.com)
日本語の方はAndroidXの記述が無いな
URLリンク(developer.android.com)

422:デフォルトの名無しさん
19/03/19 12:07:55.88 t/u/FScK.net
Androidは公式で日本語ドキュメントあるのか
Kotlinのドキュメントは有志がやってたけどもうメンテしてないよな

423:デフォルトの名無しさん
19/03/19 12:30:24.38 BI7+7Q7/.net
君がやってくれ。たのんだぞ。

424:デフォルトの名無しさん
19/03/19 14:20:51.95 3khslMEX.net
Kotlin in actionとどっちの方がいいんだ

425:デフォルトの名無しさん
19/03/19 15:10:03.68 TG1sbbZQ.net
>>416
丁寧にすまんな……

426:デフォルトの名無しさん
19/03/19 17:12:09.49 7p2/yAlP.net
>>417
公式日本語ドキュメントは更新が遅いから読まない方がいいぞ

427:デフォルトの名無しさん
19/03/19 17:54:02.89 qahjbQKM.net
kotlin native応援してるんだけど何が一番貢献になるんやろか?
翻訳とか細かなライブラリ作ったりくらいなら時間かければできそうなんやけど、難しいことはできん。
やっぱ募金とかなんか?

428:デフォルトの名無しさん
19/03/19 18:07:06.75 VCt0hAH/.net
>>422
まずはなんとかしてVSCodeを潰そう
このままだとJetBrains無くなるよ

429:デフォルトの名無しさん
19/03/19 18:12:21.52 STa9vfc0.net
>>422
とりあえず公式リポジトリのスターとfork数増やして
kotlin nativeであることをアピールしたライブラリ作ればいいのでは
ただ、現時点ではパフォーマンスが残念だからお勧めしない
出来ることが違うとはいえ、ロジック部分は
JVMどころかKotlin/JS経由のnodeで動かすのより7~10倍くらい遅い
まだコンパイラの最適化をやってないのは救いだけど
俺はARC with cycle collectorがスループット下げてる可能性を気にしてる
もしそうなら最適化やっても思うほど改善しないんじゃないかと

430:デフォルトの名無しさん
19/03/20 08:09:47.58 vnEhpOgU.net
JSとかnativeとかどうでもええ。
いろいろ変更予定のあるJVMとAndroid対応だけしっかりやれや。

431:デフォルトの名無しさん
19/03/20 09:36:36.87 bT3jH/zR.net
JetBrainsの業績そんなに悪くないしむしろ伸びてるはずだけど

432:デフォルトの名無しさん
19/03/20 13:58:35.52 uYHRW+dq.net
とりあえずgitとintellijの更新はしとく。
作るとしたら何系のライブラリがいいと思う?

433:デフォルトの名無しさん
19/03/20 14:21:09.73 wkbxcvwm.net
>>427
自分で使うやつ
より正確に言うとプルリクエストが来たときに議論できる程度に思い入れのあるやつ
使いもしないのに聞きかじりで作るのはやめておいたほうがいい

434:デフォルトの名無しさん
19/03/20 15:39:59.54 uYHRW+dq.net
なるほど。何に思い入れがあったか思い出してくるわ。
ありがと

435:デフォルトの名無しさん
19/03/20 17:00:17.12 BuSIOCAA.net
むしろMicrosoftのほうが糞

436:デフォルトの名無しさん
19/03/20 20:08:58.41 TxjggMxz.net
>>423
ならライセンス買おうよ。

437:デフォルトの名無しさん
19/03/20 20:09:44.23 kvLAmSD0.net
そういえばXamarinネタ見なくなったな

438:デフォルトの名無しさん
19/03/20 21:34:30.03 /gKFWWq8.net
>>432
まあ知ってる人はごくわずかだから話題にしたくても出来る人はいないだろう。

439:デフォルトの名無しさん
19/03/22 15:40:33.53 L3xU9+dS.net
即荒しが何か書いてスレが活性化するかと思ったら完全に無反応。本当に少数なったのだな。合掌。

440:デフォルトの名無しさん
19/03/23 14:14:54.18 Bvojjkpo.net
Kotlin そのものの質問ではないがこのスレの方が分かる人が多いような気がするのでここに書き込む。
IntelliJ IDEA で Kotlin のプロジェクトを作ってその src フォルダで ~.kt を一つ作ってそこに main() が
あるだけなら良いんだけど、もう一つ ~.kt を作ってそこにも main() を作って、それぞれを別々に動かす
ということはできないのかな? どうやらそのままではできないようで、そのままやろうとすると個別にコンパイル
しようとしても同じ関数があると衝突してエラーになる。(最初に登録した方のソースは大丈夫。2番目に
登録した方の ~.kt ファイルのコンパイルでエラー)。
こういう使い方は想定されていないんだろうか? しかしこれができないと小さいプログラムが沢山あるような
プロジェクトは作れなくて個別に沢山のプロジェクトを作らねばならなくなる。仮にそういう風にしかできない
んだとしてもそれならばプロジェクトを束ねるようなその上位の何かは作れないのか?でないと同じ階層に
プロジェクトが沢山作られてしまい非常に使い辛い。

441:デフォルトの名無しさん
19/03/23 15:19:26.37 HXMNak6o.net
>>435
トップレベルのmain()が名前空間で衝突しているからコンパイルエラーになると思われる。
class MyApp {
companion object {
@JvmStatic fun main(args: Array<String>) {
のような書き出しでエントリーポイントを作ることも出来ますが、そういった方法では解決できませんでしょうか。

442:デフォルトの名無しさん
19/03/23 15:24:44.47 UK/ZLX81.net
>>435
A.kt に書けば AKt.class が、B.kt に書けば BKt.class が生成されるので
JvmNameとかpackage指定と合わないフォルダ下で名前衝突させたりしない限り
普通は衝突しないはずだけど

443:デフォルトの名無しさん
19/03/23 15:28:37.98 Bvojjkpo.net
>>436
どうもありがとう。
同じ関数がなければ main() がファイルごとにあっても大丈夫なことがわかった。
実行する時は main() の行頭の左側に出ている ? マークをマウスでクリックして実行またはデバッグすれば実行できた。

444:デフォルトの名無しさん
19/03/23 15:29:46.08 Bvojjkpo.net
>>437
ああ。package 付ける方法もあるな。試してないけどそれでもできそう。

445:デフォルトの名無しさん
19/03/23 15:34:11.63 Bvojjkpo.net
>>437
どうもありがとう。
できたよ。違う package にしておけば同じ関数があってもうまく行く(名前衝突しないんだから当然と言えば当然か)。

446:デフォルトの名無しさん
19/03/23 15:38:27.73 UK/ZLX81.net
いや、437はpackageが同じでもファイル名が別なら衝突しないという話だよ

447:デフォルトの名無しさん
19/03/23 18:56:11.23 Bvojjkpo.net
>>441
package が同じというのは2ファイルが package 指定なしの時と同じだよね?
それだとダメだったんだよね。IntelliJ がどういう風にコンパイルしているかの問題だろうけど。

448:デフォルトの名無しさん
19/03/23 18:58:25.76 z3jdsP7r.net
さすがにスレチ

449:デフォルトの名無しさん
19/03/23 19:07:58.43


450:Bvojjkpo.net



451:デフォルトの名無しさん
19/03/23 19:29:18.72 UK/ZLX81.net
>>442
>同じだよね?
同じ
ほんとにmainが衝突してる?
main以外のトップレベル関数が衝突してるだけか、
もしくはかなり古いKotlinコンパイラ(プラグイン)を使ってない?
>>443
これはKotlinコンパイラの仕様だから別にスレチではないよ

452:デフォルトの名無しさん
19/03/23 20:07:45.61 UK/ZLX81.net
>>442
ああごめん435読み直したら、衝突したのはmainじゃなくて「同じ関数」なのね
対応方法としてはmain以外をprivate funにする,
classまたはcompanion objectまたはobjectに入れる
A.kt, B.kt
-----
fun main(){
a()
f.a2()
}
private fun a(){}
private val f = object {
fun a2(){}
}

453:442
19/03/24 03:29:22.97 ynFGlX0q.net
>>446
どうもありがとう。
確かに private でも名前外に出さないからできるね。

454:デフォルトの名無しさん
19/03/26 10:19:16.34 E1WCPVyW.net
Kotlin/Nativeが遅い原因を逆アセンブルして調べてたらこの記事にたどり着いた
URLリンク(soywiz.com)
UpdateReturnRefやLeaveFrameのコストが重すぎる
1.3.20時点ではリリースビルドでも最適化はされていない

455:デフォルトの名無しさん
19/03/26 19:23:47.37 NbUyZWCM.net
誰でも頭が良くなる、プログラムが書けるようになる方法が発見される 56097
URLリンク(you-can-program.hatenablog.jp)

456:デフォルトの名無しさん
19/03/26 21:38:27.76 PDyA3k9g.net
>>449
そのためにわざわざ眼鏡買うのバカらしいから君ちょっと自分で試してみなさい。
それともブログ書いた本人だから試し済みか?

457:デフォルトの名無しさん
19/03/26 21:40:50.59 PDyA3k9g.net
ていうか既にプログラム書ける人ばかり来てるであろうスレでそんなの書かれても効果を実感できるやつはほとんど居ないだろうなあ。

458:デフォルトの名無しさん
19/03/26 21:53:14.49 hJyrjtJ9.net
>>450
>>397

459:デフォルトの名無しさん
19/03/29 20:35:19.53 abJt4WgD.net
今日Kotlin入門しサクッと文法をやった程度のものですがAndroidプログラミングの学習リソースを探しています
JavaでのAndroidプログラミング経験はありません

460:デフォルトの名無しさん
19/03/29 20:41:29.42 KqjpTu4V.net
今日やっていきなりかよ!
もうちょっとKotlin単体で粘れよ!他にやることあるだろ!

461:デフォルトの名無しさん
19/03/29 21:25:55.21 Jv6E4VJb.net
>>454
>>453はXamarinのAndroid開発のエキスパートかもしれん...

462:デフォルトの名無しさん
19/03/29 21:34:48.88 wVkKBlg0.net
>>453
Activityとは何か?と考えることにひたすら時間を費やす。
使用言語にかかわらずandroid開発はそれがすべて。

463:デフォルトの名無しさん
19/03/30 06:03:17.66 145z6i/c.net
ぼくなんかJavaちょっとかじっただけでAndroidに挑戦しちゃったわ
あの時はActivityがクラスな事すら分からずにテキスト見てその通り書いてたな……😅

464:デフォルトの名無しさん
19/03/30 13:35:02.89 M1S6T7Ca.net
Rってなんですか?とか<T>ってなんですか?とかでぜひ挫折して欲しい

465:デフォルトの名無しさん
19/03/30 15:12:50.70 b12H3n9S.net
挫折するような人はRとは?とか<T>とは?なんてこと考えたりしない

466:デフォルトの名無しさん
19/03/30 15:38:23.64 bfZyzxOj.net
>>453
「Android Hello World」でググる
何はともあれ、まず動かすのが最速の学習

467:デフォルトの名無しさん
19/03/30 20:04:51.02 5DG6z16F.net
RもTも知らんけど、コピペで動いてるからそれでいい
適当にやれば動く
Rが赤いときは、大抵xmlの打ち間違い
T?知らん

468:デフォルトの名無しさん
19/04/01 00:45


469::49.25 ID:Th3XB2nz.net



470:デフォルトの名無しさん
19/04/01 01:50:31.93 //wZRuJn.net
reifiedつよいよな

471:デフォルトの名無しさん
19/04/01 09:38:57.10 Fy4OwQz+.net
発音が難しいよね

472:デフォルトの名無しさん
19/04/01 16:18:36.04 yssFrFp/.net
コトリンのジェネリクスのTってC#のdefaut(T)みたいなのある?

473:デフォルトの名無しさん
19/04/01 17:10:11.92 Tc5+6fel.net
俺はC#を知らない

474:デフォルトの名無しさん
19/04/01 18:32:35.54 //wZRuJn.net
ない
csはint x=defaultってかけるみたいだけどkotlinは明示的に0で初期化しなきゃいけない
他の型でも同じ

475:デフォルトの名無しさん
19/04/01 19:41:02.24 no59bRT+.net
C#のdefaultは単なるシンタックスシュガーじゃなくて、実行時に型引数に応じた適切な値を生成してくれる機能
JavaやKotlinのハリボテジェネリクスでは原理的に不可能

476:デフォルトの名無しさん
19/04/01 21:02:06.63 jyzymMUT.net
やりたくなったことは何度かある

477:デフォルトの名無しさん
19/04/02 01:27:31.42 imTVpGqL.net
default(T)ないのか・・・
こうしてみたけど何か改良点ある?
例外時にnullも返せないし例外時に返すためだけに引数にt入れてるんだが・・・
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.fasterxml.jackson.module.kotlin.readValue
class SJson {
companion object {
inline fun <reified T> toObject(json: String, t: T): T {
val mapper = jacksonObjectMapper()
try {
val obj = mapper.readValue<T>(json)
return obj
} catch (e: Exception) {
SLog.e(e.message.toString())
return t
}
}
}
}

478:デフォルトの名無しさん
19/04/02 07:53:18.35 JAcM/MrS.net
>>470
単にnullを返したいということなら戻り値を T? にすればいい

479:デフォルトの名無しさん
19/04/02 08:46:54.35 e4jQj1uZ.net
ObjectMapper って使い回してよかったと思う

480:デフォルトの名無しさん
19/04/02 09:36:52.02 imTVpGqL.net
>>471
T?にしたらnull返せたわサンクス
>>472
なるほどね

481:デフォルトの名無しさん
19/04/12 13:13:10.63 EBXnKzt9.net
Kotlin 1.3.30 released
URLリンク(blog.jetbrains.com)
KAPT関連の機能追加など
符号無し整数配列の機能追加など
Kotlin/Native
  mingw_x86サポート
  CocoaPodsとの実験的統合機能
  C相互運用改善


482:デフォルトの名無しさん
19/04/12 23:07:21.58 JX4xskgO.net
githubのrelease読んだけどめちゃくちゃ多かったな

483:デフォルトの名無しさん
19/04/13 02:06:40.85 hw3Eyeqa.net
ここからだとまだ 1.3.21 のままだね。
URLリンク(kotlinlang.org)
IntelliJ だと 1.3.30 にアップデートできたけど。

484:デフォルトの名無しさん
19/04/13 02:22:02.28 hw3Eyeqa.net
あれ? UInt 型の変数を String.format() で指定する時はどうするのかな?
%d は駄目だし。toString() してから %s 使えってか?

485:デフォルトの名無しさん
19/04/13 09:53:18.70 oqNH9LQH.net
>>477
そのまま%sでも使えるけどString.formatはそもそもKotlinでなく
Javaの機能(=Kotlin/JVM以外で使用不可)なので
単純な書式ならString Template使った方がいいよ
val n = 100u
println( "n=${n}" )

486:デフォルトの名無しさん
19/04/14 20:07:14.86 JuY/4ckm.net
UInt に関しては toLong() しちゃえば良いだけだと後で気づいたが、ULong の方はどうもならんね。
ULong.MAX_VALUE と Long.MAX_VALUE は10進数だと20桁と19桁で1桁違うので桁を考慮したフォーマットはこれを考慮する必要がある。
%20d とか %020d と書いても ULong については分かってくれないので自作する必要がある。

487:デフォルトの名無しさん
19/04/15 01:34:29.54 PzbTbQ3M.net
C#みたく${}内でフォーマットが使えれば一番なんだけどね…

488:デフォルトの名無しさん
19/04/15 17:43:26.97 3BglWTch.net
要望出せばそのうち出来るようになりそう

489:デフォルトの名無しさん
19/04/19 12:18:20.68 je8e8yU3.net
OracleJDK有料化でますますKotlin人口が増えるな

490:デフォルトの名無しさん
19/04/19 13:16:58.17 oa1dttvK.net
たしかASにjavaからkotlin変換がなかったっけ
あれで全て解決するような気がするんだけど

491:デフォルトの名無しさん
19/04/19 14:47:33.44 Z5+6w9VM.net
jdk有料化とかで騒いでいる奴いるけど
彼らにとってoraclejdkが唯一のjdkなのかな

492:デフォルトの名無しさん
19/04/19 14:57:46.07 /crv8Bf3.net
>>484
そうだよ
ついでに世界は五分前に始まった

493:デフォルトの名無しさん
19/04/19 17:40:48.18 xQzUZ1Zh.net
JDK有償化の話は何ら騒ぐようなことじゃなかったのに
Oracleの説明が手抜きだったからああなった
あとOpenJDK公式サイトの構成が酷く大部分がメンテされてないもの原因の一つ
例えば Groups > Adoption > Wiki > Adopt OpenJDK

494:デフォルトの名無しさん
19/04/19 17:46:39.55 xQzUZ1Zh.net
サイト管理者が違うんだろうけど
AdoptOpenJDKへのリンクをトップに置いとけばいいのに
OpenJDKのビルドインフラのメンバーが運用してるんだから

495:デフォルトの名無しさん
19/04/19 21:41:56.97 oXduz3ip.net
うちはAWSのやつに順次置き換えてるわ、名前が覚えにくいけど

496:デフォルトの名無しさん
19/04/19 21:50:42.00 aAzLpfHC.net
なによりJakartaEEが無能すぎる

497:デフォルトの名無しさん
19/04/19 22:34:55.70 hY3XsNGB.net
そこでjblendですよ

498:デフォルトの名無しさん
19/04/20 09:53:47.54 IaSD8GNU.net
>>453
おぉー同士。
当方、Visual Basicアプリ、iOSアプリの経験はあるが、Android経験ゼロです。
どうやらAndroidManifest.xmlに記載のActivityがプログラムのエントリーポイントだと解った所。
iOSとの比較で言えば、
Activity = ViewController,
wedgit = View,
Fragment = Container ViewController
AppDelegate = Application
って感じらしい。

499:デフォルトの名無しさん
19/04/20 11:40:44.23 IaSD8GNU.net
>>491
ちょいと違うかも!
Fragment = custom wedgit(user defined wedgit)
みたいだな。
さて、Java, Kotlin初心者なので、両者のコードの対応表が欲しいところだ。

500:デフォルトの名無しさん
19/04/20 11:43:32.64 IaSD8GNU.net
>>492
>Java, Kotlin
Overview of Kotlin and Comparison Between Kotlin and Java
URLリンク(www.xenonstack.com)


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch