X



Kotlin 5

■ このスレッドは過去ログ倉庫に格納されています
0794デフォルトの名無しさん
垢版 |
2019/05/27(月) 12:03:53.57ID:j1Bw0s67
emptyListってシングルトンだから生成コストがないってのは分かるんだけど、
今時その程度の生成コストを気にする場面ってそんなない気もする
富豪的プログラミングなんて言われるかもしれんけど、もはやそれ自体死語だしな
0795デフォルトの名無しさん
垢版 |
2019/05/27(月) 12:57:29.86ID:ffeERoRR
>>793
ローカルならそもそも悩まない。

val且つmutableにして都度addallするか、var且つimmutableで丸ごと置き換えるか、はケースバイケースで。
0797デフォルトの名無しさん
垢版 |
2019/05/27(月) 14:33:20.72ID:24xkxhR7
プロパティの話ね
mutableにしてもそもそも生成は別のところでListごと作るからmutableだろうがListだろうが関係ない
当然後から代入するからvalにはできない
0799デフォルトの名無しさん
垢版 |
2019/05/27(月) 23:34:59.34ID:s432cqVY
サーバーサイドばっかだからかもしれんがプロパティにMutableListを使うことがそうそう無い
データクラスのコンストラクタ引数に val list: List はよくある
0801デフォルトの名無しさん
垢版 |
2019/05/28(火) 05:58:36.43ID:sEeuOOEX
サーバーサイドかどうか関係なくない?
俺はよく使うよ。例えばツリー構造になってるデータを読み込む処理で自分の子ノードのリストを持つため、とか、これ昨日書いた。
0806デフォルトの名無しさん
垢版 |
2019/05/29(水) 01:39:37.10ID:KhqOXHGU
Kotlinに、SwiftのExpressibleByStringLiteralみたいなのが無くて本当に良かったと思う
あれは呪いだ
0807デフォルトの名無しさん
垢版 |
2019/05/29(水) 02:17:57.59ID:Qb2i3AGM
>>802 は、IntelljIDEA か Android Studio 使ってないのかね?
警告消して緑色になるようがんばれ
おれは警告にどうしても従えない場合でも、アノテーション使って絶対緑色にする
0811デフォルトの名無しさん
垢版 |
2019/05/31(金) 14:21:13.30ID:Jjn+Dq6k
>>806
PHPだと1リクエストごとにFWの初期化処理を行っているのが遅い理由でしょ
特にLaravelは読み込むファイルも多いし重い

他の言語だとアプリケーションサーバ起動時に一回だけ初期化処理をするので1リクエストあたりの処理が少ない

PHPでもSwooleやReactPHPなどを使えば同じことはできるけど、まあ既存のFWを乗っけてもバグりやすいだろうね
0815デフォルトの名無しさん
垢版 |
2019/06/01(土) 11:37:30.64ID:OCCxHMSa
android用途:元気
サーバーサイド用途:全く流行らず
kotlin/native: 瀕死
kotlin.js: 死亡

現状こんな認識なんだけど合ってる?
0818デフォルトの名無しさん
垢版 |
2019/06/01(土) 14:59:33.17ID:7bqJsR1f
身内のGraalにトドメ刺されて終わりだろ。
0821デフォルトの名無しさん
垢版 |
2019/06/01(土) 16:55:01.52ID:uuPo6pHP
nativeはまだ作成中みたいな感じなので瀕死とは違うと思うが
0822デフォルトの名無しさん
垢版 |
2019/06/01(土) 17:46:40.68ID:xELmXxSQ
Kotlinを勉強し始めたんだけどさあ
これってレファレンスを見てエディタで打ち込む->kotlincでコンパイル=>javaで動かす・・・・ってのを繰り返さないとならんの?
Swiftに言う「swift asdf.swift」みたいなのに相当するコマンドはないのかしら
0823デフォルトの名無しさん
垢版 |
2019/06/01(土) 17:49:07.58ID:FZbdo0L3
そうか。合ってるか。。

サーバーサイド kotlinが流行ってないのは何でなんだろ。
現状問題なく使えるように思うけど、ほとんど開発案件出てこないね。
0825デフォルトの名無しさん
垢版 |
2019/06/01(土) 17:51:43.68ID:FZbdo0L3
>>822
まずintellij(IDE)をインストールしないと始まらない
0826デフォルトの名無しさん
垢版 |
2019/06/01(土) 18:32:24.41ID:7x5on0RN
このスレ定期的にkotlinc使う奴が出てくるよな
どこぞの入門サイトに書いてあるんかね
どう考えてもintellij使う前提の言語なのに
0830デフォルトの名無しさん
垢版 |
2019/06/01(土) 22:10:50.15ID:GQlgchjf
YouTube に動画をアップしてる、KENTA でも、
サーバーサイドの、Elixir, Kotlin などを受注するのに苦労してる。
彼は、変わった言語の仕事に、こだわる

こういう仕事は、滅多に出回らないから、ツテから入るのかも。
KENTAは千以上、名刺交換してるとか

彼は、GUI は嫌いらしい。
画面の修正で、時間を食うのが、嫌いらしい

数ピクセル、位置が違うとか、
修正したら、違う人が、元に戻せと言ったりw

GUI は、技術を学ぶ、時間効率が悪いから、嫌いらしい。
だから、サーバーサイドの仕事を取る
0835デフォルトの名無しさん
垢版 |
2019/06/02(日) 01:28:53.78ID:/69WsxDT
>>830
「、」で区切り過ぎ。その文章の場合は全ての「、」を削除した方が読みやすい。
0836デフォルトの名無しさん
垢版 |
2019/06/02(日) 01:33:22.19ID:/69WsxDT
>>822
IntelliJ 使った方が楽だが、kotlinc でコマンドラインでやるとしたら最後の実行は kotlin コマンドでできるよ。

kotlinc xxx.kt
kotlin XxxKt

みたいにする。
kotlin コマンドは環境変数セットしたりして最終的に java を動かす。
0837デフォルトの名無しさん
垢版 |
2019/06/02(日) 10:05:23.69ID:80ueDuoq
で、サーバサイドkotlinのこれからについての認識なんやけど合ってる?

・実戦投入可能なレベルに達している

・goが選ばれるような案件では以下の点でgoに勝てないので流行らない
→粒度の細かいマイクロサービス:deploy容易性がgoに劣る、kotlinの抽象力が活き辛い
→aws lambdaとか:上記に加えてjvmが温まるまで遅い

・モノリシック案件のbetter javaとしては第一候補
→フルスタックFWが有望でspring bootが最有力
→必然的にSIerの仕事が多くなる

・SIerが最重要視するのは実績
→実績を積むには待つしかない
0838デフォルトの名無しさん
垢版 |
2019/06/02(日) 10:08:10.88ID:80ueDuoq
kotlin/nativeは「hello world」を「hello world!」にするだけでビルドに7sかかるんやけど。。
こんなもんなん?何かやり方間違ってるのかな。
0839デフォルトの名無しさん
垢版 |
2019/06/02(日) 10:25:57.88ID:klo8W86L
>>837
受託の業界は知らんけど、WEB業界なら今までJavaやらScalaやら使ってたところはもう大体使えるところから使い始めてる。
ただそもそも日本のWEB業界ではJavaが不人気過ぎてどうしてもニッチの部類に留まってるわな。

生存戦略としてはとにかく仕事の多いRailsやらをやるか、仕事は少ないが応募者も少ないKotlinを極めるか、まあどちらでもありっちゃあり
どうせ5年後には違う技術が台頭してるし
0841デフォルトの名無しさん
垢版 |
2019/06/02(日) 12:06:59.02ID:TDNwqEN9
sunが震え声で
ハードの進化でJVMのパフォーマンスは向上していくから…
って言ってから何年経ったのか
0842デフォルトの名無しさん
垢版 |
2019/06/02(日) 12:13:33.66ID:UpSyXruc
PHPで作ってたけどパフォーマンスが出なくなって来たからJavaで作り直す、みたいなのはよく聞くな
同じ理由で昔はRailsからJavaってのもあったけど最近のRailsは速いからあまり聞かなくなった
0844デフォルトの名無しさん
垢版 |
2019/06/02(日) 14:47:02.52ID:530n/55/
Rubyキチ、無視しろ。
0846デフォルトの名無しさん
垢版 |
2019/06/02(日) 15:29:19.09ID:sHGNUntV
新規でサーバ側でkotlinで作ってもらったけど
少数派なのか。
まあ、何ができるかが大事だからいいけど、流行に左右されるのは厳しいね。
0847デフォルトの名無しさん
垢版 |
2019/06/02(日) 16:54:37.31ID:/69WsxDT
>>841
20年ぐらい?
まあ確かにあのWindows95だの98だので動かしていた時よりは速くなったけどね。
0848デフォルトの名無しさん
垢版 |
2019/06/02(日) 21:44:03.80ID:xSU5v8RX
結構Java嫌いな人多いんだね。自分もJavaは好きじゃないけど。

>>840
Javaが検討される規模のWEBサービス作る時にJVM以外の選択肢って例えば何かあるのかな?

>>841
Javaの出始めと比べたら劇的に進化してSunの言う通りになったと思うけどな。
Java離脱組もパフォーマンスじゃなくて開発効率やサービスの拡張性を気にしてる。

>>846
少数派なのはそうなんだけど、依頼側から見たサーバーサイドkotlinのデメリットは
・現状では開発者が少ない=人が集まらないことによる遅延、開発者単価
・実績がない=未知の何かが起こるかも
なのでローンチ出来てる時点でデメリットは乗り越えているし、
Android界隈では確固たる位置にいるからこの先メンテ人材が見つからない心配もない。(←ここが流行に左右されて困るポイント)
悪くない選択だったと思うんだけど
0849デフォルトの名無しさん
垢版 |
2019/06/03(月) 23:56:34.84ID:JEDLjuFd
JVMの性能は実行時最適化が強みだから
ベンチマーク系は不利
巨大なプログラムで長時間の動作において有利なはず
にもかかわらずベンチマークでもそこそこ速いんだからすごいのでは
0850デフォルトの名無しさん
垢版 |
2019/06/04(火) 00:08:19.43ID:8w4/id00
いや実行時最適化は繰り返し実行される処理に対して効くからベンチマークには強いぞ
立ち上がりの遅さとか、ベンチマークに現れない体感的な部分がJVMは遅い
事実上サーバー専用だから仕方ないが
0851デフォルトの名無しさん
垢版 |
2019/06/04(火) 02:28:23.05ID:Xu6aOKJJ
JVMはガーベッジコレクションでスローダウンするから未だに使い物にならない。
一番大事な時に直撃で機会損失が億いくと違約金も凄まじかったぜ。
0852デフォルトの名無しさん
垢版 |
2019/06/04(火) 06:40:04.13ID:1zKcF7rp
果てしなく嘘くさいな
シビアなシステムでどれだけ使われてると思ってるんだ
0854デフォルトの名無しさん
垢版 |
2019/06/04(火) 08:08:31.64ID:LGhp/e10
業務用Javaに関しては新機能が使われずなおかつアプデなしで10年経過とか普通にあるからな
それはそれでもいいから対外的にJava語るなって話なんだが
0855デフォルトの名無しさん
垢版 |
2019/06/04(火) 08:20:13.77ID:1zKcF7rp
例のみずほのサグラダファミリアもJava1.5という噂を聞いたけどマジなんかな
0856デフォルトの名無しさん
垢版 |
2019/06/04(火) 10:17:08.75ID:prB+PlYz
ネイティブでgc使わないようなコードも出せるようになればなんとかなりそうな気もするが、そうするとライブラリもそれ用のを使わないとダメか。
0857デフォルトの名無しさん
垢版 |
2019/06/04(火) 11:48:04.89ID:+GlxYcps
graalvmでできるぞ
0861デフォルトの名無しさん
垢版 |
2019/06/04(火) 19:32:40.19ID:+GlxYcps
jvmの引数でもGCのラグを解消できるし
最新のZGCというのも出てきた
0862デフォルトの名無しさん
垢版 |
2019/06/04(火) 23:57:50.92ID:FDlJBmR7
JVMというかspring fwの起動が糞遅いのは分かる
2.0になって少しましになったけど…
0866デフォルトの名無しさん
垢版 |
2019/06/05(水) 10:13:38.35ID:gaDZjJ4I
>>876
ktorはマイクロサービス向き
kotlin/jvmはモノリシック向き
kotlin nativeが流行らないと無理やと思うで
0867デフォルトの名無しさん
垢版 |
2019/06/05(水) 13:28:31.33ID:B3mDB84e
>>864
コンパイル時間は長いと思うけど、アプリ本体は変わらん。
というかそもそもspring本体はJavaだし。
0869デフォルトの名無しさん
垢版 |
2019/06/05(水) 21:56:16.86ID:Nwu/rjvu
>>868
kotlin/jvmはJava代替でSIerによるフルスタックFW&モノリシック開発が向いている
kotlin/nativeはGo代替を目指していてWeb系企業のマイクロサービスが向いている
kotlin/jvm+ktorではGOに勝てるユースケースが無いので
ktor流行にはkotlin/nativeの流行も必須というのが自分の主張。
まあ異論はあると思う。ちなみにkotlin/nativeは応援してるしktorも流行ってほしい
0870デフォルトの名無しさん
垢版 |
2019/06/06(木) 00:14:12.91ID:crlHsY/g
>>822
vim + quickrunで動くよ!
kotlinc, javaなんてコマンドを打つことはしない。
0871デフォルトの名無しさん
垢版 |
2019/06/06(木) 05:38:57.73ID:AHPkvIjM
>>869
言ってることは分からなくもない。
ただ視野が狭すぎるというか、そんな可能性を狭めなくていいと思う。
0874デフォルトの名無しさん
垢版 |
2019/06/06(木) 10:59:43.79ID:72rhxhib
次のリリースでkotlin/nativeのbuild時間が改善されそう
リリースいつなんだろ。。
0876デフォルトの名無しさん
垢版 |
2019/06/06(木) 20:06:45.07ID:UUcOWqLu
kotlin/nativeはGraal(AOT)に勝てるかどうかすら怪しいのに、夢見過ぎだろ。
0879デフォルトの名無しさん
垢版 |
2019/06/07(金) 08:15:36.89ID:XGKtoEgu
>>876
AArch64の対応が進んではいるもののGraalがiOSに対応するのは当分先
Kotlin/Native側も資産(ライブラリ等)不足やパフォーマンスの課題があるけどな
0880デフォルトの名無しさん
垢版 |
2019/06/07(金) 08:44:09.41ID:XGKtoEgu
>>879の補足

Graal側はAArch64/Linux対応が完成してからiOS対応をやるかどうか検討するとのこと
https://github.com/oracle/graal/issues/373#issuecomment-454697157

まだAArch64/Linux整備中の段階
https://github.com/oracle/graal/commits?author=sanzinger&;since=2019-05-15&until=2019-06-07

iPhone/iPadのチップ : A10〜A12X : ARMv8ベース
ARMv8の64ビットモードがAArch64
0883デフォルトの名無しさん
垢版 |
2019/06/07(金) 16:53:00.43ID:q0RmewW9
Swiftネイティブでいいじゃん、他にはUnityもあるし。
入り込む余地ないでしょ。
0885デフォルトの名無しさん
垢版 |
2019/06/09(日) 13:55:10.20ID:pv0ZpPmn
kotlin3大いいところ
・android標準という安心感(直ぐには廃れない)
・モダンな書き方ができる(arrowもあるし)
あと1つは?
0886デフォルトの名無しさん
垢版 |
2019/06/09(日) 14:23:05.48ID:LrdSIDEQ
>>885
Listが基本immutableなことやnull安全はモダンに含まれるのかな?
標準という意味ではGradleの記述言語としてもサポートされているので、廃れにくいかなと思っている。
個人的にはDSLを3つ目として挙げたい。
0887デフォルトの名無しさん
垢版 |
2019/06/09(日) 14:43:33.75ID:zgQq0a06
JVMで動く言語でJavaのライブラリそのまま使えるのが良い
これに関してはKotlinである必用はないのだが、その他の利点の上に更にこれがあるのが良い
0888デフォルトの名無しさん
垢版 |
2019/06/09(日) 16:29:58.10ID:SDScvKJ1
最新のjavaも随分進化したから、そこまでkotlinにこだわらねえ。
kotlinがjavaや.netみたく自前の最初からnull安全なクラスライブラリ備えてるなら別だけど。
0890デフォルトの名無しさん
垢版 |
2019/06/09(日) 19:10:48.79ID:TX+aAcRC
Javaに新機能が追加されてもざんねんなJava部分が消えるわけではないので
可能であるなら最初からKotlinでやりたいかな
0891デフォルトの名無しさん
垢版 |
2019/06/09(日) 22:02:36.62ID:LrdSIDEQ
>>888
自分も最初はラムダもOptionalもあるからとそう思っていたけど、immutable programmingで行こうと思った時に、
Listがimmutableであることを保証する方法がないことに気づいてKotlinへの移住を思い切った。
immutable programmingはそれほど実現しなかったと反省しているが、
Kotlin/JSやbuild.gradle.ktsとかも出来たので後悔はしていない。
■ このスレッドは過去ログ倉庫に格納されています

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