Kotlin 8
JetBrainsが開発した期待の新言語、Androidの公式開発言語にしてサーバーサイドもなんでもいけるKotlinについて語りましょう ※前スレ Kotlin 7 https://mevius.5ch.net/test/read.cgi/tech/1588748438/ Compose Multiplatform Windows/macOS/Linux/Android/iOS/ブラウザに対応する宣言型UIフレームワーク https://www.jetbrains.com/lp/compose-mpp/ androidのフレームワークって難しいんですかね? やさしいKotlin入門を読んでたら、Kotlinとフレームワークを一度に習得することは至難の業って書いてあった >>7 UI操作だけならData binding使うから、別にC#使ったことあるなら普通に組める。 それ以外も基本的にはJSとかより簡単だと思うよ。 面倒なのはファイルアクセス系など、パーミッション必要な類。 >>8 androidフレームワークと全く関係ない話してどうするの? >>7 androidフレームワークは、ActivityとViewのライフサイクルの関係がややこしいくらい AndroidX に関しては公式ドキュメントが常に最新で優秀だからそこ見れば解決する Kotlin自体もスコープ関数や非同期処理が他言語と違うくらいかな >>8 >>9 ありがとうございます ボチボチやっていきます Kotlin、なんかシンプルで直感的でいいですね when の -> とか矢印にしか見えない w Kotlinはあまり浸透しないうちに下降局面に入ったよな paizaラーニング、1チャプター5分くらいで見られるから空き時間に見るのにすごくいいんだけど、Kotlin編チャプター17までしか無いんだよね Javaは充実してるのに… >>12 最近はwasmでGC無し言語が再び脚光を浴びてきちゃったからしょうがない kotlin nativeって一応defer があるのな 中身はfinally {[呼び出し関数]} をやってるだけだけど 造りたい桁数によるけど とりあえず逆変換というか ブルートフォース観たいに(ブラウザじゃなくてローカルなプログラムで)沢山生成して その中に希望のものがあればそれのキーを遣えば簡単に実現出来る Kotlin ってGo とTypeScript の中間って感じだね Goはコンパイル最速で、 TypeScriptはJavaScript互換でフロント最強、 対してKotlinはコンパイルが速いわけでもなく、Java の遺産を使えるくらいしか取り柄がない、フロントもモバイル開発はともかく、デスクトップアプリやウェブサイトでTypeScript を差し置いて選択する理由が無い よってモバイル開発を超えて普及する見込みなし プログラムは完成しても多機種の検証が個人的に無理かな?と思い始めた エミュレータがあるけどかなり時間を取られそうだし、他人に頼むとお金がかかる… 適当にリリースしてバグが出たら、低評価を付けられてバージョンアップするモチベーションを完全に無くしてしまいそう… 趣味に毛が生えた程度の技術を身に付けたいなら、windowsフリーソフト開発とかの方がいいでしょうか? >>19 特殊デバイス使うんじゃなければ機種なんて考えなくていいよ 対応SDKの一番古い奴と一番新しい奴で動けば大抵なんとかなる androidstudioが警告してくれるし そして技術っても広すぎるから 何か漠然とでもやりたいことが浮かんでるならそれをやれる環境を学べばいい 使ってもらって低評価つけられるならまだ良いほうだよ 嫌いは好きに変換できるからね 使ってすらもらえない無関心を好きに変換させるほうが難しい >>21 >>22 そうですか 翻訳アプリを作りたいんですよね 自分が使いたいと思うような。 もう少し勉強を続けてみます >>16 総当たりで探しただけでは? 「5ch トリップ 検索」でググるとそういうサイトがいくつか出てくるぞ。 >>12 俺たちが使いまくって大流行させればいいじゃないか Kotlin が優れてるところの一つにGradle システムを使えることだと勝手に思ってる JetBrainsってIntelliJ捨ててFleetっていうVS Codeのパクリに移行するつもりなんだろうか。 Fleetと心中するJetBrainsに巻きこまれてKotlinが沈没する未来しか見えない… 実際のコードでも、変数の型ってきちんと宣言する必要があるの? 特に数値が、byte型、short型、Int型、Long型、Float型、Double型とか面倒なんだけど… JavaScriptでは変数の型なんて宣言したこと無い… >>28 FleetってJetbrainsのSpaceありきでしょ ローカルコーディングなら今までどおりIntelliJ IDEAでいい >>29 数値型は大抵は宣言せずに事足りる intかfloatだけで十分 宣言するのは引数かNullableのときぐらい >>31 ありがとうございます またkotlinの勉強再開しようかな? >>30 オープンソースとはいえJetbrainsが「これからはFleetで行くからIntelliJの開発には参加しません」とか 言い出したらそうも言ってはいられない。 Fleet だろうがなんだろうが Kotlin が使えるならそれで良い。 IDE が IntelliJ IDEA でなければならないなんてことはない。 >>33 どゆこと?リモート開発プラットフォームのspaceってそんなに普及してるの? Google Playストアの評価が機種別になって、アプリのリリースがしやすくなったと見ていいんでしょうか? 昔の方式で星2つとかだとアップデートするモチベーションが無くなってしまうと思うのですが… >>37 プログラマ板か泥板だな ここはプログラム板だからスレチ モチベなくなるとかいう舐めたやつがム板にいるの草 まずモチベあげてこいや >>28 Fleetって有料ライセンスのみ販売予定じゃかったっけ? 無料ライセンスの予定もあるん? Kotlinでデスクトップアプリ作ろうと思ったら何が良いですか >>43 クソどうでもいいからこれ以上伸ばすなつまらん 結局kotlinはこの程度の民度にしかならんね オワリオワリ >>36 後援企業のJetBrainsが苦しくなればKotlinとそのエコシステムの進化も停滞するだろうなという話。 >>35 実際の所IntelliJ以外でKotlin書いている人ってどれくらいいるんだろう。 >>48 fleetとintellijの話をしてるんだけど、jetbrainsが苦しいやらkotlinやらの話はしてない spaceをより連携しやすく設計したのがfleetであって明確にintellijと差別化された商品だと思うんだが、なんでintellijが廃れる話になるのか リモート開発プラットフォームのspaceが普及するならfleetは必須ツールになるとは思う 「後援企業のJetBrainsが苦しくなれば」はなんの話をしてるのか意味不明だから再度返答求む こっちはわからないから聞いてるの そもそもfleetは今のところ正式リリース後のライセンスは有料のみだから、spaceで開発しないなら使うことのない代物だろうに こいつ多分まういっていう荒らしだから相手にしなくてよし>>48 >>49 下の方に Free のライセンスも書いてあるよ。検討中だから変わる可能性はあるが。 >>49 いや、だから>>28 でFleetとJetBrainsが心中する予測を元にしていると述べているので、 勝手に話を変えた挙げ句に意味不明とか言い出されても。 >>52 IntelliJはCommunity Editionは商用利用可だけど、FleetのFree版は商用不可。 無償版に人が流れて有償版が伸び悩むIntelliJから収益性の高そうなFleetに ユーザーを移行させようとしても不思議じゃないように思う。 >>49 はFleetはIntelliJの代替にはなり得ないという立場でいい? kotlin1.8用のcompose compiler1.4がいつの間にか来てた これでjava8と完全におさらばだ >>44 Kotlin Native微妙だし、普通にMAUIとか使った方がいいと思う。 C#なんてほぼKotlinみたいなもんだし。 >>57 マウイ来んなやクソが なんでわざわざ過疎スレにアンチして🕊しにくるのか理解できない >>58 何言ってんのかよくわからんが、普段はKotlinメインで使ってるけど、デスクトップ向けではないな、って話やろ。 態々、Kotlinで組むなら止める程度にはKotlin使ってるし。 Kotlinで作ることを前提にお題を求めてるのにC#で開発させようとするの草 Compose for desktop はどうなんすか >>61 宣言的UIはカスだからC#で開発したほうがいい >>44 JetBrainsはFleetエディタの開発にこれ使ってる https://github.com/JetBrains/skiko サポートプラットフォーム Kotlin/JVM on Linux(x86_64 and arm64) Kotlin/JVM on Windows(x86_64) Kotlin/JVM on macOS(x86_64 and arm64) Kotlin/JVM on Android(x86_64 and arm64), starting with API version 24 Kotlin/JS + WebAssembly in browsers Kotlin/Native on iOS(arm64 and x64) Kotlin/Native on macOS (arm64 and x64) ちゃんと自分の製品の開発に使っててえらい 今は1.8 1.9の次に2.0だから安定版はまだまだ後かと思うけど >>66 JVMとかJSのバックエンド部分は既にK2コンパイラに置き換え済みだぜ?Nativeはベース自体がK2コンパイラだし https://blog.jetbrains.com/kotlin/2021/10/the-road-to-the-k2-compiler/ 逆にフロントエンドとしてのK2コンパイラってのがよくわからん 記事を見る限りIDEと密に連携する部分っぽいけど it.nameやit::name のnameの部分を文字列結合して アドレス参照って可能でしょうか やっぱ全部手打ちのマンパワーですかね・・・ >>69 正攻法としてはリフレクションを使うことになるんだろうけど、数が少ないなら手打ちの方が楽かな。 annotationで何とかできるのかもしれないけど、そこまでしたことがないので分からない。 メタプログラミング的には、gradleにソースコード書き換えのスクリプトを仕込むとか。 ありがとうございます 検索単語の検討つかなかったので助かります Kotlin のコンパイラとか IDEA って一応オープンソースだけど、 コメント無さすぎじゃない? 意図的に削除してるわけではなく、こういう開発スタイルなだけ? IT先進国ではソースコードから意味が読み取れるようになってる コメントを書かないといけないということはソースコードが糞ということ 大昔ガチでそれ主張してる有名なプログラマがいた気がするな それで結局キーワードが長くなり記号が減りまるで英文のようになるとすると、俺にとってそれはクソとなるのではないかと思う。 コメントがなぜ必要かというと要はサマリーが欲しいからなんだよ よみゃわかる、とかいわれてもいちいち全部読んでたら時間のムダ以外の何ものでもない 30分のYoutube動画のURLだけ提示して「見れば全部説明してある」とかいわれても困るわけ 動画の内容は何で、これを見ると何がわかるのか、要点はなにか、それ書けということ 読む人の時間を節約するために、効率を上げるために的確なコメントがあるってのがわからん 脳タリンの言いそうな言葉が、「コードですべて説明できている」 ぶっちゃけ詳細な情報はAIで生成する時代が来る プログラマーが書くのはクラスやファイルに対して1行ぐらいの概要で良くなる やがて人の欲しがりそうなことを予測して先に作ったり実行したりするようになる。 youtubeのサマリーは概要欄や説明文のところに書いてある Int?をIntでオーバーライドできるようですが逆は多分不可能ですよね? 検索してもなかなか情報が無いので nullを表現できる型よりも出来ない型の方が表現できる状態が一つ少ないんだから override できて当然だと思うが。 漠∞!!!! 及∞!!!!! 斗∞!!!!!! 語∞!!!!!!! 原∞!!!!!!!! 芋∞!!!!!!!!! 表∞!!!!!!!!!! 牛∞!!!!!!!!!!! 以下の2つのfilterって全く同じ処理ですか? 速度はほぼ同じようですしサイズも同じですし fun main(){ val l = (1..1000000).toList() val s = System.currentTimeMillis() val m = l.filter { it in 3..500000 } val s2 = System.currentTimeMillis() val n = l.filter { it >= 3 && it <= 500000 } val s3 = System.currentTimeMillis() println(s2-s) println(s3-s2) println(m.size) println(n.size) } >>88 ほぼ同じになるのではないかな。 it in 3..500000 は IntRange(3, 500000).contains(it) って書いたのと同じだし。 contains() メソッドのソースを見るとこう書いてある。 override fun contains(value: Int): Boolean = first <= value && value <= last ただ、最適化されなかった場合は IntRange クラスのインスタンスを毎回作ることになるのでその分だけメモリ確保(及び不要になった時の解放)を毎回することになってそれが無駄になる。なので最終的なコードが同じになるかどうかはコンパイラ次第になる。 そう言えば実行環境が JVM だと HotSpot とかの実行時最適化がされるのでコードが少々違っても大差ない速度になる可能性がある。 負の値に対して mod() 使った時と % 使った時で結果が違う。 (-7) % 3 は結果が -1 (-7).mod(3) は結果が 2 ソースを追ってみたら Int.mod() は kotlin/libraries/stdlib/src/kotlin/util/FloorDivMod.kt にある拡張関数が使われていた。 数学のルールとしては余りは0以上でなければいけないことになっているので結果が 2 の方が正しい。 その代わりその場合は割り算の結果が -3 で出る必要があるが、それは Int.floorDiv() を使うと計算できるようになっていた。( / 記号を使うと -2 になる)。 これ Kotlin 1.5 からのようだが(多分リリースノート等に書かれていることだろうが)、今まで気が付かなかった。 IntelliJ IDEA がAIに繋がるようになったそうだな。 やはりそのうち「アレやっといて」とか言うだけで全部やってくれるようになるんだろうな。 AI化で、JSONとクラスの変換やORMの自動生成とかを一言だけでやってくれるようになると助かる。 Int?をIntでオーバーライドできるって書いてあるけどオーバーロードじゃないの 全然意味が変わってくると思うんだが Coroutinesを勉強しようと思ってるんですが error: unresolved reference: kotlinx 他エラー多数 dependencies { implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0' } このような依存関係を追加すれば動きそうですが kotlinc c001.kt kotlin C001Kt などとやって動かす方法は無いのでしょうか Coroutinesはandroid専用なのですか? c001.kt import kotlinx.coroutines.* fun main() = runBlocking { launch { delay(1000L) println("World!") } println("Hello") } >>98 chatGPTにその質問をまるままコピペして質問してみたよ https://i.imgur.com/BhfnYa7.jpg chatGPTの答えで意味通じてる? Kotlinはよく知らないからわからないけど、JavaScriptではすごく貢献してくれている >>101 残念だけど98が知らなけばいけない一番重要な情報が抜けてるから>>99 を見なきゃ駄目だな >>102 そうなんだ chatGPTは人間とのチャットみたいに、ここから掘り下げて質問できることが特徴だから、まず>>98 をコピペしてchatGPTが答えたら、そこから疑問点を次々と納得できるまで入力してみるといいよ >>103 いま>>98 を質問してみると、kotlinx-coroutines-coreを使う方法出てくるからだれかが質問して少し賢くなったのかな でも実行のやりかたがgradle使う方法とkotlinc使う方法がごっちゃになっててダメダメ gradleを使って上記を実行する方法を教えてくださいと質問すると、gradleラッパーを作らないと実行できない方法を回答してきてダメダメ gradleラッパーを作る方法教えてくださいと質問してようやく実行のための手順を全部教えて貰える感じ 初心者がここまで追加の問いをできるとは思えんが kotlinc -classpath /home/hoge/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-jvm/1.6.4/2c997cd1c0ef33f3e751d3831929aeff1390cb30/kotlinx-coroutines-core-jvm-1.6.4.jar c001.kt -include-runtime -d c001.jar コンパイルは出来ましたが Exception in thread "main" java.lang.NoClassDefFoundError: kotlinx/coroutines/GlobalScope at C001Kt.main(c001.kt:4) at C001Kt.main(c001.kt) Caused by: java.lang.ClassNotFoundException: kotlinx.coroutines.GlobalScope ... chatgptに聞いたりググったりして gradle init --dsl kotlin 2 enter 4 enter ... などとしてみてapp/build.gradle.ktsのdependenciesに implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3") を書いて./gradlew runしてみましたが > Task :app:compileKotlin w: file:///hoge/kt/c001/app/src/main/kotlin/c001/App.kt:4:5 This is a delicate API and its use requires care. Make sure you fully read and understand documentation of the declaration that is marked as a delicate API. そもそもkotlinx.coroutines.*とkotlin.coroutines.*があるようですが コンソールアプリで使えるのは後者なのでしょうか もしそうだとすると上のサンプルコード自体コンソールでは使えないかもしれません 色々試してみていますがまだうまく動かせていません 初心者すぎてすいません chatgptに聞くだけじゃなくて公式ドキュメントも読めよな >>105 まず、>>99 は試したの? 99の手順通りにやって、どこでうまくいってないかを書いてくれ。 >>108 この流れでいまだにkotlinx-coroutines-android だしてくるのはなんなの 混乱させたいの? この頃は自動翻訳しても結構読める日本語になるので、面倒な時は翻訳している。 ブラウザに自動翻訳のボタン付いてて楽だし。 多分>>105 のkotlinc使ってコンパイル成功したやつで実行出来るとおもうんだけど、 コンパイル時に使ったjarの場所を実行時にも指定する必要があるはず gradle使う場合(ここでは7.2使用)はgradle init --dsl kotlinして、質問にはこんな感じに答えて 2: application 4: Kotlin 1: no - only one application project それで作ったプロジェクトでApp.ktを>>98 のc001.ktのコードに置き換えて、 app/build.gradle.ktsのdependenciesにimplementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.0")を追加して、 ./gradlew runで実行できたよ ./gradlew buildするとAppTest.ktがApp.ktと合ってないのでエラーになるからappHasAGreeting()の中身を空にしとくといい 113さんの方法で実行できました。バージョンは最初1.5.0でコンパイルしましたが最新の1.7.3でも動きました これで勉強できます。ありがとう! androidアプリでデータ保存するとしたら今はroomになると思うのですが room + koin + coroutine room + coroutine flow room + livedata room + rxjava3 など色々な技術がありますがこれが最新ってのはどれなんでしょうか?オススメの組み合わせはありますか? room hilt coroutine flow viewModel, Jetpack compose >>115 これ前に久々にアプリ作る時に自分で調べたらめっちゃ大変だったけど、>>116 みたいな人神だわ。 以下のbyはどういう文法なのでしょうか val navBackStackEntry by navController.currentBackStackEntryAsState() クラスとプロパティの委譲のbyとはまた別物ですよね? >>119 ありがとうございます 前後の文脈も示すべきでした ttps://developer.android.com/jetpack/compose/navigation?hl=ja ここにあるコードの抜粋 val navController = rememberNavController() Scaffold( bottomBar = { BottomNavigation { val navBackStackEntry by navController.currentBackStackEntryAsState() val currentDestination = navBackStackEntry?.destination ... この使われかたはプロパティじゃないと思うのですがどうでしょうか >>121 ありがとうございます 検索してもインターネットには情報が少ないですね エラーメッセージを頼りにちいさいサンプルを書いてみましたが、 error: unresolved reference: test このエラーが消せませんでした 委譲ならtestが呼べると思ったのですが import kotlin.reflect.KProperty public interface A{ fun test() : Unit operator fun getValue(b : Nothing?, c:KProperty<*>) : String } public val impl = object : A{ override fun test() = println("hello world") override fun getValue(b: Nothing?, c: KProperty<*>) = "str" } fun main(){ val da by impl da.test() } >>122 移譲の形式でval da by implとした場合、da.test()はdaのgetValue(....)した結果をレシーバとしてtest()メソッドを呼ぶという意味になるよね?つまり"str".test()という意味になってエラーになるだろう 移譲でないval da = implとすればda.test()は呼べるはず >>123 ありがとうございます。一人では絶対にわからなかったと思います getValueにはそういう意味があるのですね 以下のように書き換えてhello worldが表示できました import kotlin.reflect.KProperty public interface A{ fun test() : Unit operator fun getValue(b : Nothing?, c:KProperty<*>) : A } public val impl = object : A{ override fun test() = println("hello world") override fun getValue(b: Nothing?, c: KProperty<*>) = this } fun main(){ val da by impl da.test() } 「Kotlin」が人気言語ランキングトップ20に返り咲き--9月のTIOBE指標 https://japan.zdnet.com/article/35208961/ javaのが上なのか Kotlinに移行した開発者は増えてると思うんだがそこまででもないのか? 最近検索にひっかかるドキュメントはjavaよりKotlinのほうが多い印象 Android 向けアプリの開発では結構使われているのではないかな。知らんけど。 Java の場合は20年以上前から色々な事に使われてきてプログラマも多いし本も多いから上なのは当然の事。 というかそもそも Kotlin は JavaVM で動くやつが最初に出て Java のライブラリ使って動くことが前提なのでまだまだ Java なしではいられない状態。 androidはbuild.gradleもGroovyからKotlin(build.gradle.kts)に置き換えられるようになったし かなりKotlin推しって感じ 俺はjavaから乗り換えた。Kotlinは書いていて割と楽しい方だと思う そして名前がかわいいという最強のメリット var書いて変数名の後にコロン書いてまた変数型 の一手間を惜しまない人にはオススメ 型の指定は省略出来ることが多いが、それで可読性が下ることもあるかな。 確かにできるだけ型注釈はほしいな Haskellなんかは型を明示してないとわけわからなくなったり 型注釈によってプログラムの動作が変わるまである 型注釈でプログラムの動作(全解探索か最初の解探索か)が変わるコードを始めてみたときは感動した varとvalの使い分けに価値があるんだから手間とは感じないなあ コーディング量トータルで見たら誤差すぎる JavaScript系でletとconst書くのが面倒とか聞いたことないし まだ使い始めて4ヶ月ぐらいだけど 徹底してnullセーフティを追求する言語仕様のよさがやっとわかりはじめた 基本!!は使っちゃダメなのだよね? 自分で新たに作る Kotlin プログラムでは !! を使うように書く必要性がないのでは? importと利用できる名前が リンク出来ないのが個人的に見づらい Pythonみたく import numpy as np np.array() が見やすく名前の衝突もなくいいなぁ >>135 できるみたいだけど https://codelabsjp.net/kotlin-practice-renameimport/ >【Kotlin練習問題】importの名前を変更する >クラスや関数をimportする際、import文の後にas 新しい名前と書き加えることで >別の名前を指定することができます。別のライブラリからの似たような名前の >クラスや関数を複数個使いたい時など、混乱を避けるのに便利です。 asは知らなかったなー便利だな Kotlinすぐバージョンがあがるから、知らない機能がたくさんある 先日もこんなちょっとクスっとする機能を知った fun main(){ println(1_000_000) //3桁ごとにアンダーバーで区切った数値が使える println(3_000L) //Long型 } クスッとするってそれもうJavaにすら導入されてるよ しかも12年前のバージョンだ 12年前と書いたのはアンダースコアのほうね 100Lみたいな書き方ならJavaが生まれる前の古典 それはすまなかった android-studioが重くてKotlinとおさらばしなければいけなくなったのだが その前にJavaFXでGUIアプリでも作ってみようと思う コマンドラインでコンパイルしたり他のIDE使うとかすれば重いのはなんとかなる ゲーミングPCみたいに無茶苦茶速いPCにしても良い ちょいと宣伝。 更新が止まってたリファレンスの和訳を引き取って、ツアーを一通り和訳しました。 https://karino2.github.io/kotlin-web-site-ja/docs/kotlin-tour-welcome.html 個人的に教えるのに使うために和訳したので需要があるかはわからんけど、一応お知らせ。 >>142 翻訳すごいな いつかはKotlinに。 本家が結構アップデートされてるので既存の和訳を更新したり新しく足されたのは和訳したりもしてるよ。 意外と自分の知らない新機能が入ってたりして勉強になるw 当たり前だけど本家のリファレンスはよく書けてるね。 他の言語の知識が相当あるのを前提にしてるので、教えるのに使うなら副読本とか作らないとダメそうだが… 本家が結構アップデートされてるので既存の和訳を更新したり新しく足されたのは和訳したりもしてるよ。 意外と自分の知らない新機能が入ってたりして勉強になるw 当たり前だけど本家のリファレンスはよく書けてるね。 他の言語の知識が相当あるのを前提にしてるので、教えるのに使うなら副読本とか作らないとダメそうだが… 本家が結構アップデートされてるので既存の和訳を更新したり新しく足されたのは和訳したりもしてるよ。 意外と自分の知らない新機能が入ってたりして勉強になるw 当たり前だけど本家のリファレンスはよく書けてるね。 他の言語の知識が相当あるのを前提にしてるので、教えるのに使うなら副読本とか作らないとダメそうだが… なんかchmateがずっとくるくる回ってるので放っておいたらめっちゃ投稿された… Android Studioでラムダ式の波括弧の色を変えたらコードが読みやすくなるね >>150 11月データに更新されてたけど、 Kotlinが先月18位から今月15位に上がってんね Androidアプリ用途だけじゃなくてサーバー用途のJava-to-Kotlinの置き換えが進んでるってことなのかな 2,3ヶ月後にはGo-langの順位を抜きそう O'Reilly の Kotlin Cookbook の日本語版が出て欲しいところ。 今更だけどアセンブリ言語がこんな高くなるのは どういうポイント付けしてるんだろ Qiitaのアドヴェントカレンダー、Kotlin過疎すぎだろ… >>155 まあ、SpringBootに関する記事がなにかしら上がるっしょ そういやC言語ってまだ大人気なんだな。Python が人気なのはわかるが。 MATLAB という言語は知らなかった。 >>152 ,154 2,3ヶ月後に逆転したら謎だらけ kotlin programming 約 46,300,000 件 (0.30 秒) go language programming 約 1,040,000,000 件 (0.44 秒) こんなことになってるのか rust language programming 約 21,600,000 件 (0.42 秒) https://i.imgur.com/TNA5Ee4.png >>157 MATLABは工業系で計測機器の動作管理によく使うからね 今後も順位をキープしてずっと居座り続けるだろうよ >>156 kotlinで新しくサーバーやるならSpringBootよりktorだろうけど、kotlinでSpringBootやる人しか見ないの笑う、まあいいんだけどさ >>161 どこらへんが笑いどころなのか、よくわからないので教えてほしい。 今時SpringBootなんて書いてるやつはいないだろう SpringBootはアノテーションつけてなんやかんやできるの便利だと思う あけましておめでとうございます ことりんもよろしくおねがいします 200gくらいでPSPやGBAを遊ぶのに最適な機種は何ですか? 元がブラウン管のゲーム機は、RGB30の画面比率で満足しています Powkiddy X55は293gでちょっと個人的に重いです 重くてあまりゲームをやらなくなると思います Switch liteがそうだったので へー。Linux で動いてる携帯ゲーム機なんてあったんだ。知らなかった。 Amazonで「ポータブルゲーム機 linux」で検索すると沢山出てくるな。こんなにあったとは。 Spring bootはアノテーションのつけ方が今一つ どうせなら main 文とか import 文とか全部省略できるようにやってくれればいいのに あと使っているうちに動かなくなるところとか 結局、tymeleef、html,JavaScript と共存することになるので コードが複雑になる mainはわかるけどimport省略って、いったい……? アノテーション使わずに、パッケージ名やクラス名、メソッド名でどうにかするとか? Spring Bootの役割を完全に誤解しているな LombokやBetter Javaではなくエンタープライズアプリの開発フレームワークや アノテーションといえば製品によるだろうけど自作アノテーションでコンパイル時にコード生成させる方法を学んで組み込んだら格段に開発効率が上がった経験あるわ そのコード生成がされるまではJavaのコードとして一時的に不正になるのか、生成前でもJavaとしてコンパイルが通るソースとして成立するのかには隔たりがある 前者はLombokやKotlinのようにコーディング量が劇的に減って便利だとしてもIDEなどのツールにサポートされるまでは使えるツールが制限され普及の障壁になる Spring Bootがimport分やmainの記載を省くような文法変更を加える大げさな仕組みだった場合はここまでの普及はなかった kapt使い慣れると、ちょっとしたことがコード生成でできるようになるから、めちゃくちゃ便利になるよね。 kotlin.collections.MutableMap のドキュメントを見てもソースを見ても computeIfAbsent() メソッドはないのになぜか使えるね。 kotlinx.coroutines1.8.0きたああ! これでKotlinが5位になっていたことに、たった今気付いた。 将来性の高いプログラミング言語とは?タイプ別ランキングTop10 https://www.sejuku.net/blog/124758 >>181 ,182 ここ注目 IEEE調べ2023版Jobs: Groovy > F# >>> Ada > Rust redmonkはChatGPT後のSO激減の扱いを考えすぎちゃって更新止まったか https://redmonk.com/rstephens/2023/12/14/language-rankings-update/ たぶん、Groovy の本は日本で、ここ10年で1冊も出ていない 文法は、Ruby と似ているから、 Ruby on Rails をやれば、おおよそ分かる GroovyなんてJavaのビルド構成触るときにしか書いたことないや それもいまKotlin Scriptに書き直されてもう使うこと無くなりそうだけど 最も年収の高いプログラミング言語は? CAMELORSがランキングを発表 https://codezine.jp/article/detail/19210 1位 Go 2位 Kotlin 3位 Python トップ10の中にRustが入っていないな。まだそんなに年収得られるほど稼げる用途で使われてないのかな? 「Kotlin」を用いたデスクトップアプリ開発の解説書が発売 書籍『入門!実践! Kotlin Compose Multiplatformでデスクトップアプリ開発!』 https://forest.watch.impress.co.jp/docs/bookwatch/news/1584816.html そういやkotlinってロゴもマスコットも影薄いよな… かといってGoみたいにキモいマスコットで有名になっても困る >>193 golang マスコットで画像検索すると見つかる gopherという名前だそうだ go マスコット でも見つかった >Go言語のマスコットキャラクター「Gopher」を愛でる 俺には無理 日本じゃ販売されてないオライリーの本だとテンみたいな動物が描かれてるな うーん、やっぱりインパクトが薄すぎるな 特段かわいくもないしカッコよくもないし、さりとてキモくもない せめてキモカワイイくらいでないとインパクトが薄い read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる