JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1531818027/
探検
Kotlin 5
■ このスレッドは過去ログ倉庫に格納されています
2018/12/08(土) 20:29:41.41ID:oXOQORcd
160デフォルトの名無しさん
2019/01/25(金) 23:57:28.33ID:k0QCMDX+ ちょっと面白いと思ったのは、ConstraintLayout に対して
val background = findViewById<LinearLayout>(R.id.back) as LinearLayout
background.setBackgroundColor(Color.parseColor("#FF0000"))
これだと val background = 〜の行で ClassCastException で落ちるのに、
background.setBackgroundColor をコメントアウトすると落ちずに普通に動いちゃうのね
これは background が使われないなら background へキャストして代入する処理自体を kotlin が無効化しちゃうのかな
val background = findViewById<LinearLayout>(R.id.back) as LinearLayout
background.setBackgroundColor(Color.parseColor("#FF0000"))
これだと val background = 〜の行で ClassCastException で落ちるのに、
background.setBackgroundColor をコメントアウトすると落ちずに普通に動いちゃうのね
これは background が使われないなら background へキャストして代入する処理自体を kotlin が無効化しちゃうのかな
161デフォルトの名無しさん
2019/01/27(日) 18:18:09.78ID:jDwbvKDS いろいろな意見を参考にやってみました
原因
コンパイルエラーは出なかったけどIDが変なところをさしていて、カラー情報を書き込んだ瞬間に落ちていました。
対処1
actibity_main.xmに
android:id="@+id/back"を消して
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
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でした
ありがとうございました
原因
コンパイルエラーは出なかったけどIDが変なところをさしていて、カラー情報を書き込んだ瞬間に落ちていました。
対処1
actibity_main.xmに
android:id="@+id/back"を消して
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
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でした
ありがとうございました
162デフォルトの名無しさん
2019/01/27(日) 19:32:56.92ID:dhHHmXdZ163デフォルトの名無しさん
2019/01/27(日) 21:32:10.99ID:jv36ci7O >>140
Ktorやで
Ktorやで
164デフォルトの名無しさん
2019/01/28(月) 00:27:33.91ID:A5w6Cdea 圭太
165デフォルトの名無しさん
2019/01/28(月) 09:34:18.83ID:j8L/fU4R Ktorええよな、今作ってるAPIサーバーで使ってる。
Webアプリにはあんまり向かなそうだけど
Webアプリにはあんまり向かなそうだけど
166デフォルトの名無しさん
2019/01/28(月) 10:43:40.13ID:c8FVptT0 幸太
167デフォルトの名無しさん
2019/01/28(月) 10:51:26.03ID:qhu0cqfw 古都鈴
168デフォルトの名無しさん
2019/01/28(月) 18:09:48.33ID:YkAtt80R 昔、古都ひかるってAV女優が好きだったの思い出した
169デフォルトの名無しさん
2019/01/28(月) 18:25:17.41ID:ncjyAVYK ググったけどお前微妙な趣味してるな
170デフォルトの名無しさん
2019/01/28(月) 18:43:54.94ID:qhu0cqfw >>168
ワイも好きでした
ワイも好きでした
171デフォルトの名無しさん
2019/01/28(月) 18:44:53.31ID:SEDlCRnu >>165
Webアプリしようと思ってKtor勉強中なのだが、向いてないのか...
Webアプリしようと思ってKtor勉強中なのだが、向いてないのか...
172デフォルトの名無しさん
2019/01/28(月) 18:45:00.57ID:MtItNdsU 今から考えればそうだが
昔はあんなのでもレベル高かった気がする
あの頃のやつだと河井さくらとかいう人が文字通り面白かったし水野栞も良かった
今は顔面偏差値すごい底上げされてて嬉しい
昔はあんなのでもレベル高かった気がする
あの頃のやつだと河井さくらとかいう人が文字通り面白かったし水野栞も良かった
今は顔面偏差値すごい底上げされてて嬉しい
173デフォルトの名無しさん
2019/01/28(月) 18:54:36.48ID:qhu0cqfw 今でも通用すると思うで
174デフォルトの名無しさん
2019/01/28(月) 19:24:55.14ID:j8L/fU4R175デフォルトの名無しさん
2019/01/28(月) 19:28:08.60ID:ncjyAVYK >>171
Ktorはいわゆるマイクロフレームワークに分類されるフレームワークだから、ガチガチのWebアプリを作るのはめんどいよ
まあ認証やらセッション管理やらDBやらのことだから最初に一度作ってしまえば後は別に面倒なことはないけど
Ktorはいわゆるマイクロフレームワークに分類されるフレームワークだから、ガチガチのWebアプリを作るのはめんどいよ
まあ認証やらセッション管理やらDBやらのことだから最初に一度作ってしまえば後は別に面倒なことはないけど
176デフォルトの名無しさん
2019/01/29(火) 08:13:36.09ID:Yq72SlCs >>165
いいよね。SpringBootと棲み分けできそうやし。
ところでどんな構成(アーキテクチャ)で使ってる?
ワイはもうKtorならRepository無いほうがええような気がしてきてるんやが。
いいよね。SpringBootと棲み分けできそうやし。
ところでどんな構成(アーキテクチャ)で使ってる?
ワイはもうKtorならRepository無いほうがええような気がしてきてるんやが。
177デフォルトの名無しさん
2019/01/29(火) 08:36:23.24ID:Yq72SlCs https://ideone.com/Xghedx
ExposedではUserTable2に便利メソッドが生えるのでRepository分けても委譲とentity変換ばっかりになりそうだったから
それならModelクラスと同じ場所に置いて、DB変更時にミスりにくい方がいいかと思った。
こんな構成で作ってみてるんだけど、どう思う?
ExposedではUserTable2に便利メソッドが生えるのでRepository分けても委譲とentity変換ばっかりになりそうだったから
それならModelクラスと同じ場所に置いて、DB変更時にミスりにくい方がいいかと思った。
こんな構成で作ってみてるんだけど、どう思う?
178デフォルトの名無しさん
2019/01/29(火) 12:07:29.18ID:Ghu5z8kR >>177
その割り切った作りはいいと思う。特にチームが大きく無いならメリットの方が多いんじゃないかな。
俺はAPIサーバーと連動するプログラムも同時開発してて、共有できるものは共有してさせるためにクリーンアーキテクチャにしてるからrepositoryも含めてクラスはやたら多くなってるけども。
その割り切った作りはいいと思う。特にチームが大きく無いならメリットの方が多いんじゃないかな。
俺はAPIサーバーと連動するプログラムも同時開発してて、共有できるものは共有してさせるためにクリーンアーキテクチャにしてるからrepositoryも含めてクラスはやたら多くなってるけども。
179デフォルトの名無しさん
2019/01/29(火) 23:38:56.61ID:rUlqj1XI >177
Ktorみていて、データベース接続部分がないような気がしていたけど、やっぱりExposedを使うのか.
Ktorみていて、データベース接続部分がないような気がしていたけど、やっぱりExposedを使うのか.
180デフォルトの名無しさん
2019/01/30(水) 08:07:46.80ID:5baYxL1g181デフォルトの名無しさん
2019/01/30(水) 17:18:23.70ID:JsLx868V182デフォルトの名無しさん
2019/02/01(金) 00:51:36.05ID:HFNNmxMu >>145
ググラビティすき
ググラビティすき
183デフォルトの名無しさん
2019/02/01(金) 06:19:43.90ID:oyUXC//m ぐぐらびりてぃって日本だけかと思ってたら海外でも普通に使われてるのな
google(検索する)って動詞とセットで辞書に載っててわろたわw
google(検索する)って動詞とセットで辞書に載っててわろたわw
184デフォルトの名無しさん
2019/02/01(金) 12:52:22.08ID:5o/o/nGk 動詞か。とすると過去形が googled か。
185デフォルトの名無しさん
2019/02/01(金) 13:06:37.22ID:ad6+KOec むしろ日本よりも英語圏での方がよく使われてる気がする
海外のフォーラムとかで普通に見る
海外のフォーラムとかで普通に見る
186デフォルトの名無しさん
2019/02/01(金) 18:28:47.94ID:Oa2LgpWH んじゃヤフーでググれもあながち間違いじゃない?
ソニーのファミコン的な
ソニーのファミコン的な
187デフォルトの名無しさん
2019/02/01(金) 21:35:19.79ID:5o/o/nGk Infoseek と Exite もよろしく
188デフォルトの名無しさん
2019/02/02(土) 07:20:45.10ID:vIqKCsXY ビンガビリティ
強そう
強そう
189デフォルトの名無しさん
2019/02/02(土) 12:34:49.40ID:ecMf0cvm Anko使ってる?
190デフォルトの名無しさん
2019/02/02(土) 20:52:18.84ID:rNm5OL0i Unko?
191デフォルトの名無しさん
2019/02/02(土) 21:18:44.79ID:60g8Sasz 大体レイアウトとロジックが混在してるのは良くないねってことで
レイアウトはxnlファイルに分離するようにしたんだと思うんだけど
何でAnkoってまたレイアウトとロジックを混在させるようなことしてんの
時代に逆行してるだけでは
レイアウトはxnlファイルに分離するようにしたんだと思うんだけど
何でAnkoってまたレイアウトとロジックを混在させるようなことしてんの
時代に逆行してるだけでは
192デフォルトの名無しさん
2019/02/02(土) 21:38:35.91ID:mZCa7M9L >>191
アーキテクチャ上重要なのはビューとロジックの分離
一方で、レイアウトとロジックの分離というのはビューに閉じた話であり、
マークアップエンジニア(笑)とフロントエンドエンジニア(笑)の分業をしやすくするだけのものでしかない
フロントエンドエンジニアが十分有能でマークアップエンジニア(笑)の仕事も自分でこなせるなら分ける必要は全く無い
アーキテクチャ上重要なのはビューとロジックの分離
一方で、レイアウトとロジックの分離というのはビューに閉じた話であり、
マークアップエンジニア(笑)とフロントエンドエンジニア(笑)の分業をしやすくするだけのものでしかない
フロントエンドエンジニアが十分有能でマークアップエンジニア(笑)の仕事も自分でこなせるなら分ける必要は全く無い
193デフォルトの名無しさん
2019/02/02(土) 21:43:01.16ID:hUtwc62g 流行りのキーワード並べてドヤ顔
194デフォルトの名無しさん
2019/02/03(日) 07:45:41.73ID:gLy6KBGU レイアウトの中にロジックがダラダラ書かれたら見通し悪くてUnkoだけどそこは経験とコード規約とレビューで制御できる
適正なメソッド分割は主に人間の仕事であってライブラリーの責務ではない
XMLの欠点とDSLの利点はGitHubのWikiで説明されてる
設計開発にイチイチXML使うのは微妙じゃね?DSLとかいいよな!ってのは時流でもある
だから少なくとも時代に逆行しているだけということはない
適正なメソッド分割は主に人間の仕事であってライブラリーの責務ではない
XMLの欠点とDSLの利点はGitHubのWikiで説明されてる
設計開発にイチイチXML使うのは微妙じゃね?DSLとかいいよな!ってのは時流でもある
だから少なくとも時代に逆行しているだけということはない
195デフォルトの名無しさん
2019/02/03(日) 10:09:31.17ID:nQr97LtT いーや、Ankoは糞
196デフォルトの名無しさん
2019/02/03(日) 12:29:21.29ID:Wt38prvY anko味のunko
197デフォルトの名無しさん
2019/02/03(日) 12:36:56.63ID:FHrrfvzD unko味のankoとanko味のunko
198デフォルトの名無しさん
2019/02/03(日) 15:59:31.11ID:sWvJHh2u あんこ餅食いたくなってきたからスーパー行ってくる
199デフォルトの名無しさん
2019/02/03(日) 18:35:49.59ID:FHrrfvzD Anko程の糞はない
200デフォルトの名無しさん
2019/02/03(日) 21:27:31.59ID:WjHZzJrh 気になってるんやがkotlin nativeが完成したらgoは駆逐できるんやろか。
それともシングルバイナリやら並列化でgoのメリット残るんやろか。
それともシングルバイナリやら並列化でgoのメリット残るんやろか。
201デフォルトの名無しさん
2019/02/03(日) 21:58:54.28ID:OYz8YI9S202デフォルトの名無しさん
2019/02/03(日) 22:10:09.65ID:WjHZzJrh マジかあ。Scala状態は残念やのー。
俺にキラーアプリ作れるような力があればなぁ。。
俺にキラーアプリ作れるような力があればなぁ。。
203デフォルトの名無しさん
2019/02/03(日) 22:19:22.36ID:WjHZzJrh githubでkotlin-native使ってるプロジェクト探してみたけど、確かにあんまり盛り上がってる感じではないね。
今作ってるクソアプリが一段落ついたら何か作ってみよう。
今作ってるクソアプリが一段落ついたら何か作ってみよう。
204デフォルトの名無しさん
2019/02/03(日) 22:43:39.24ID:0oNu2+nX アプリよりFWだよな
205デフォルトの名無しさん
2019/02/03(日) 22:49:54.08ID:OYz8YI9S 「オーケーグーグル、エロくて楽しいアプリ作って」でエロくて楽しいkotlin nativeアプリのソースが生成されるAIを作れば流行る
206デフォルトの名無しさん
2019/02/03(日) 23:03:35.29ID:hpvKsGCb Kotlin/Native自体は現在進行中のSubstrate VMが出来上がるとやや辛い立ち位置になる
でもKotlin全体としては間接的にエコシステムが大きく強化されるし
Kotlin/Nativeから「Kotlin with Substrate VM」への移行は
性質的に割と容易なものになる期待もあるから使っても大丈夫だと思う
補足だけど Substrate VM はOracle主導のオープンソースプロジェクトGraalの一部で
JavaバイトコードをAOTするもの、
これによりjavaパッケージが使えるKotlin/JVMのままネイティブ化出来るようになる
Linux向けは出来ていてWindowsやiOSなどはまだこれから
でもKotlin全体としては間接的にエコシステムが大きく強化されるし
Kotlin/Nativeから「Kotlin with Substrate VM」への移行は
性質的に割と容易なものになる期待もあるから使っても大丈夫だと思う
補足だけど Substrate VM はOracle主導のオープンソースプロジェクトGraalの一部で
JavaバイトコードをAOTするもの、
これによりjavaパッケージが使えるKotlin/JVMのままネイティブ化出来るようになる
Linux向けは出来ていてWindowsやiOSなどはまだこれから
207デフォルトの名無しさん
2019/02/03(日) 23:43:07.23ID:hpvKsGCb ちなみにAndroid Runtimeも同様にAOTしている
こっちはJDKをGoogleが好きなように取捨選択してるのでJava互換性テストは通らない
Android Runtimeの技術を利用してJava(Kotlin/JVM含む)からiOS用のネイティブを生成してるのが
RoboVMやMulti-OS Engine
Substrate VMはこれら(Kotlin/Native含む)に対して
後追いだけどOpenJDKフルサポートのAOT、ということになる
出来上がるまでまだかなりの時間が掛かりそうだけど
こっちはJDKをGoogleが好きなように取捨選択してるのでJava互換性テストは通らない
Android Runtimeの技術を利用してJava(Kotlin/JVM含む)からiOS用のネイティブを生成してるのが
RoboVMやMulti-OS Engine
Substrate VMはこれら(Kotlin/Native含む)に対して
後追いだけどOpenJDKフルサポートのAOT、ということになる
出来上がるまでまだかなりの時間が掛かりそうだけど
208デフォルトの名無しさん
2019/02/04(月) 00:38:33.17ID:udiwpstp 結局Java版Xamarinを作ろうとしてるだけだな
目的不在で技術だけが独り歩きしてる感すごい
目的不在で技術だけが独り歩きしてる感すごい
209デフォルトの名無しさん
2019/02/04(月) 06:16:54.78ID:jDY9Ysuj >>200
無理だね。というかそもそもGoの得意分野とKotlin(native)の得意分野がかぶってないから現時点であまり競合してない
無理だね。というかそもそもGoの得意分野とKotlin(native)の得意分野がかぶってないから現時点であまり競合してない
210デフォルトの名無しさん
2019/02/04(月) 08:21:30.46ID:+iZnVKUh >>209
そうなんか。kotlin nativeの得意分野って何なんや?
そうなんか。kotlin nativeの得意分野って何なんや?
211デフォルトの名無しさん
2019/02/04(月) 10:20:12.21ID:RwYNgFWa >>208
Graalの主目的はHotSpotのJITコンパイラ(C2)の刷新
20年以上前に設計され、修正が積み上げられたC++コードなので
保守し辛く新技術の導入も困難とのこと
JITコンパイラ(Graal本体)はインタプリタやAOTとも関連が深く、
それらも考慮したエコシステムとしてサブプロジェクトを内包してる
Truffle / Sulong / Substrate VM
Graalの主目的はHotSpotのJITコンパイラ(C2)の刷新
20年以上前に設計され、修正が積み上げられたC++コードなので
保守し辛く新技術の導入も困難とのこと
JITコンパイラ(Graal本体)はインタプリタやAOTとも関連が深く、
それらも考慮したエコシステムとしてサブプロジェクトを内包してる
Truffle / Sulong / Substrate VM
212デフォルトの名無しさん
2019/02/04(月) 10:38:08.20ID:RwYNgFWa >>210
Kotlinの対応プラットフォームを広げるものだから
強いて言うならKotlin/JVMと同じく通常アプリでは
Goは並列処理や低レイテンシGC(リアルタイム用途)など
システム寄りが得意
Kotlinの対応プラットフォームを広げるものだから
強いて言うならKotlin/JVMと同じく通常アプリでは
Goは並列処理や低レイテンシGC(リアルタイム用途)など
システム寄りが得意
213デフォルトの名無しさん
2019/02/04(月) 12:40:41.74ID:Mgc+6WQD Kotlin nativeは悪く言えば現状では得意分野などはっきり言って存在しないし、良く言えばこれから何に使ってもいいとも言える
Goの代わりに使うことももちろん可能
Goの代わりに使うことももちろん可能
214デフォルトの名無しさん
2019/02/04(月) 20:20:46.75ID:nyJZm1CJ Ktor以上に急上昇してるJavalinってFWお前ら使ってる?
215デフォルトの名無しさん
2019/02/04(月) 22:34:50.26ID:QEUSQVw8 使ってないし知らない
216デフォルトの名無しさん
2019/02/05(火) 06:33:03.96ID:ZLbI9faD >>214
使ったら竜騎士とかにクラスチェンジできるかな
使ったら竜騎士とかにクラスチェンジできるかな
217デフォルトの名無しさん
2019/02/05(火) 06:59:09.94ID:+mMHH6yh マジで聞いたことすらなかった
悪くなさそうだけど、英語も含めて情報が少なすぎて趣味以外には使えないかな
悪くなさそうだけど、英語も含めて情報が少なすぎて趣味以外には使えないかな
218デフォルトの名無しさん
2019/02/05(火) 07:02:18.31ID:+mMHH6yh 軽く調べた感じだからよく分かってないんだけど、これ例えばSparkと比べて何が良いの?
219デフォルトの名無しさん
2019/02/05(火) 09:02:22.82ID:855O/xU5 Kotlin を今のプロジェクトに使いたいけど、eclipse とか言う糞IDE使ってて相性悪すぎて笑えない
SWT とか JFace とかでUI作ってるから、eclipse を外すのは無理だし
SWT とか JFace とかでUI作ってるから、eclipse を外すのは無理だし
220デフォルトの名無しさん
2019/02/05(火) 09:40:26.01ID:NCwCR2JI ググると槍投げ画像が沢山出てくるな・・・
221デフォルトの名無しさん
2019/02/05(火) 10:08:44.38ID:Fs+UH34C222デフォルトの名無しさん
2019/02/05(火) 10:17:58.97ID:LEHFEUGy >>216
宇宙刑事っぽさもあるし、使うと風呂釜が綺麗になって身体が芯からあたたまりそうな感じもする
宇宙刑事っぽさもあるし、使うと風呂釜が綺麗になって身体が芯からあたたまりそうな感じもする
223デフォルトの名無しさん
2019/02/05(火) 10:32:30.10ID:+mMHH6yh >>219
UI作るときとことりん書く時でIDE使い分ければいいんでないの?
UI作るときとことりん書く時でIDE使い分ければいいんでないの?
224デフォルトの名無しさん
2019/02/05(火) 10:32:56.86ID:+mMHH6yh225デフォルトの名無しさん
2019/02/05(火) 11:21:10.88ID:jB1piIf6 >>216
ガリで
ガリで
226デフォルトの名無しさん
2019/02/05(火) 11:27:24.21ID:NCwCR2JI 宇宙刑事 Javalin
227デフォルトの名無しさん
2019/02/05(火) 12:13:00.65ID:nvQ1xa5u やっぱJavanだろ
228デフォルトの名無しさん
2019/02/05(火) 12:24:17.71ID:ryDpasJz Javalinの半分はやさしさで出来ています。
229デフォルトの名無しさん
2019/02/05(火) 12:42:55.22ID:NCwCR2JI リン付ければなんでも可愛らしくなると思いやがってそうはいかねえぞべらんめえ ←江戸っ子
230デフォルトの名無しさん
2019/02/05(火) 15:01:18.53ID:PldLlsCY > ←江戸っ子
ウザっ
ウザっ
231デフォルトの名無しさん
2019/02/05(火) 15:25:14.63ID:NCwCR2JI うざりん
232デフォルトの名無しさん
2019/02/06(水) 19:35:52.56ID:59jOjkSQ 上でシステム系にはGoみたいに書かれてるんだけど、kotlin/nativeはGoより遅いのかな。
現状ではそうなのかも知れないけど、最終的にはGoと同等の速度が出せるポテンシャル(仕組み)だと
思ってるんだけどそうでもないの?
現状ではそうなのかも知れないけど、最終的にはGoと同等の速度が出せるポテンシャル(仕組み)だと
思ってるんだけどそうでもないの?
233デフォルトの名無しさん
2019/02/06(水) 19:49:42.95ID:nvZvChxt goに勝つのは流石に無理じゃ?
234デフォルトの名無しさん
2019/02/06(水) 20:35:25.96ID:gjOdQxAx Goに比べたら遥かに複雑怪奇な言語だから最適化は不利だろう
JVMの挙動をエミュレーションするための無駄な処理は少なからず必要だろうし
JVMの挙動をエミュレーションするための無駄な処理は少なからず必要だろうし
235デフォルトの名無しさん
2019/02/07(木) 00:37:31.07ID:UFwIxg8c 1 c
2 go
5 jvm
10 script系
3くらいいける?
2 go
5 jvm
10 script系
3くらいいける?
236デフォルトの名無しさん
2019/02/07(木) 05:59:54.51ID:Ftq4Fy0N237デフォルトの名無しさん
2019/02/07(木) 07:33:55.52ID:ygKhuk/7238デフォルトの名無しさん
2019/02/07(木) 08:43:07.10ID:qMU5zT+q なんでRustはあんなに速いん?言語の抽象度は同じくらいやろ?
239デフォルトの名無しさん
2019/02/07(木) 10:01:05.59ID:ygKhuk/7240デフォルトの名無しさん
2019/02/07(木) 10:55:21.09ID:esduY2Xd Goはフットプリントも小さいからな。
C++だと、iostreamを静的リンクしただけでもそこそこ大きくなるのに。
C++だと、iostreamを静的リンクしただけでもそこそこ大きくなるのに。
241デフォルトの名無しさん
2019/02/07(木) 12:43:04.54ID:nkNDSe3E 上で1..10の速さ書いたんやけどあれは実測じゃなくて速さランクのイメージや。
go<kotlin native<<jvm<<壁<<script言語
こうなるなら納得なんやけど、現実には
kotlin native ≒ jvmなの?
最適化されたらgoに迫ると思い込んでるんやけどそんな甘くないんかな。
go<kotlin native<<jvm<<壁<<script言語
こうなるなら納得なんやけど、現実には
kotlin native ≒ jvmなの?
最適化されたらgoに迫ると思い込んでるんやけどそんな甘くないんかな。
242デフォルトの名無しさん
2019/02/07(木) 13:44:29.30ID:Ftq4Fy0N 最適化できたらそらそうだけど、その最適化がどこまで出来るかどうかはお天道様にしか分からない
243デフォルトの名無しさん
2019/02/07(木) 14:46:10.65ID:nkNDSe3E それもそうやね。大人しく半年か1年くらい待ってみるわ
244デフォルトの名無しさん
2019/02/07(木) 14:47:12.25ID:ygKhuk/7 コンパイラの頑張り次第で Go ≒ Kotlin/Native まで行ける可能性はある
ベンチマークでは C ≒ Rust << Go ≒ JVM
Rust vs Go https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/rust-go.html
Go vs Java https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/go.html
しかしGCの性質の違い、JVM起動時間、JIT、並列処理サポートなどにより
各ユースケースに対する適性は速度だけでは決まらない
ベンチマークでは C ≒ Rust << Go ≒ JVM
Rust vs Go https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/rust-go.html
Go vs Java https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/go.html
しかしGCの性質の違い、JVM起動時間、JIT、並列処理サポートなどにより
各ユースケースに対する適性は速度だけでは決まらない
245デフォルトの名無しさん
2019/02/08(金) 16:17:29.13ID:nPWMA0BU 3桁ごとにカンマ打つには、
val str= "123456"
println( str.format("%,d"))
想定では、123,456のはずが123456になる
使い方間違ってるかな?
val str= "123456"
println( str.format("%,d"))
想定では、123,456のはずが123456になる
使い方間違ってるかな?
246デフォルトの名無しさん
2019/02/08(金) 17:15:55.53ID:3DPCoowD 逆じゃね?
247デフォルトの名無しさん
2019/02/08(金) 18:09:56.46ID:nPWMA0BU 逆+Intでないとダメみたい
BigDecimal放り込んだら勝手に12,345.6789みたいになればと思ったんだけど、自分で作るの面倒で信用ならん
BigDecimal放り込んだら勝手に12,345.6789みたいになればと思ったんだけど、自分で作るの面倒で信用ならん
248デフォルトの名無しさん
2019/02/08(金) 18:45:11.42ID:MkVUfclC 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}")
}
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}")
}
249デフォルトの名無しさん
2019/02/08(金) 19:35:10.36ID:MkVUfclC ごめんよく見たら丸められてたから訂正
https://ideone.com/AvbxFT
https://ideone.com/AvbxFT
250デフォルトの名無しさん
2019/02/08(金) 19:59:36.92ID:nPWMA0BU >249
"."探して、整数と小数点以下に分けて整数部分にカンマ打ってから合体させようとしこしこ作ってたら別のアイデア出てた
ありがと
"."探して、整数と小数点以下に分けて整数部分にカンマ打ってから合体させようとしこしこ作ってたら別のアイデア出てた
ありがと
251デフォルトの名無しさん
2019/02/09(土) 06:09:56.82ID:6/bHpQ6m locale によってはカンマが3桁区切りではないかも知れないし記号がカンマではないかも知れないので
こうやって自分でやっちゃった方が良いのでは?
println(java.text.DecimalFormat("#,##0.000").format(java.math.BigDecimal("1234567890.1235"))) // 1,234,567,890.124
こうやって自分でやっちゃった方が良いのでは?
println(java.text.DecimalFormat("#,##0.000").format(java.math.BigDecimal("1234567890.1235"))) // 1,234,567,890.124
252デフォルトの名無しさん
2019/02/09(土) 07:35:37.20ID:fJwH+mSX >>251
ロケールに従わず常にカンマにしたいという意図ならそれだとそぐわないと思う
DecimalFormatに与えたカンマはカンマという文字ではなくグループ区切り子なのでロケールに応じた文字で出力されるよ
ロケールに従わず常にカンマにしたいという意図ならそれだとそぐわないと思う
DecimalFormatに与えたカンマはカンマという文字ではなくグループ区切り子なのでロケールに応じた文字で出力されるよ
253デフォルトの名無しさん
2019/02/10(日) 17:34:05.13ID:BbTEeZaP 日本, アメリカ, イギリス 他
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
空白を小数区切りに使う国が無いことと、ポイントとカンマの各国のばらつきから
読み取り間違いを避けるための妥協案のようなもの
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
空白を小数区切りに使う国が無いことと、ポイントとカンマの各国のばらつきから
読み取り間違いを避けるための妥協案のようなもの
254デフォルトの名無しさん
2019/02/10(日) 17:41:28.40ID:BbTEeZaP おまけ
Ruby, Java, Kotlin 他
1 = 1.000 < 10 < 1_000 = 1000
C++
1 = 1.000 < 10 < 1'000 = 1000
アンダースコアをユーザー定義リテラル用に使っていたため
Ruby, Java, Kotlin 他
1 = 1.000 < 10 < 1_000 = 1000
C++
1 = 1.000 < 10 < 1'000 = 1000
アンダースコアをユーザー定義リテラル用に使っていたため
255デフォルトの名無しさん
2019/02/10(日) 18:10:30.74ID:6jFJUgix そうか。じゃあグループセパレータを自分でカンマにセットしとかないと確実にカンマにはならないってことだな。
256デフォルトの名無しさん
2019/02/12(火) 05:43:38.35ID:xDY2FToe Java全然書いたことないんだけどJavaのこと調べてたらこの言語に辿り着いた
Android公式言語とのことだけど、Androidアプリ開発以外の用途でJavaでやることもKotlinで出来るの?
もうJavaじゃなくてKotlin学んだほうがいい?
PythonとCしか書けない
Android公式言語とのことだけど、Androidアプリ開発以外の用途でJavaでやることもKotlinで出来るの?
もうJavaじゃなくてKotlin学んだほうがいい?
PythonとCしか書けない
257デフォルトの名無しさん
2019/02/12(火) 05:56:17.28ID:SvKCMiwA おわこん
258デフォルトの名無しさん
2019/02/12(火) 06:15:00.09ID:PanSk5rI >>256
> JavaでやることもKotlinで出来るの?
できる。
> もうJavaじゃなくてKotlin学んだほうがいい?
JavaをやってからKotlinを学んだほうがいいけど、PythonとCができるなら、Kotlinから始めるのもありかも。
> JavaでやることもKotlinで出来るの?
できる。
> もうJavaじゃなくてKotlin学んだほうがいい?
JavaをやってからKotlinを学んだほうがいいけど、PythonとCができるなら、Kotlinから始めるのもありかも。
259デフォルトの名無しさん
2019/02/12(火) 08:01:07.40ID:zazJl4ej >>256
APIリファレンス読むためにJavaのメソッド定義の構文を知っておくくらいで
Kotlinをメインに学んで良いと思うよ
成果物はJavaクラスファイル(※)なので出来ることは同じ
やろうと思えば1プロジェクトで混在しても普通にお互い呼べる
※Kotlin/JS, Kotin/Nativeとかの別形式もある
APIリファレンス読むためにJavaのメソッド定義の構文を知っておくくらいで
Kotlinをメインに学んで良いと思うよ
成果物はJavaクラスファイル(※)なので出来ることは同じ
やろうと思えば1プロジェクトで混在しても普通にお互い呼べる
※Kotlin/JS, Kotin/Nativeとかの別形式もある
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「脅迫だ」国分太一に同情論 音声データ削除要求など日テレの対応を疑問視する声ネットに噴出「それこそコンプラ違反では」 [muffin★]
- 中国と対話で良い関係つくるのが責任と首相 ★4 [少考さん★]
- 【国際法を無視】日本での「中華人民共和国に台湾問題を論じる資格なし」との声に 中国外交部が厳しく反論… [BFU★]
- 生クリームだけの真っ白なクリスマスケーキ 大手メーカーが販売、その理由は…フルーツなしで価格は半額以下に ★3 [おっさん友の会★]
- 首相答弁「スパイ防止法、外国代理人登録法、ロビー活動公開法などについて速やかに法案を策定する」 [1ゲットロボ★]
- 〈シカが泣いている…〉奈良が“観光崩壊”危機…外国人観光客は44.5万人、宿泊客単価は3万1千円 [1ゲットロボ★]
- 【実況】博衣こよりのえちえちSSholox4周年切り抜き鑑賞🧪★3
- 【正論】高市さん「原因は野党のしつこい質問。従来の答弁の繰り返しは国会を空転させると考えた」立憲岡田、議員辞職不可避か [519511584]
- 【悲報】コテ値引きシール「ジャップって言う奴はクズなんだ!何人だ!臭い!!」42歳「あのね。ジャップなんだよね。」 [974680522]
- 【悲報】東京都、インバウンド対策で宿泊税、3%の定率制、上限なし [733893279]
- 【石破悲報】現政権に異を唱える石破に対し地元有権者から懸念の声…「後ろから…」 [993451824]
- ヤンジャン新人漫画大賞、入賞作品のAI絵疑惑で大荒れ😄😄😄 高市早苗要素あり [175344491]
