Kotlin 5
レス数が900を超えています。1000を超えると表示できなくなるよ。
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう
※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1531818027/ >>822
Kotlinを書くのにエディタを使うのがそもそも間違ってる。
無料版でいいからIntelliJ使え。 うちはサーバーサイドで使ってるわ
ほぼ俺しか書いてないが YouTube に動画をアップしてる、KENTA でも、
サーバーサイドの、Elixir, Kotlin などを受注するのに苦労してる。
彼は、変わった言語の仕事に、こだわる
こういう仕事は、滅多に出回らないから、ツテから入るのかも。
KENTAは千以上、名刺交換してるとか
彼は、GUI は嫌いらしい。
画面の修正で、時間を食うのが、嫌いらしい
数ピクセル、位置が違うとか、
修正したら、違う人が、元に戻せと言ったりw
GUI は、技術を学ぶ、時間効率が悪いから、嫌いらしい。
だから、サーバーサイドの仕事を取る サーバーサイド普通に使ってるぞ
lombok駆使するよりいいと思う >>830
「、」で区切り過ぎ。その文章の場合は全ての「、」を削除した方が読みやすい。 >>822
IntelliJ 使った方が楽だが、kotlinc でコマンドラインでやるとしたら最後の実行は kotlin コマンドでできるよ。
kotlinc xxx.kt
kotlin XxxKt
みたいにする。
kotlin コマンドは環境変数セットしたりして最終的に java を動かす。 で、サーバサイドkotlinのこれからについての認識なんやけど合ってる?
・実戦投入可能なレベルに達している
・goが選ばれるような案件では以下の点でgoに勝てないので流行らない
→粒度の細かいマイクロサービス:deploy容易性がgoに劣る、kotlinの抽象力が活き辛い
→aws lambdaとか:上記に加えてjvmが温まるまで遅い
・モノリシック案件のbetter javaとしては第一候補
→フルスタックFWが有望でspring bootが最有力
→必然的にSIerの仕事が多くなる
・SIerが最重要視するのは実績
→実績を積むには待つしかない kotlin/nativeは「hello world」を「hello world!」にするだけでビルドに7sかかるんやけど。。
こんなもんなん?何かやり方間違ってるのかな。 >>837
受託の業界は知らんけど、WEB業界なら今までJavaやらScalaやら使ってたところはもう大体使えるところから使い始めてる。
ただそもそも日本のWEB業界ではJavaが不人気過ぎてどうしてもニッチの部類に留まってるわな。
生存戦略としてはとにかく仕事の多いRailsやらをやるか、仕事は少ないが応募者も少ないKotlinを極めるか、まあどちらでもありっちゃあり
どうせ5年後には違う技術が台頭してるし 既存のJavaからKotlinはあっても、そもそも新規でJVM選択するかなっていう sunが震え声で
ハードの進化でJVMのパフォーマンスは向上していくから…
って言ってから何年経ったのか PHPで作ってたけどパフォーマンスが出なくなって来たからJavaで作り直す、みたいなのはよく聞くな
同じ理由で昔はRailsからJavaってのもあったけど最近のRailsは速いからあまり聞かなくなった Rails ができれば、コピーのCakePHP も出来る
違う言語だけど 新規でサーバ側でkotlinで作ってもらったけど
少数派なのか。
まあ、何ができるかが大事だからいいけど、流行に左右されるのは厳しいね。 >>841
20年ぐらい?
まあ確かにあのWindows95だの98だので動かしていた時よりは速くなったけどね。 結構Java嫌いな人多いんだね。自分もJavaは好きじゃないけど。
>>840
Javaが検討される規模のWEBサービス作る時にJVM以外の選択肢って例えば何かあるのかな?
>>841
Javaの出始めと比べたら劇的に進化してSunの言う通りになったと思うけどな。
Java離脱組もパフォーマンスじゃなくて開発効率やサービスの拡張性を気にしてる。
>>846
少数派なのはそうなんだけど、依頼側から見たサーバーサイドkotlinのデメリットは
・現状では開発者が少ない=人が集まらないことによる遅延、開発者単価
・実績がない=未知の何かが起こるかも
なのでローンチ出来てる時点でデメリットは乗り越えているし、
Android界隈では確固たる位置にいるからこの先メンテ人材が見つからない心配もない。(←ここが流行に左右されて困るポイント)
悪くない選択だったと思うんだけど JVMの性能は実行時最適化が強みだから
ベンチマーク系は不利
巨大なプログラムで長時間の動作において有利なはず
にもかかわらずベンチマークでもそこそこ速いんだからすごいのでは いや実行時最適化は繰り返し実行される処理に対して効くからベンチマークには強いぞ
立ち上がりの遅さとか、ベンチマークに現れない体感的な部分がJVMは遅い
事実上サーバー専用だから仕方ないが JVMはガーベッジコレクションでスローダウンするから未だに使い物にならない。
一番大事な時に直撃で機会損失が億いくと違約金も凄まじかったぜ。 果てしなく嘘くさいな
シビアなシステムでどれだけ使われてると思ってるんだ 10年以上前からあるコンカレントGCすら知らないような会社なんだろう 業務用Javaに関しては新機能が使われずなおかつアプデなしで10年経過とか普通にあるからな
それはそれでもいいから対外的にJava語るなって話なんだが 例のみずほのサグラダファミリアもJava1.5という噂を聞いたけどマジなんかな ネイティブでgc使わないようなコードも出せるようになればなんとかなりそうな気もするが、そうするとライブラリもそれ用のを使わないとダメか。 JVMが使い物にならないという人が何を使っているのかとても気になる jvmの引数でもGCのラグを解消できるし
最新のZGCというのも出てきた JVMというかspring fwの起動が糞遅いのは分かる
2.0になって少しましになったけど… 気のせいかわからんがKotlinでspringやると遅いような気がする >>876
ktorはマイクロサービス向き
kotlin/jvmはモノリシック向き
kotlin nativeが流行らないと無理やと思うで >>864
コンパイル時間は長いと思うけど、アプリ本体は変わらん。
というかそもそもspring本体はJavaだし。 >>866
Ktorをその並びで並べるのはちょっと違うと思う。 >>868
kotlin/jvmはJava代替でSIerによるフルスタックFW&モノリシック開発が向いている
kotlin/nativeはGo代替を目指していてWeb系企業のマイクロサービスが向いている
kotlin/jvm+ktorではGOに勝てるユースケースが無いので
ktor流行にはkotlin/nativeの流行も必須というのが自分の主張。
まあ異論はあると思う。ちなみにkotlin/nativeは応援してるしktorも流行ってほしい >>822
vim + quickrunで動くよ!
kotlinc, javaなんてコマンドを打つことはしない。 >>869
言ってることは分からなくもない。
ただ視野が狭すぎるというか、そんな可能性を狭めなくていいと思う。 そもそもKtorってJVM、というかServletに依存してね 次のリリースでkotlin/nativeのbuild時間が改善されそう
リリースいつなんだろ。。 kotlin/nativeはGraal(AOT)に勝てるかどうかすら怪しいのに、夢見過ぎだろ。 >>876
AArch64の対応が進んではいるもののGraalがiOSに対応するのは当分先
Kotlin/Native側も資産(ライブラリ等)不足やパフォーマンスの課題があるけどな >>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 kotlin/nativeのメインターゲットはiOS開発なんだろうと思う。 Swiftネイティブでいいじゃん、他にはUnityもあるし。
入り込む余地ないでしょ。 kotlin3大いいところ
・android標準という安心感(直ぐには廃れない)
・モダンな書き方ができる(arrowもあるし)
あと1つは? >>885
Listが基本immutableなことやnull安全はモダンに含まれるのかな?
標準という意味ではGradleの記述言語としてもサポートされているので、廃れにくいかなと思っている。
個人的にはDSLを3つ目として挙げたい。 JVMで動く言語でJavaのライブラリそのまま使えるのが良い
これに関してはKotlinである必用はないのだが、その他の利点の上に更にこれがあるのが良い 最新のjavaも随分進化したから、そこまでkotlinにこだわらねえ。
kotlinがjavaや.netみたく自前の最初からnull安全なクラスライブラリ備えてるなら別だけど。 逆にあえてJavaを使う理由が特に思い当たらんからとりあえずKotlin使うわ Javaに新機能が追加されてもざんねんなJava部分が消えるわけではないので
可能であるなら最初からKotlinでやりたいかな >>888
自分も最初はラムダもOptionalもあるからとそう思っていたけど、immutable programmingで行こうと思った時に、
Listがimmutableであることを保証する方法がないことに気づいてKotlinへの移住を思い切った。
immutable programmingはそれほど実現しなかったと反省しているが、
Kotlin/JSやbuild.gradle.ktsとかも出来たので後悔はしていない。 うちももう新規追加は全部Kotlinだわ
だってJavaで書くメリットがマジで何もないんだもん coboちゃんが入れ替わっただけの蛇腹は逝ってヨシ >>893
Java経験あるならKotlinなんてすぐ書けるから別に気にしないよ。
社員で雇うならどの言語で書いてたかはあんまり関係ない。 kotlin書いてる人は何の仕事してるの?
やっぱandroid? サーバーサイド
7割SpringBoot3割sparkその他 2年くらい前まで都市伝説レベルだったサーバーサイドKotlinも最近は勉強会でよく見かけるようになったんだ できればkotlinで作りたいって言われてサーバー側のプログラムを作ってもらった。
DBサーバは別で画面制御だけ。
自分でも勉強しようと思ってこのスレッドを見てるところ。 そっか。サーバサイドkotlin順調に普及してきてるんやね。ワイの周り以外では。
うらやましい! ほぼ0だったのがようやく1になったくらいで、まだまだマイナーだけどね kotlinは関数型も取り入れてるし
色々欲張り過ぎで言語仕様複雑化してるイメージがあるんだけど
実際使っててどうなの?
kotlinプロジェクトはコーディングスタイルが多様化しそう AndroidStudioやVSCode(mathiasfrohlichのKotlin Language機能拡張)で学習してるんだけどさ
どちらにしてもスペルミスは文字の色である程度わかるけど、文法が間違っててもその場で指摘してくれるわけじゃないのね
ある程度身につくまで文法間違いやを教えてくれるとありがたいんだけどそういうのはないのかな? 文法間違いとはなんぞや
一応、実行できないくらい間違ってる場合はIntelliJ系だと「現時点で解釈不能でわけわかんないです」「これを書いてるつもりの場合は〇〇が必要です」って下に英語でちょろっと出る kotlinのバグ発生率はJavaより低いですか? Javaのバグ発生率を教えてくれたら考えてあげてもいいよ
同じような式で計算して出すから >>905
具体的にどういうこと?
VSCodeは知らんけどIntelliJは大抵のミスは教えてくれると思うけど >>909
https://web.cs.ucdavis.edu/~filkov/papers/lang_github.pdf
>Java−0.01 (0.04)
Javaはいろいろな言語の中で平均的なバグ発生率のようです。
Kotlinはこの表にありません。 Javaのバグ発生率は、
同じ領域で使われていると思われるC++,C#,Pythonと比べて最も低いです。
つまり、カーネルやデバドラやブラウザ系でなければJavaが一番優秀に思えます。
しかしKotlinはJavaを打ち倒すかもしれません。 ぬるぽ
ぬるぽ
出まくるが
これはバグじゃないのか その比較研究はgithubのコミットに基づいているようなので
ほとんどのNPEは開発中に発生して修正済みでしょう。
最初からNPEを発生させないkotlinは、
むしろバグ発生率よりコーディングスピードで優れているかもしれません。 その類の実証研究、大抵がJava対象だからKotlinだとどうなのかとかはまぁ分からんよね kotlinだとコードの行数が減るからjavaに比べて開発規模が小さかったと判断されてしまう kotlinの言語仕様的にjavaよりバグり易そうな部分ってあるんかな? >>918
it や this が思ったものと違うものを指していたとか。 確かに。let 周りで失敗してたことあったわ。あの辺はちょっと複雑になっちゃってる感あるね。 KotlinはTypeScript, Swift, C#あたりの典型的なモダンCファミリーの範囲を超えてオリジナリティを出してきた部分については途端に微妙になる印象
当然っちゃ当然なんだが、天才的なものは感じないね Javaはエラーコードを強制される部分があって、プログラムの質の底上げがされてるんじゃないかな なんかもう、わかんない人は無理に会話入ってこなくていいよ たぶんJavaにあってKotlinに無いものは無い
強いて言えばKotlinは関数型を採り入れて言語仕様が複雑化しつつあるし
Javaとの混在が可能だからごちゃごちゃしやすい
人によって書き方が変わりやすい
あとGSONとの連携で問題が生じやすいとかあったはず 検査例外ちゃんは皆に嫌われてるから…
投げられた例外を捌けるかどうかは呼び出し元の都合や要件に依るからcatchを強制されるのは好かん
て雲のジュウザが言ってた レス数が900を超えています。1000を超えると表示できなくなるよ。