Kotlin 7at TECH
Kotlin 7 - 暇つぶし2ch452:デフォルトの名無しさん
20/11/19 21:01:29.88 m5Mf/5d8.net
>>437
Haskellしろってこと?

453:デフォルトの名無しさん
20/11/20 00:02:42.39 chBH1D/L.net
SEGA Saturnしろ

454:デフォルトの名無しさん
20/11/20 08:30:09.55 iF0AxdEN.net
>>437
そのインシュリンで助かってる人もいてるんやで。
君このご時世マスクもせんとチョロチョロするタイプやろ?

455:デフォルトの名無しさん
20/11/20 08:33:58.36 iF0AxdEN.net
ニュルポ

456:デフォルトの名無しさん
20/11/21 10:23:05.58 ts1N/QFR.net
null安全ってどうゆう意味?

457:デフォルトの名無しさん
20/11/21 11:10:14.55 U5RwLwtV.net
>>449
null安全なコード(null safe code)は
ヌルポが発生しないことが保証されてるコードのこと
null安全な言語は(language with null safety)は
ヌルポが発生を防ぐ安全装置が備わってる言語のこと

458:デフォルトの名無しさん
20/11/21 15:22:01.91 y+uPyUUI.net
null安全したところでデータの安全は保証しないからな。
下手したら試験時にnullで落ちてくれたほうがマシな場合もあるだろうよ。
だからnullは猫のように愛されてきたんだ。

459:デフォルトの名無しさん
20/11/21 18:58:29.84 FLFe6WLj.net
APIレスポンス受ける data class のプロパティもコンパイル時に null安全できるようにしてほしい

460:デフォルトの名無しさん
20/11/22 11:05:20.91 umfLP4bc.net
>>451
たしかにnullを安易に排斥したところで却って不具合を地下に潜らせることになる
nullの利用価値を保ったまま安全をサポートしてくれるのがKotlinのnull安全
null safeであってnull freeではない
Kotlinではnullかもしれない値を限定でき、その利用時に、分岐するのかエラーで落とすのか初期値で代用するのかを文法的に問うのでより安全
Javaでは試験時に落ちるところを、Kotlinではさらに早くコード補完時や自動ビルド時に気付かせてくれる

461:デフォルトの名無しさん
20/11/23 15:21:42.81 QcOiDeXE.net
>>433
絶対に許さない。

462:デフォルトの名無しさん
20/11/28 10:17:31.66 TP8nXubU.net
Jetpack Compose for Desktop ってどうなんだろう。
TornadoFXが死に体なので脱出先を探しているが、
Android用の設計を無理に移植していびつだったりするんだろうか。

463:デフォルトの名無しさん
20/11/29 14:55:05.68 KxupmnON.net
Kotlin って List の内容をローテートするメソッドって用意されてないの?
[1, 2, 3] の右回しなら結果が [3, 1, 2] で左回しなら [2, 3, 1] になるようなやつ。
(シフトしかできなくても組み合わせれば作れるから良いんだけど)。
自作するしかない?
ていうか自作することそのものは簡単なんだけどね。例えばこんな風に書けばいいだけだから。
fun <E> List<E>.rotateLeft() = ((1..lastIndex) + 0).map { get(it) }
ただ元からライブラリに用意されていたら無駄になるので存在の有無を知りたいということ。

464:デフォルトの名無しさん
20/11/29 15:24:23.71 IcRbcY/o.net
Javaにある

465:デフォルトの名無しさん
20/11/29 18:30:32.35 KxupmnON.net
>>457
おお!ありがとう。java.util.Collections.rotate() ね。
でもこれ、Kotlin の List でも使えるけど List の内容が変わっちゃうのな。
(MutableList じゃないのに)
>>> val ls = listOf(1, 2, 3, 4)
>>> ls
res14: kotlin.collections.List<kotlin.Int> = [1, 2, 3, 4]
>>> java.util.Collections.rotate(ls, 1)
>>> ls
res16: kotlin.collections.List<kotlin.Int> = [4, 1, 2, 3]
>>> java.util.Collections.rotate(ls, -1)
>>> ls
res18: kotlin.collections.List<kotlin.Int> = [1, 2, 3, 4]
>>> java.util.Collections.rotate(ls, -1)
>>> ls
res20: kotlin.collections.List<kotlin.Int> = [2, 3, 4, 1]
>>>
まあ変換して Java 側に渡してるだけだろうから仕方がないか。

466:デフォルトの名無しさん
20/11/30 00:21:55.65 XdYfXM2+.net
お約束だけどKotlinのListには最初からイミュータブル性はないよ
変更機能に関心のないビューでしかない
MutableListがListを継承してるというのが何よりの性質

467:デフォルトの名無しさん
20/11/30 21:07:46.44 d/P6xXcm.net
クロスプラットフォームは総じて糞と相場は決まっている

468:デフォルトの名無しさん
20/12/01 07:14:35.59 1c6vRoBT.net
できることがOR結合ではなくAND結合で絞られてしまうのがクロスプラットフォーム。
できることしかできない。

469:デフォルトの名無しさん
20/12/01 07:41:02.13 7egfpP3/


470:.net



471:デフォルトの名無しさん
20/12/01 08:37:49.02 A2yZQJjL.net
javaでいいよ
無理矢理感有り過ぎの上
文法がひどい

472:デフォルトの名無しさん
20/12/01 12:39:29.78 xAN1+Wpp.net
>>462
明快な話だよ
どちらの演算子も、if文を使ったそれと等価のロジックに置き換えて考えて、そのロジックを使うべきだと思えば使えばいい
特定の頻出イディオムの短縮記法に過ぎないと捉えれば、長ったらしく書くよりも演算子ですっきり書いた方がいいとわかるはず
追加メッセージのないNPEを送出するなんて絶対にムリという状況下なら !! は使わないことになるだろうし、低リスクな部分なんて元々エラーメッセージ考えないし万一落ちたらスタックトレース見りゃいいやという状況なら !! を使うのは理に適ってる
状況を問わず絶対に使うなというのは原理主義者かアホだと思う
Javaを使ってるのにクラスや例外を避けようとする老人と似たようなもの

473:デフォルトの名無しさん
20/12/01 14:06:45.61 Y3029ltu.net
!!を使わなくても書けるのに敢えてクラッシュのリスクのある!!を使う必要ない

474:デフォルトの名無しさん
20/12/01 14:51:50.13 GnBhcVmn.net
コントラクト書いてもスマートキャストできないならアリ

475:デフォルトの名無しさん
20/12/01 17:28:10.09 /2lR8en+.net
assert文もクラッシュのリスクがあるから使わないって言うんだろうか
フェイルセーフで進めるべきシーンとフェイルファストで落とすべき部分を判断して使い分けてほしい

476:デフォルトの名無しさん
20/12/01 17:44:21.87 VNs10yiL.net
そんなのは設計が糞
センスないからしね

477:デフォルトの名無しさん
20/12/01 18:45:05.23 1c6vRoBT.net
いろんな宗教食タブーに配慮した結果、鶏肉料理しか選択肢がなくなる感じ。それがクロスプラットフォーム。

478:デフォルトの名無しさん
20/12/01 19:28:13.47 +SEOBXSY.net
そうそう、そんな感じ

479:デフォルトの名無しさん
20/12/01 21:58:25.69 G7RpB3vG.net
>>459
あー。Stringとかと同じか。書き換えられないように作ってあるだけで言語レベルでリードオンリーというわけではないという。

480:デフォルトの名無しさん
20/12/02 07:55:24.49 qZqo4QmM.net
そういうこと。ただ変更のためのAPIを提供してないだけ。

481:デフォルトの名無しさん
20/12/02 10:41:02.88 i+bjk1CY.net
Stringはクラスがfinalで閉じてる分、変更可能性という意味では層が少し違うかな

482:デフォルトの名無しさん
20/12/02 10:42:20.86 i+bjk1CY.net
CharSequenceが等価だと思う

483:デフォルトの名無しさん
20/12/04 16:14:35.33 aGuBhpl1.net
>>461
何つながりでいっているのか知らないけれど、まあ、それでも基本部分だけでも
動作すればだいぶ楽にはなる。
同じように書いてHelloWorldが出て、直線や矩形描画、文字描画、キー入力が
共通化されていて、同じ言語で書けるならかなり楽になるから。
クロスプラットフォームキットを何も使わなければ、言語自体も違ったりして、
ロジック部分すら共通化できず、大変なことになる。
WindowsではC++(またはC#), AndroidはJava, AppleはSwiftみたいに。
そしてprintf()文すら共通しては使えない。

484:デフォルトの名無しさん
20/12/05 12:38:19.27 Na39OKS5.net
実務経験1年で月収80万稼


485:げるエンジニアになった理由 https://www.youtube.com/watch?v=DrbbyGsHQic 意識が低いエンジニアこそフリーランスになれ https://www.youtube.com/watch?v=nSEaAJlgjbQ フリーランスエンジニアの週3労働ってどんな感じ? https://www.youtube.com/watch?v=8yjoDCdbzMc ぼくがスキルのない社畜ならこうやって脱する https://www.youtube.com/watch?v=aae8xxbUlMM 初めて人を雇ったらもう二度とサラリーマンをやりたくないと思った話 https://www.youtube.com/watch?v=U0OCGRVLFsM プログラミングは文系でも余裕で出来ます!理由を現役プログラマーが解説 https://www.youtube.com/watch?v=iBOeiSKBIW8 貧乏人こそ社会不適合者 https://www.youtube.com/watch?v=O3BT72BIBJI 元ド貧乏が教える】貧乏を抜け出すための2つの考え方 https://www.youtube.com/watch?v=IRrCgTy3ckc より良いオファー貰ってるのに転職しないとか何考えてるの? https://www.youtube.com/watch?v=i0J6uRhlj7o



486:デフォルトの名無しさん
20/12/12 16:10:56.29 2H3Jk65M.net
Kotlinは人気順位をどんどん下げてんね。

487:デフォルトの名無しさん
20/12/12 17:12:12.40 DUS5CJRd.net
型違いやぬるぽのエラーが動かす前にわかるというが
逆に言うと動かせばすぐわかることだ
今時そのパスとおってませんとかテストでありえんから
型なんかいらんかったんや

488:デフォルトの名無しさん
20/12/12 17:37:35.65 UcLPJJJE.net
そんなしっかりテスト書くなら型あった方が楽じゃん

489:デフォルトの名無しさん
20/12/12 19:11:57.44 s2JPaqvY.net
変数は全部public staticで MutableList<Object>じゃい!
goto文も好きに使え!
だって全部テストでパス通せばいいじんじゃい!
うん、暴論だと思う
null安全も型安全もカプセル化も、言ってしまえばほんのちょっとの便利ツールでしかないんだけど、そのほんのちょっとがバグを減らし、思考の負荷を落としてくれる

490:デフォルトの名無しさん
20/12/12 19:17:54.50 s2JPaqvY.net
万全のテストが組み上がった後では言語ごとの安全設計の違いはプロダクトの品質に影響をほとんど及ぼさない、それはそうかもしれない
ただ、その万全のテストが手にはいるまでにどれだけのコストを要するかが違う
流れるように書くことができて、書き間違えや考慮漏れが起こりにくく、テスト作成中にfailが出てもすぐに特定して直せる、その結果生産性が高い、それがいい言語だと思う

491:デフォルトの名無しさん
20/12/12 19:17:56.76 DUS5CJRd.net
誤りは防ぐが思考の負荷は増えるぞ

492:デフォルトの名無しさん
20/12/12 19:31:00.69 s2JPaqvY.net
とても小さいスクリプトを書く場合と、バグをいくらでも作ってよく誰かが直してくれるならそうだな
VBの変数宣言不要のVariant天国は何でも格納できて極楽
一方である程度大きいものをバグなく作る必要があるなら脳内に展開する必要のあるデータ量が増えてスケールしなくなる

493:デフォルトの名無しさん
20/12/13 08:02:21.21 VmHeogwF.net
単純に型のあるなしだと設計を疎結合にしやすいとかリファクタの安全性が高いとか色々変わってきますがな

494:デフォルトの名無しさん
20/12/13 11:22:13.31 OcllVIux.net
それでもやっぱり型が好き

495:デフォルトの名無しさん
20/12/13 13:22:32.62 5EW0FlRD.net
シェルスクリプトやマクロみたいな簡単な治具には形を意識せずにすむ言語がお手軽だし、バックエンドのシステムを組み上げるにはnull安全のある厳しい静的型付き言語がフィットするので使い分けましょうねという結論でいいと思う
使い分けのミスマッチを解消したいい例がTypeScript

496:デフォルトの名無しさん
20/12/13 17:03:49.88 nviDagiX.net
Rubyも型のような何かを入れたし、時代の流れだわね

497:デフォルトの名無しさん
20/12/14 00:35:19.60 6zFeqNk6.net
数値や String が保持出来て計算出来れば良いんだったらそういうクラス作って
operator で色々作って計算出来るようにしちゃえば良いんじゃないか?
効率悪いかも知れないが。

498:デフォルトの名無しさん
20/12/14 08:23:45.23 NKntA+ls.net
>>478
> 今時そのパスとおってませんとかテストでありえんから
そのテストを自動で実現するテストフレームワークが無いんじゃない?
せめてnull安全ぐらい関数1つで実現してほしいわ。

499:デフォルトの名無しさん
20/12/14 10:17:36.45 wjvd2Hwv.net
君らみたいにkotlinやってる人ってアプリ開発者が多いのか?

500:デフォルトの名無しさん
20/12/14 10:24:57.92 gp9Z60vS.net
Android以外でKotlin使ってんだなぁて思う
JavaだったとこをKotlinに置き換えてんの?

501:デフォルトの名無しさん
20/12/14 10:39:03.40 sJtbd1yB.net
元々Javaのサーバアプリ書いてる

502:デフォルトの名無しさん
20/12/14 18:48:58.24 rjPJQsvc.net
サーバーサイドだね
完全にbetter Javaとして使ってる
既存コードの置き換えもするし、新規実装するものに関しては完全にことりん

503:デフォルトの名無しさん
20/12/14 18:50:01.54 gp9Z60vS.net
Androidやってるだけだからサーバーとか行っても戦力にならないんだろうな
同じ言語なのにここに出てくるサーバーサイドの会話がなんとなくわかったつもりの異次元

504:デフォルトの名無しさん
20/12/14 18:50:06.38 rjPJQsvc.net
サーバーサイドkotlinは採用も意外に楽よ
それ自体の経験者はほぼいないけど、Kotlin書きたいJava経験者はかなりいるから

505:デフォルトの名無しさん
20/12/14 18:50:39.52 rjPJQsvc.net
>>494
それはお互いにそうでしょ。
言語そのものの知識なんて大して重要じゃないし。

506:デフォルトの名無しさん
20/12/14 22:34:42.15 dZWdULI2.net
nullsafeでぬるぽが減った人いますか?

507:デフォルトの名無しさん
20/12/22 19:15:05.74 oIaxfxum.net
減るっていうか0になったけど何が言いたいんだろ

508:デフォルトの名無しさん
20/12/22 21:19:38.41 3Bv244xN.net
ぬるぽを無くすためのnullsafeだからな

509:デフォルトの名無しさん
20/12/22 22:42:34.84 Df60bwVz.net
DBカラムに入ってるはずのデータがなかったときどんなエラーがでるんすか

510:デフォルトの名無しさん
20/12/22 23:40:20.45 Olju/RJS.net
ヌルポよりも大切なものを失います

511:デフォルトの名無しさん
20/12/23 00:04:41.19 6GFRBN6f.net
APIのレスポンスがnullじゃないはずなのにnullが返ってきたときどうしたらいいんですか

512:デフォルトの名無しさん
20/12/23 19:38:57.98 NEftcK31.net
nullsafe って言うのは Null チェックしなくていいという意味じゃないよ?
チェック必要なものと不要なものを区別して、必要なものはチェックしてからアクセスしないとコンパイルエラーになるんだよ?

513:デフォルトの名無しさん
20/12/24 07:36:37.88 woO5Pxu8.net
>>502
普通にnullチェック入れればいいんじゃないの?

514:デフォルトの名無しさん
20/12/24 08:10:29.60 QpUzPsdF.net
>>502
nullチェックしながら
APIの作者にバグレポート上げろよ。

515:デフォルトの名無しさん
20/12/24 08:57:55.57 N8XXHmSr.net
まずレスポンスのデータクラスのフィールドををnullableにしないといけない
nonnullでもコンパイルエラーならないのにだ

516:デフォルトの名無しさん
20/12/25 09:41:57.24 yOAc+N/y.net
何で companion object って一番下なんすか
一番上じゃ駄目なんすか

517:デフォルトの名無しさん
20/12/25 11:57:59.25 LVz6iinV.net
kotlin世界との境界部分はもろもろを自分で気を付けるしかない

518:デフォルトの名無しさん
20/12/27 23:41:45.31 mqWB+gDR.net
>>507
文法的にはどっちでもいいよ

519:デフォルトの名無しさん
21/01/01 17:03:56.74 oTJ6QRVP.net
kotlin/nativeでサーバーサイド作る話はどうなった?

520:デフォルトの名無しさん
21/01/02 07:50:34.05 7+xZsyvI.net
SuperJobだと、子の失敗は親に影響与えないとのことですが、子をキャンセルすると親もキャンセルされてしまうとのことです
子が失敗しようが、子をキャンセルしようが親に全く影響を与えたくないのですがどうすればいいでしょうか?

521:デフォルトの名無しさん
21/01/02 08:31:31.17 7+xZsyvI.net
SupervisorJobだった
つか、なんかややこしくなってきた
間違ってた、SupervisorJobは子のキャンセルは親に影響しないからスーパーなのか?

522:デフォルトの名無しさん
21/01/02 12:00:19.22 7+xZsyvI.net
間違ってた
子Jobのcacelメソッドによるキャンセルは親が普通のJobだろうがSupervisorJobだろうが親をキャンセルさせない
子JobがCacellationException以外の例外で失敗したとき、違いがでてくるのか

523:デフォルトの名無しさん
21/01/02 13:51:40.78 iRQWAItx.net
おちつけ

524:デフォルトの名無しさん
21/01/07 12:30:36.60 upgodNBv.net
明けましておめでとうございます。
ことりんもよろしくお願いします。

525:デフォルトの名無しさん
21/01/07 13:06:35.86 n0qoIkIN.net
酉年にやれよ

526:デフォルトの名無しさん
21/01/08 00:22:29.53 q8lyQLUk.net
2029年までネタとして取っておこう…

527:デフォルトの名無しさん
21/01/08 00:30:46.51 s1r0Khta.net
その時まで生きてるのかな、ことりん

528:デフォルトの名無しさん
21/01/08 07:52:19.70 AiUWBAU5.net
こぅのとぉりん生きてますよ

529:デフォルトの名無しさん
21/01/08 08:38:56.45 rfni5yw0.net
ことりんじゅうさまです
なんてことならないように使っていこう

530:デフォルトの名無しさん
21/01/09 09:13:47.78 ZIgIrWmA.net
例えばUserクラスがあって、userIdプロパティとネストしたUser型のuserプロパティがあります
このときList<User> users
から、users.map?とかcollection apiを使ってネストしたUserも含めたすべてのuserIdのリストを求める方法があれば教えて下さい
再帰関数を用意しないと無理?

531:デフォルトの名無しさん
21/01/09 09:19:13.14 ZCNL7UEp.net
flatmap

532:デフォルトの名無しさん
21/01/09 09:28:30.58 ZIgIrWmA.net
userプロパティは多段ネストする可能性があるんですがflatMapでいけましたっけ?

533:デフォルトの名無しさん
21/01/09 15:43:34.22 v5qb+Ohk.net
プロパティをどう辿るかはcollection apiだけじゃどうにもならないから自分で実装するしかないでしょ
扱うデータによっては重複や循環なんかも考慮が必要かも
URLリンク(paiza.io)

534:デフォルトの名無しさん
21/01/10 00:59:41.08 vFHdkGQn.net
>>521
そのロジックに意味のあるものならUserにallChildrenUser : List<User>メソッドを作って子のallChildrenUserを呼び出す、つまり再帰構造、allChildrenUser() -> users.flatmap{ it.allChildrenUser() }
かな
ネスト構造の時点で循環参照の可能性があるわけで言語機能でどうにかなる話とは違うと思う
または、データ構造として最適なツリーを採用したほうが良いかもしれん

535:デフォルトの名無しさん
21/01/10 01:38:59.42 Kq/dusa6.net
自分が出来ると心から信じることができれば必ずやれる

536:デフォルトの名無しさん
21/01/10 20:09:18.30 JmQQkhyb.net
言語機能でどうにかなるか否かはまた別の話でしょう
データが循環していたらスタックオーバーフローなりその他の例外なりが出るように標準ライブラリが設計されていればいいだけなので

537:デフォルトの名無しさん
21/01/10 20:13:22.96 JmQQkhyb.net
余談だけどグラフの探索は再帰を使わなくてもループに書き換えることができる
スタックオーバーフローしなくなるのが利点
ループではなく再帰でしか解決できないアルゴリズム問題が存在し得るかどうかは不勉強なので知らない

538:デフォルトの名無しさん
21/01/10 20:31:18.39 N5z3vzVP.net
再帰は必ずループに出来る

539:デフォルトの名無しさん
21/01/10 21:54:19.01 YxBPzBtX.net
クイックソートどうすんじゃ

540:デフォルトの名無しさん
21/01/10 21:56:12.30 YxBPzBtX.net
木の探索は横探索すればいいか
スタックのかわりにヒープがあふれる

541:デフォルトの名無しさん
21/01/10 22:08:14.99 fqhi9u3I.net
whileループでbreakすればいい

542:デフォルトの名無しさん
21/01/10 22:25:02.75 GNExug


543:p7.net



544:デフォルトの名無しさん
21/01/22 13:56:01.26 g1yAjsTk.net
じゃあflatmapで俺の資産を増やしてくれ

545:デフォルトの名無しさん
21/01/22 14:36:13.50 JAaKTTQV.net
flatmapと元気があれば何でもできる!

546:デフォルトの名無しさん
21/01/22 20:45:59.10 xnRnhQMQ.net
Kotlin Roadmap
URLリンク(kotlinlang.org)

547:デフォルトの名無しさん
21/01/25 06:26:23.02 hTvlKNeR.net
>>534
理論上はflatmapで何でも解決できるとしても、実装するには十分な数学的能力が必要なのだ。

548:デフォルトの名無しさん
21/01/25 18:04:21.90 gx6uUcGg.net
>>537
そうか。じゃあお前なら出来るんだな。任せたぞ。

549:デフォルトの名無しさん
21/01/25 22:47:14.88 h35Snctt.net
プログラミングは
気合いだ
たとえば1万件のソートをするのに
処理のオーダーがどうとか
クイックソートのライブラリがないとか
代替するものをつくるかどうかとか
悩むときに
Excelにはっつけたり
2重ループで平気で馬鹿ソートする
周囲の嘲笑をものともしない決断力
そういうやつができるやつなんだ

550:デフォルトの名無しさん
21/01/26 08:07:03.00 z9KCwqI+.net
>>539
そういう能力の人は便利屋として安い単価で使い捨てられるだけです

551:デフォルトの名無しさん
21/01/26 11:42:19.41 V/Um6Sz0.net
いうほどflatmap使うか?
そりゃたまには使うけどさ

552:デフォルトの名無しさん
21/01/26 12:25:48.83 nusF9BAT.net
1万件程度なら普通にExcelも使うし
バカソートも使う
もちろん製品コードではそんな事はないけど

553:デフォルトの名無しさん
21/01/26 20:08:03.52 u/mIbNWf.net
flatmapが世界を救う

554:デフォルトの名無しさん
21/01/26 20:21:56.10 0fVnbxLr.net
flatmapはステータスだ!

555:デフォルトの名無しさん
21/01/27 16:58:07.84 yhGPUjKe.net
!!って基本的に使うべきでないんですかね

556:デフォルトの名無しさん
21/01/27 23:12:27.62 e4FHF1X1.net
>>538
STモナドの中に入れたら増やせそうな気がするが、取り出せなくなるけどいい?

557:デフォルトの名無しさん
21/01/27 23:15:32.07 9akTDBYB.net
>>545
簡易的なアサーションとして理解した上でNPEが出てほしい場合は使っていいよ
知らない間に大事な処理が実行されずスルーされたりするよりも、バグなのでとっとと例外を出して知らせてほしい場合とかね
URLリンク(kotlinlang.org)
> Thus, if you want an NPE, you can have it, but you have to ask for it explicitly, and it does not appear out of the blue.

558:デフォルトの名無しさん
21/01/28 09:16:46.22 zbveLxMQ.net
kotlinではnullチェックの代わりに?.を使うべきですか

559:デフォルトの名無しさん
21/01/28 09:54:30.26 fR55BjA1.net
nullチェックと一口に言ってもバリエーションを考えないとだめ
nullなら何もしない
nullなら空白で表示する
nullならハイフンで表示する
nullなら代替手段で値を取りに行く
nullならログを吐いてフォールバックする
nullならフェイルファストで例外を出す
?.は上記のうちの一部に最適ではあるものの、一部には役に立たない
実現したいことや状況に沿った措置が先にあり、それをコードで表現するために適した言語機能を選ぶという順序で考えるべき

560:デフォルトの名無しさん
21/01/28 12:36:53.48 Tpt+oTXI.net
nullなら割り込み禁止してその場で無限ループ

561:デフォルトの名無しさん
21/01/29 15:21:19.10 8+3TBqwa.net
Kotlinって、SwiftやRuby以上にWindows切り捨て感があるのな

562:デフォルトの名無しさん
21/01/29 16:40:33.72 VlQNfQH5.net
そう?

563:デフォルトの名無しさん
21/01/29 22:17:24.41 8+3TBqwa.net
やっぱSwiftやRubyの方がひどいか・・・・

564:デフォルトの名無しさん
21/01/30 13:36:04.18 ODJUYA6t.net
>>551
なんでそう思うの?
普通にJVMだからむしろWindowsに優しい方の言語だと思うけど。
Rubyなんて酷いものだろう。。

565:デフォルトの名無しさん
21/02/16 22:13:20.25 tEVS/YKP.net
ねこ

566:デフォルトの名無しさん
21/02/20 08:00:32.70 KP5LXIwV.net
過疎なんか?

567:デフォルトの名無しさん
21/02/21 22:47:03.15 ZGRBNcjP.net
TornadoFXが終わってしまったっぽい。

568:デフォルトの名無しさん
21/02/22 03:31:15.20 X/Hrkxma.net
>>553
そもそもその2つもそれぞれMacとUNIX系のことしか考えてないってだけで切り捨て云々以前の話

569:デフォルトの名無しさん
21/02/22 07:50:49.54 BC6N5nYc.net
>>557
最初だけ話題になったけどすぐ話聞かなくなったもんな

570:デフォルトの名無しさん
21/02/24 06:00:45.34 OVfixnYa.net
>>559
TornadoFXで作ったソフトウェアがあるんだが、Java8の終了と共に沈めるしかないか…

571:デフォルトの名無しさん
21/02/24 15:55:29.28 hU+TG0z/.net
これから覚えようと思ったのに・・・

572:デフォルトの名無しさん
21/02/24 20:06:34.71 1LsYaFKv.net
残念だね

573:デフォルトの名無しさん
21/02/24 20:12:49.29 aLOaaYJ0.net
ざんねんですね

574:デフォルトの名無しさん
21/02/24 21:56:39.02 OVfixnYa.net
なんでお葬式ムードなんだwwww

575:デフォルトの名無しさん
21/02/28 08:57:09.46 y4wciZ8o.net
すでにピークは過ぎ去った。

576:デフォルトの名無しさん
21/02/28 10:57:59.59 K3NYU891.net
TornadoFXの話だろ。そりゃお葬式だわ。

577:デフォルトの名無しさん
21/02/28 10:58:46.89 K3NYU891.net
今KotlinでGUIアプリ作ろうと思ったら何がいいんだろうな

578:デフォルトの名無しさん
21/02/28 11:03:50.21 fCcI35LK.net
ピークちゃんかわいいやろ

579:デフォルトの名無しさん
21/02/28 12:53:09.27 pfMKbdmi.net
>>566
Kotlin全体が、だろ。

580:デフォルトの名無しさん
21/02/28 15:27:48.49 cJzzFvi8.net
>>567
何がどうなっても変わる事のがない最底辺の awt ではないか?

581:デフォルトの名無しさん
21/03/01 19:44:58.06 jvNCnqsx.net
awtの上でいろいろ動いてるんじゃなかったか

582:デフォルトの名無しさん
21/03/02 02:32:19.48 g3RlIqNH.net
kotlin.awt というのを作ってみたらどうか?
無駄だな。

583:デフォルトの名無しさん
21/03/05 11:41:14.83 v+wrvR06.net
未だにkotlin nativeのサーバーサイドに可能性を感じてるんだがどう思う?

584:デフォルトの名無しさん
21/03/05 15:40:46.28 hI4Q3ELa.net
JVMを捨てて得られるメリットと比べて、Javaの資産を失うデメリットが多すぎかな
そのメリットの方を重視する人は普通はGoやRustを使うだろうし、あえてKotlin/Nativeを使うのはかなりニッチになるだろうから、JetBrainsもそこに注力しようと思わないし流行らない
まあでも、整備してくれるなら使ってあげるよw

585:デフォルトの名無しさん
21/03/06 07:42:11.87 Qr/DAxNU.net
>>573
nativeにしたところでパフォーマンスはせいぜい数倍にしか上がらない。
事業が順調に展開してパフォーマンスが求められるような幸運なケースでは、
分散やクラウドでスケールしないと早々に限界にぶち当たるのではと。
やったことないけどね。

586:デフォルトの名無しさん
21/03/06 09:17:28.12 qinwWtrN.net
頼みのAndroidもFlutterにやられて終わりだな。

587:デフォルトの名無しさん
21/03/06 12:25:54.92 S7ZUFE2e.net
今そんなにflutter伸びてるの?
AndroidといえばKotlinの時代はおわり?

588:デフォルトの名無しさん
21/03/06 13:41:46.08 E/+DZq4q.net
クロスプラットフォームは総じて糞

589:デフォルトの名無しさん
21/03/07 07:42:06.57 A6qgIqC7.net
DartはChromeに組み込みが失敗して終わったと思ったのに、Flutterで巻き返してくるとは。
先日Flutter 2.0になりWebもデスクトップもカバーして、
クロスプラットフォームではReact Nativeを抜いてトップになったらしいけど、
モバイル全体で見た時のシェアはどうなんだろう。
>>578
そういえばこのスレでもXamarinの名前をすっかり見かけなくなった。

590:デフォルトの名無しさん
21/03/07 10:05:36.59 wAK4v6A6.net
xamarinは.NETに統合されるから単独の話題には
もうならないのではなかろうか

591:デフォルトの名無しさん
21/03/08 22:27:58.05 q6+mJ7oA.net
Cocoaの件で悪い意味で話題の的になると思ってたが

592:デフォルトの名無しさん
21/03/10 09:14:01.41 uS0cxZyu.net
Googleと取り組むオンライン施策についての件名でGoogleからメールがきたんだが趣味アプリなのに返事しちゃっていいの?

593:デフォルトの名無しさん
21/03/11 06:21:17.00 a1O7PjBL.net
>>582
詐欺メールでなければ。
内容がわからないけど、趣味でやっているなら解約時に違約金を取られないか注意するくらいかな。

594:デフォルトの名無しさん
21/03/12 11:34:03.78 kAI5XbyW.net
>>576
kotlin nativeはkotlin jvmより遅いよ
起動とメモリ使用量は有利だけど

595:デフォルトの名無しさん
21/03/12 11:41:14.42 kAI5XbyW.net
>>575
jetbrains視点で、vs flutterよりvs golangの方がマシな気がするんやが。
rustは競合しないから置いとくとして、
golangより書きやすいのは間違いないんやし。

596:デフォルトの名無しさん
21/03/12 13:35:25.78 UgndYbA/.net
Googleの女性担当者とビデオ通話で内容をご案内とか書いてあるんだけど趣味アプリなのにいいの?

597:デフォルトの名無しさん
21/03/12 19:38:55.82 rO8VAFcZ.net
>>586
守秘義務とかがないならもう少し詳しく説明してもらえないと分からない。
内容をご案内、も何の内容を誰(Google?あなた?ユーザー?)に案内なのかさっぱりだし。
>>584,>>585
アンカ逆かな

598:デフォルトの名無しさん
21/03/14 16:14:48.16 ITpb+jkv.net
サーバーサイドのJVMって別にパフォーマンス悪くないからなー
nativeにするメリットがあまりない

599:デフォルトの名無しさん
21/03/14 17:26:30.65 dZcEVD5V.net
YMobileのCMに出てくる芦田愛菜ちゃんはかわいいと思う

600:デフォルトの名無しさん
21/03/15 14:33:02.39 h4DpjXex.net
nativeにするのは
javaの遺産を継承したくないからだと思われる

601:デフォルトの名無しさん
21/03/15 23:06:23.55 p+TDCzdA.net
>>580
継承したくないなら使わなければ済むと思うのですが。

602:デフォルトの名無しさん
21/03/16 11:55:42.45 H0s8r45D.net
nativeにしたいのは起動時間短縮(aws lambda利用とか)と、jvmレスによるメモリ軽減(kubeで複数pod利用とか)狙い
goと被ってるから倒したい

603:デフォルトの名無しさん
21/03/18 12:54:36.74 WX8jlJaB.net
Kotlinでそれをやりたい人は少数派だろうし、倒さずに住み分けするんじゃだめなの

604:デフォルトの名無しさん
21/03/23 09:25:28.89 zaPbuDkV.net
ヤらなきゃヤられるんだよ

605:デフォルトの名無しさん
21/04/06 16:58:25.74 hd98bw+B.net
java勝ったからもうお前に用はない
  ○ ←google
 く|)へ
  〉 ヾ○シ ←Kotlin
 ̄ ̄7 ヘ/
  /  ノ
  |
 /
`|


606:デフォルトの名無しさん
21/04/06 17:23:29.60 a1s8u+O4.net
いやkotlinはjavaのラッパーでしかないだろ

607:デフォルトの名無しさん
21/04/06 18:48:08.81 RsrzZqy7.net
パクりまくりおkで逆にJava終了ってマジ!?

608:デフォルトの名無しさん
21/04/06 18:53:33.55 a1s8u+O4.net
むしろKotlinの天下javaに取って代わるわ

609:デフォルトの名無しさん
21/04/07 16:37:16.80 zog9bUla.net
生き残るのはJava8までよ

610:デフォルトの名無しさん
21/04/15 03:49:33.54 o1THc+2j.net
そういやOracleとGoogleで争ってたAndroidのJavaの件はGoogle勝ったんだってな。

611:デフォルトの名無しさん
21/04/15 12:26:42.63 wukWzou0.net
そういやって、まさにその話をしてたのよ

612:デフォルトの名無しさん
21/04/28 20:51:31.93 cErE5E3t.net
そういやOracleとGoogleで争ってたAndroidのJavaの件はGoogle勝ったんだってな

613:デフォルトの名無しさん
21/04/29 12:43:05.79 4WSvW7CU.net
そういやって、まさにその話をしてたのよ

614:デフォルトの名無しさん
21/04/29 15:00:25.41 FUMq3MLC.net
時の狭間に閉じ込められたKotlinian

615:デフォルトの名無しさん
21/04/29 17:14:07.55 YN7Pg05+.net
コピペか

616:デフォルトの名無しさん
21/04/29 19:53:08.60 ABMysKhC.net
そういやOracleとGoogleで争ってたAndroidのJavaの件はGoogle勝ったんだってな

617:デフォルトの名無しさん
21/04/29 20:16:08.52 49K3ujd3.net
そういやって、まちにその話をしたてのよ

618:デフォルトの名無しさん
21/04/29 23:03:40.63 gAx7nA8j.net
おいデータが微妙に壊れてるぞ

619:デフォルトの名無しさん
21/04/30 19:45:36.51 m/tHuDzV.net
そういえば「ち」と「さ」は反転した文字みたいなんだよな。
URLリンク(animalive.me)

620:デフォルトの名無しさん
21/04/30 19:48:36.30 m/tHuDzV.net
おまけ
URLリンク(kent446.exblog.jp)
URLリンク(bokete.jp)

621:デフォルトの名無しさん
21/05/03 03:50:23.45 UFgXt23Q.net
今日ハマッたこと
IntelliJ IDEA で Kotlin の Coroutine のプログラムを作って試そうと思い、ネットで調べて
そのままではできず、 build.gradle.kts の dipendencies の所に implementation(...) で
追加するライブラリを書かねばならないと分かり、追加した。その後簡単なプログラムを
入力しコンパイルしたがエラーになる。そう言えば runBlocking がずっと赤いままで、
IntelliJ IDEA 側にはそれがあるとは分かっていない模様。しかし build.gradle.kts は
ちゃんと書いたし何がおかしいか分からない。
↓ 8時間後
build.gradle.kts を編集すると右上に薄っすらボタンのようなものが現れていることに気付く。
それ押すと build.gradle.kts の内容が反映されて外部ライブラリが追加されコンパイルも成功。
なんだよこれw 分かり辛すぎだろw
ていうかネットで検索しても誰もこのこと書いてないのは何故だ?たまたま見つからなかっただけ?
それとも当たり前過ぎる話なのか?しかしこれかなり重要なことだろ。編集しないと現れない幻の
ボタンって。

622:デフォルトの名無しさん
21/05/03 04:02:34.27 cEz/5a4b.net
サーバーサイドKotlinか?
AndroidStudioでやらないからそうなる

623:デフォルトの名無しさん
21/05/03 04:32:44.33 UFgXt23Q.net
>>612
AndroidStudio だとやらなくて良いの?
それとも最初からデフォルトでコルーチン使えるようになってるとか?

624:デフォルトの名無しさん
21/05/03 04:34:09.34 UFgXt23Q.net
てか、 build.gradle.kts を編集したらあのボタン押さないと反映されないのは同じだよね?

625:デフォルトの名無しさん
21/05/03 06:47:14.30 JnqbaBph.net
AndroidStudioでAndroidのKotlinでbuild.gradleだと、編集したら目立つ色で通知が出る
「Gradle files have changed since last project sync. Aproject sync may be necessary for the IDE to work properly.」
右にSync NowとIgnore these changeが出るんで、Sync Now 押せば反映される

626:デフォルトの名無しさん
21/05/03 07:14:10.43 JnqbaBph.net
IntelljIDEA2021.1.1でbuild.gradleとbuild.gradle.ktsのkotlinプロジェクト作ってみたよ
上記の通知の表示方法が変わって変なとこに象さんクルクルのアイコンが表示されるようになってるね
たぶん2021バージョンで


627:変更された新しい表示なんだと思われる 今まで使ってた奴からすると、何だこれって感じでカーソルのせてみてSyncNowの代わりにこれ押せばいいとわかるから迷わない ネットに情報が出てないのは、これに引っかかるのはホントの初心者だけだからじゃないかな AndroidStudioも将来はこの表示になる可能性が高い



628:デフォルトの名無しさん
21/05/03 07:29:34.93 4J8x1DcD.net
Androidで使うのが一般的なのにイキって
IntellijIdeaなんかでやるから天罰が下るんだ

629:デフォルトの名無しさん
21/05/03 08:23:58.65 mwXEGGMB.net
>>611
普通にgradleタブのぐるぐる押せばいいのに
まずgradle使わないでどうやって実行しようとしたんだ

630:デフォルトの名無しさん
21/05/03 08:27:51.53 CCI0+edQ.net
intellijのスプラッシュが気持ち悪い
早く変わってくれ

631:デフォルトの名無しさん
21/05/03 16:57:39.14 UFgXt23Q.net
>>616
初心者というか、IntelliJ IDEA の初心者だな。
エディタを横に大きく広げていたのと白に近い灰色で表示されて気付かなかった感じだな。
色の問題もあるかな。
>>617
なんでこれでイキってることになるのか?w
Kotlinそのものの学習なら要らんだろう。Android開発部分は後から追加できるようだし。
>>618
なんだそれと思ってよく見たら右にGradleって出ててそれ押すと出てくるやつか。
これもよく見ないと発見できない "秘密のボタン" じゃねえかw
まるで昔のアドベンチャーゲームやってるかのようだ。

632:デフォルトの名無しさん
21/05/03 17:09:28.56 WPoIRVmP.net
イキりポンチの童貞野郎が

633:デフォルトの名無しさん
21/05/03 17:25:07.75 wIRNyzo+.net
勃つだけましさ

634:デフォルトの名無しさん
21/05/03 17:42:09.79 APFHCyDf.net
なんでもすぐイキってるとか言っちゃう子はそんなに他人や世間が怖いのかなと心配になる
もっと自由でええんやで

635:デフォルトの名無しさん
21/05/04 07:32:05.47 7jJ3nkV3.net
>>619
わかる

636:デフォルトの名無しさん
21/05/04 15:42:18.39 EqUn5+/6.net
何らかのmap関連APIで、ある地点AとBを結ぶ経路を表示することはできると思う
そこからさらに、100mなどの距離を与えてスタート地点AからB地点へ
100m歩いた軌跡を表示することは可能ですか

637:デフォルトの名無しさん
21/05/06 04:27:55.32 ajjDZVcw.net
質問の意味が分からないが、もしやAndroidの質問?
だったらAndroidのスレがあったと思うのでそっちで聞いた方がいいと思う。

638:デフォルトの名無しさん
21/05/06 05:53:58.45 MxQkcaBR.net
あわしろ氏もアカン言うてましたわ。

639:デフォルトの名無しさん
21/05/06 08:05:00.82 xWxV6AXf.net
あわしろ氏誰やねんヽ(`Д´)ノ

640:デフォルトの名無しさん
21/05/06 18:43:39.58 ofNdXnYQ.net
>>625
それはKotlinでもAndroidでもなく使うマップの仕様によるだろう。
スタート地点+距離を受け付けるAPIがあるならできるし、ないならできない。

641:デフォルトの名無しさん
21/05/06 20:50:47.13 Ta5pc6Qz.net
そういうAPIがあるのかどうかを調べて来いよ

642:デフォルトの名無しさん
21/05/07 01:37:38.13 4k6XqTcw.net
お! 1.5 出てた。

643:デフォルトの名無しさん
21/05/07 10:08:30.66 dF0LJIle.net
1.5はパッとしないな

644:デフォルトの名無しさん
21/05/07 14:02:08.44 Mo+Zp2+Z.net
パッとしてから来いよ

645:デフォルトの名無しさん
21/05/07 14:37:33.61 pvRHeq5B.net
ハッとして グッときて
パッと目覚める Kotlinだから

646:デフォルトの名無しさん
21/05/07 19:44:58.77 kPylSr38.net
inline class最高

647:デフォルトの名無しさん
21/05/08 06:09:46.75 BZJBNPxd.net
>>632
Javaと同じくローリングリリースになったからな。
パッとしなくてもスケジュールが優先でリリースされる。

648:デフォルトの名無しさん
21/05/08 09:03:32.71 OwFy1u/b.net
ハッとして グッときて
パッと目覚める Kotlinだから

649:デフォルトの名無しさん
21/05/08 20:34:47.27 3jxsjvDZ.net
>>634
は天才だと思う

650:デフォルトの名無しさん
21/05/15 23:36:32.32 d+8scdvN.net
俺は今頃 Compose for Desktop というものがあることを知った。

651:デフォルトの名無しさん
21/05/15 23:43:23.67 tihXB0Cj.net
Kotlin使ってるやつ仕事でどんなもの作ってるの?

652:デフォルトの名無しさん
21/05/15 23:44:20.12 amksdPdW.net
なんでコードでレイアウト実装したいと思うの
レイアウトはXMLに分離することで可読性を上げたいということでそうしたんじゃないの

653:デフォルトの名無しさん
21/05/16 01:02:22.08 /lNEC7FM.net
ひさしぶりにKotlinでコードを書く機会があったが
意外と悪くない
残念なのはこれがほとんどAndroidのアプリ開発でしか使われていないことだ・・

654:デフォルトの名無しさん
21/05/16 05:39:12.20 et9DNQD4.net
>>641
XMLはわりと嫌われているからね
みんながXML大好きならJSONやYAMLなんかが今みたいに流行ることはなかっただろう
そういうXML嫌いな一派に内部DSL好きな人達がいる
rubyとかから流れてきた人達かな
kotlinは言語仕様の決定に内部DSLの書きやすさが考慮されていたりして、その内部DSL好きの意見が多く取り入れられてる
なのでレイアウトも内部DSLでやろうという話がでてくる

655:デフォルトの名無しさん
21/05/16 05:41:08.95 et9DNQD4.net
コードそのものじゃなくて、内部DSLを使えば可読性は向上するという考えだね
XMLを使わなくても

656:デフォルトの名無しさん
21/05/16 05:42:02.78 5m7n3cRq.net
センスねえ一派だな

657:デフォルトの名無しさん
21/05/16 06:04:05.36 rlnJSKha.net
jsonは末尾カンマがあるだけで壊れるの嫌い

658:デフォルトの名無しさん
21/05/16 08:33:52.08 et9DNQD4.net
いまはJSON言っても末尾カンマやコメント可能な拡張されたJSONを
設定ファイルに使えるでしょ
VSCodeとか

659:デフォルトの名無しさん
21/05/16 14:11:03.42 xkWHIivX.net
jsonc? json5?

660:デフォルトの名無しさん
21/05/16 15:14:10.16 OjO2sknJ.net
レイアウトをコードで書く流れなのはKotlin関係ないけどな

661:デフォルトの名無しさん
21/05/16 16:09:18.42 bjgpsQdf.net
ちょっと違う話だが、 IntelliJ IDEA で新規プロジェクトを作る時に Ktor の所は後ろにカッコつきで Obsolete ってなってんだけど、Ktor って廃止される予定なの?

662:デフォルトの名無しさん
21/05/16 17:32:42.39 et9DNQD4.net
>>650
Ktorのプラグインが新しくなったんじゃないかな
旧プラグイン1.5.1-obsolateと1.5.3は別のプラグインとしてインストールするようになってるように見える
新規プロジェクトの前に新しい方のプラグインインをストールすればobsolate無しのKtorが選択できると思う

663:デフォルトの名無しさん
21/05/17 14:53:16.95 DZwTmI3K.net
>>651
なるほど。プラグインだけか。
と思ってアップデートしようとしたが obsolete のやつしか出て来ない。
おかしいなと思って JetBrain のサイトで検索したら出てきたが、 Community はサポートしていなかった。Ultimate だけだった。

664:デフォルトの名無しさん
21/05/17 14:57:10.60 DZwTmI3K.net
それでも無理矢理ダウンロードしてZIPファイルからインストールするとこれが出て動かない。
プラグイン 'Ktor' はプラグイン 'com.intellij.microservices.uast' をインストールすることを要求しています
まあいいか。plugin使えなくても。

665:デフォルトの名無しさん
21/05/17 18:23:09.35 gVJDEHq4.net
質問1
Android studioのkotlin使ってるんやけどカレントディレクトリってどうやって取得すればいい?
System.getProperty(”user.dir”)
でも
Path.get(””).toAbsolutePath().toString()
でも/としか表示されへん
質問2
カレントディレクトリに有るファイルの場合はファイル名だけ指定したらjava.io.Fileを使ってファイル名だけでディレクトリの指定なしに操作できる?

666:デフォルトの名無しさん
21/05/17 18:32:44.93 zF1a9+57.net
ktorのプラグインって廃止されてバンドルになったんじゃなかったっけ

667:デフォルトの名無しさん
21/05/17 23:50:52.56 AWM7Ajza.net
>>654
アプリのプロセスのカレントディレクトリがルートディレクトリなんだろ
もちろんルートディレクトリに対する読み書き権限は無いはず
アプリがデフォルトで読み書きできるディレクトリはこの辺
URLリンク(developer.android.com)
Fileクラスのコンストラクタはカレントディレクトリからの相対指定パスをしてもいいはずだけど、
アプリのプロセスのカレントディレクトリを勝手に変更していいかどうかは知らん

668:デフォルトの名無しさん
21/05/18 08:12:00.56 vup8yESh.net
>>654
そもそも何がしたくてカレントディレクトリを取得したいん?
直感だけど、根本的にあまりやらない方がいいことをしようとしている気がする

669:デフォルトの名無しさん
21/05/18 09:52:29.38 1yVusvif.net
Javaってカレントディレクトリ変更できないしあまりあてにしない方がいいよね。同じようにJVMでJavaのライブラリ使って動くKotlinも同じ。
(nativeとか他のは別として)

670:デフォルトの名無しさん
21/05/18 10:27:28.65 lmZGxPtq.net
ファイルを操作したいならカレントディレクトリは使わずに環境変数なりなんなりで絶対パスを指定して、そこを利用した方が良いと思う

671:デフォルトの名無しさん
21/05/18 23:37:04.25 AEI9A+tv.net
>>659
やと、アプリ専用のフォルダーを勝手につくっちゃうってこと?
アプリを内部にするか外部に保存するかわからんくない?

672:デフォルトの名無しさん
21/05/19 07:55:59.28 iIq+id16.net
アプリと一緒にデータファイル配布して、アプリからそれを読み込もうとしているとかか?

673:デフォルトの名無しさん
21/05/19 17:49:44.81 u4xdB3FO.net
>>661
そのパターン
データ保存したいねん

674:デフォルトの名無しさん
21/05/19 18:10:25.10 iIq+id16.net
配布したいのか、保存したいのか
保存したいのなら>>656のリンクを見ろ
配布したいのなら簡単なのはリソースに含めるとか
配布したファイルへ保存はやったらダメ

675:デフォルトの名無しさん
21/05/21 13:20:22.19 7dyiFiD+.net
>>662
保存と配布どっちだよ。

676:デフォルトの名無しさん
21/05/21 14:32:48.76 II2P4TIk.net
>>664
保存!

677:デフォルトの名無しさん
21/05/21 17:54:11.01 7dyiFiD+.net
>>665
それなら>>656のリンク見てそこに書き込みな。
Androidはアプリごとに書き込んでいい場所が用意されてるから。

678:デフォルトの名無しさん
21/06/20 13:56:59.50 DRMed2ub.net
kotlinのfirsrOrNullの検索効率ってどんな感じなんすか
Javaで2重ループで検索とかすると計算処理を削減するために工夫したりするんだけど
firstOrNullはそういうこと気にしなくてもいんすか

679:デフォルトの名無しさん
21/06/20 14:21:44.30 KYXAfitG.net
二重ループで検索てのが何かよくわからないけど、firstornullは上から順番に一致するものを探してるだけだよ。
高速な検索が必要ならハッシュテーブルとか二分探索とか検討すれば

680:デフォルトの名無しさん
21/06/22 08:51:41.24 Xn56/PVc.net
kotlinはまだ5年は安泰かね

681:デフォルトの名無しさん
21/06/22 14:12:00.49 jX4OI0Ca.net
簡素に書けるからプログラム入門者向けというわけではないな
慣れるとコード量が減って読み書きの時間短縮になるが、知らないと直感的に理解できないデメリットのほうが大きい
プロ向けの言語だと思うわ

682:デフォルトの名無しさん
21/06/23 19:20:52.36 64YJsdY1.net
>>667
下の方に実装が書いてある。物凄く単純。forで先頭から見てるだけ。
URLリンク(qiita.com)

683:デフォルトの名無しさん
21/06/29 15:16:07.90 iGYT4fi4.net
もうすぐ Kotlin 10周年だな。
WikipediaのKotlinのページ見たら2011年7月20日に発表されたって書いてあった。

684:デフォルトの名無しさん
21/07/08 20:57:16.04 +vWLj3Me.net
ロゴが変わっただけかい

685:デフォルトの名無しさん
21/07/09 02:49:07.06 HAPzR3Cs.net
kotlin.ranges.ClosedFloatingPointRange の lessThanOrEquals() メソッドって a <= b やってるのと同じだと思うんだが、どういう時に使う事を想定してわざわざ abstract で定義されてるの?
a <= b の結果を返す実装をしない場合向け? しかし ClosedFloatingPointRange のインスタンスでやれるようにする理由がわからない。

686:デフォルトの名無しさん
21/07/09 02:58:02.94 HAPzR3Cs.net
ソース見ても ClosedFloatingPointRange<Double>, ClosedFloatingPointRange<Float> 共に lessThanOrEquals() は a <= b 返してるだけ。
URLリンク(github.com)

687:デフォルトの名無しさん
21/07/10 15:45:19.22 jbIVp5r2.net
誰も答える事が出来ない、か・・・

688:デフォルトの名無しさん
21/07/10 17:29:16.75 CuVl6tH2.net
浮動小数点 比較 でググれカス

689:デフォルトの名無しさん
21/07/11 00:30:54.29 98wTdhzr.net
勘だけどcompareToで実装した場合BoxingとUnboxingが発生するからとか?

690:デフォルトの名無しさん
21/07/11 01:58:02.78 xDCJE6De.net
何の話かとソースを見たら簡単なことだった
抽象クラスでcontainsやisEmptyをテンプレートパターンで提供するために使ってるじゃん

691:デフォルトの名無しさん
21/07/11 02:18:18.60 cP82I2qM.net
>>677
で?ググったが、君が何を言いたいのか全く分からない。
>>678
Kotlin はプリミティブ型はないから Boxing, Unboxing の概念自体がないよ。
もちろんコンパイラは最適化して内部的にはやっているコードを作るだろうけどね。
かといってそれで動作が変わる事はない。
それと Kotlin は <= 演算子は compareTo() 使うように置き換えられるだけだ。

692:デフォルトの名無しさん
21/07/11 02:27:45.13 cP82I2qM.net
>>679
lessThanOrEquals() メソッドを用意する意味は? 何のために必要なの? どういう時に使うの?
このクラスのインスタンスを通さずに a <= b と書いても同じなんだけど、そう書かない方が良い場合やそう書けない場合があるの?

693:デフォルトの名無しさん
21/07/11 02:29:55.56 xDCJE6De.net
>>681
外から使わせたい意図なんじゃなくて中でもう使ってるんだよ

694:デフォルトの名無しさん
21/07/11 02:50:03.62 cP82I2qM.net
>>682
ああ。ソースの上の方の interface の所で使ってるこれか。
上の方見てなかった。ClosedDoubleRange とかの実装部分では全て override してるから気付かなかった。

695:デフォルトの名無しさん
21/07/11 03:36:10.64 1PXH7bmD.net
>>679
ClosedFloatingPointRangeはClosedRangeを継承してて、ClosedRangeはcontainsとisEmptyを不等号演算子で実装してるのに、
なんでそれをlessThanOrEqualsを使ったものにoverrideしてるのは何故なんだぜ
ClosedFloatingPointRangeのComparable<T>はoperatorのcompareToを実装してるから不等号演算子使えるはずだろ

696:デフォルトの名無しさん
21/07/11 15:03:50.18 turdcYIy.net
>>684
不等号演算子ではIEEE754の定める順序が厳密に実装できないからじゃね?
正負の0をどう順序付けるかとか

697:デフォルトの名無しさん
21/07/11 22:32:15.75 oapAt03e.net
標準の実装だと0.1を10回足した結果が1.0..2.0の範囲外になるからな

698:デフォルトの名無しさん
21/07/12 01:19:08.25 LR2Kyv8n.net
>>676
教えてあげても理解できない、か・・・

699:デフォルトの名無しさん
21/07/12 04:26:13.64 Stykbknw.net
>>687
君はどこで教えてるの?

700:デフォルトの名無しさん
21/07/12 07:34:03.09 4Smn+TRk.net
Androidアプリ開発始めようと思うんだけど、いきなりKotlinの勉強初めて大丈夫?
JAVAの入門書1冊くらい目を通しておいた方がいいかな
HTMLとCSSはわかる
昔やさしいCを一通り読んだり、ドットインストールのPHPのとこを見た程度で、まともなプログラミング経験はないんだけど…

701:デフォルトの名無しさん
21/07/12 07:45:25.78 0kBd/ns6.net
別に問題ないけどandroidの開発はUIを作る部分は今はjetpack composeという新しい
フレームワークが登場しようとしてる時期だからな
今までのやり方を勉強するかjetpack composeを勉強するかそこが悩ましいところ
kotlinのところは共通だから問題ないが
javaは必要になったらその都度調べるでいいんじゃ

702:デフォルトの名無しさん
21/07/12 07:47:46.13 0kBd/ns6.net
なにより動機が大切
作りたいアプリがあるとかあれば完遂できる高くなると思う

703:デフォルトの名無しさん
21/07/12 10:29:21.39 CpHcNeNq.net
composeは糞、流行るわけない
元々ロジックとデザインが混在してカオスだったのをうまく分離した歴史があるのに
なんでまた混在させようとしてるんだ
コードが見にくくなるだけセンスねえな

704:デフォルトの名無しさん
21/07/12 19:41:43.02 Stykbknw.net
流行って貰いたいものが流行らず、流行って貰いたくないものが流行る。
世の中とはそういうものだ。

705:デフォルトの名無しさん
21/07/12 20:38:10.01 bBJu0B3I.net
本質的に結合しているものを分離すると逆に分かりにくくなるんやで
Web の HTML, CSS, JavaScript を1ファイルでコンポーネント化するようなもん
関心の分離っていってな、関心の単位で分離すべきであって言語とか拡張子といった技術で分離すべきではないんねん

706:デフォルトの名無しさん
21/07/12 20:46:21.89 CpHcNeNq.net
main関数のみで全処理書いてろ

707:デフォルトの名無しさん
21/07/12 22:47:29.20 4Smn+TRk.net
>>690
ありがとう、いきなりKotlinでいくことにする
作りたいアプリがいくつかあるから動機の点では問題ないと思う

708:デフォルトの名無しさん
21/07/13 16:16:13.48 NjYyHmnM.net
KotlinをマスターすればJAVAを学ぶのも楽になったりする?

709:デフォルトの名無しさん
21/07/13 17:42:26.07 0X+PqoEr.net
Korlinから入るとJavaがダルすぎるだろうな

710:デフォルトの名無しさん
21/07/13 18:05:59.24 ugiVX/de.net
Kotlinは概ねJavaのスーパーセットだから、Kotlinをマスターすれば自動的にJavaもマスターしたことになる
逆に言えばJavaの知識は漏れなくKotlinで通用するので、言語の基礎からじっくり学びたいならJavaから入ったほうが効率はいい

711:デフォルトの名無しさん
21/07/13 18:51:54.36 72jyBhF5.net
オナシャス!
あしたー!
をマスターすれば
よろしくお願いします!
ありがとうございましたー!
をマスターしたことになるということか

712:デフォルトの名無しさん
21/07/13 19:14:12.59 hwqBl+H/.net
Javaが右手なら
KotlinはTENGA

713:デフォルトの名無しさん
21/07/13 19:34:54.40 QtVQwWW6.net
AndroidにおいてもはやJavaは古語
外人が日本語学ぶときに古文から勉強なんてしないでしょ
エスアイヤーに入ってサーバサイドJavaを書く予定でもない限り、Javaは無視してKotlinだけ勉強すれば充分だと思う
古典解読の必要に迫られてなければ極力関わらないほうがいい

714:デフォルトの名無しさん
21/07/16 20:27:24.69 fn0ZIWtp.net
いまだにkotlin見ないよ

715:デフォルトの名無しさん
21/07/16 20:28:12.10 fn0ZIWtp.net
Javaを代替するのかと思ったらぜんぜんそんなことないし
新しいもの好きはKotlinのかわりにPython使うありさま
どうなってん

716:デフォルトの名無しさん
21/07/16 20:59:39.71 daMSi7HO.net
お前がいけてないゴミ企業に勤めてるだけだろ
ああん?かかってこいよ

717:デフォルトの名無しさん
21/07/16 21:01:55.89 B3wJeb/i.net
スレに小学生が紛れ込んでます

718:デフォルトの名無しさん
21/07/16 21:03:40.72 ie4I3r9l.net
うーん、Androidならともかく、Pythonが比較対象になるってことはサーバーサイドだろ?
サーバーサイドでKotlinが採用されるのって基本的に環境にJVM縛りがある場合なわけで、その時点でイケてないと思うけどな

719:デフォルトの名無しさん
21/07/16 22:05:58.66 fn0ZIWtp.net
スマホに行くとあるのか?

720:デフォルトの名無しさん
21/07/17 09:22:49.55 zXxqlbp9.net
こういうやつが多いからこそ今のうちにKotlinをマスターしておく

721:デフォルトの名無しさん
21/07/17 14:11:07.80 IFwXDVuO.net
新しい物好きがpythonとな

722:デフォルトの名無しさん
21/07/18 03:33:31.77 1LSo9w/B.net
>>704
Android のアプリ開発でもまだ Java を新規で使う?

723:デフォルトの名無しさん
21/07/22 16:13:54.69 o3SPPMDQ.net
答えない、か・・・

724:デフォルトの名無しさん
21/07/22 16:16:46.94 Q+13QovN.net
知らんから
こっちが聞きたい

725:デフォルトの名無しさん
21/07/22 16:32:59.94 o3SPPMDQ.net
>>704は「Javaを代替するのかと思ったらぜんぜんそんなことないし」と断定しているわけだが、
ぜんぜんそんなことないなんてことはないよな?

726:デフォルトの名無しさん
21/07/22 16:41:36.41 o3SPPMDQ.net
まあしかし自分でどんどん使って自分で布教活動して自分が世界に流行らせようというぐらいの勢いが欲しいところではある。人として。

727:デフォルトの名無しさん
21/08/03 19:28:53.26 pl6JBCXA.net
デルタの次はラムダだってよ

728:デフォルトの名無しさん
21/08/04 06:05:44.92 Px3vnVIJ.net
>>716
時代が追いついた?

729:デフォルトの名無しさん
21/08/06 16:48:30.34 pdMuy17Q.net
Int型だけ扱うならArrayよりIntArrayの方が速いってのはわかったんだけど
FloatArrayとかでも同じくArrayより速いの?

730:デフォルトの名無しさん
21/08/07 03:43:00.44 efxonHum.net
速いんじゃないの?多分 Java の float[] になっているから。

731:デフォルトの名無しさん
21/08/07 03:48:28.66 SKzXKOLc.net
オーバーヘッドがボクシングにあるんだから当然じゃよ
類推できないならわかったというより覚えただけじゃな

732:デフォルトの名無しさん
21/08/07 17:38:52.49 s6dGlW/R.net
ボクシング???ググったらなんか出てきました…
読んで精進します
ありがとうございました

733:デフォルトの名無しさん
21/08/07 18:43:36.70 efxonHum.net
boxing の「箱詰め」って意味の方だな。
殴り合いの方も囲まれた中に人を入れてやってるので何となく概念は同じかな。

734:デフォルトの名無しさん
21/08/08 02:23:55.98 1NtvLxoY.net
ラムダが空港で検出されたってよ

735:デフォルトの名無しさん
21/08/08 07:12:24.73 zogiP73Y.net
ラムダが世界を支配して関数型プログラマー大勝利!!
そして、さらなる新型株により新しい時代の幕が開く。

736:デフォルトの名無しさん
21/08/09 04:25:12.65 hxwUAA35.net
jdkってコンパイル遅すぎない?ハローワールドだけで数秒かからないか?

737:デフォルトの名無しさん
21/08/09 13:48:04.32 bwkDBZAI.net
新しいのは早いらしいぞ

738:デフォルトの名無しさん
21/08/10 04:17:16.39 RT5RB9Hc.net
javac も JVM 上で動く一つの Java プログラムなので起動時に JVM の初期化で時間が掛かる。

739:デフォルトの名無しさん
21/08/10 18:23:05.29 JaPZtVcK.net
kotlinですごく単純なメモアプリ作ってるんだけどここで質問していいのかな?

740:デフォルトの名無しさん
21/08/10 18:27:04.30 +Y+PDhFJ.net
どうぞ

741:デフォルトの名無しさん
21/08/10 18:53:48.14 JaPZtVcK.net
URLリンク(dotup.org)
menuレイアウトにsave,deleteの二つを作ってんだけど
deleteボタンを押下したらデータを削除する機能を付けたいと思ってる
んで上図でclear()を追加したらできたんだけど、即時反映されない
clear()の後にcommit()を追加してみたけどダメだった
どうすりゃ即時反映できるんのですか?

742:デフォルトの名無しさん
21/08/10 20:10:37.27 BpNna49q.net
反映されないとはどういうことか
データが消えていないということか

743:デフォルトの名無しさん
21/08/10 20:17:49.30 JaPZtVcK.net
deleteボタンを押してアプリを終了→再起動したらデータは消えてるので
おそらく画面が更新されていない?と思っています
てことは画面の更新処理を追加すればいいのかな⁉

744:デフォルトの名無しさん
21/08/10 20:24:53.23 c5407/+d.net
invalidateじゃね

745:デフォルトの名無しさん
21/08/10 21:34:50.13 JaPZtVcK.net
うーん

746:デフォルトの名無しさん
21/08/10 21:37:57.93 JaPZtVcK.net
invalidateはjavaの機能?頭が痛くなってきた...

747:デフォルトの名無しさん
21/08/10 22:49:50.41 0wKAWNP/.net
画面の更新処理書けばいいだけだろ
22行目で自分で更新処理かいてるんだから同じ事すればいいだけだろ

748:デフォルトの名無しさん
21/08/10 22:52:16.19 75HG6oSE.net
bindingよく知らないんだけど、onCreateでやってるbinding.textInputEdit.setText()は、deleteしたときにもやらないといけないんじゃないの?

749:デフォルトの名無しさん
21/08/10 22:52:57.09 75HG6oSE.net
かぶったわ

750:デフォルトの名無しさん
21/08/10 23:14:40.34 /YOKAAqz.net
すいません、風呂入って頭空っぽにしたらすんなり理解できました
binding.textInputEdit.setText("")
これ追加するだけでしたね、ありがとうございました
お騒がせしました

751:デフォルトの名無しさん
21/08/12 22:10:10.91 yUQmpKTY.net
手詰まりになったと思った時はだいたいそういう簡単なポカしてるものよ
風呂入ったり散歩したりすればだいたい解決する

752:デフォルトの名無しさん
21/08/13 01:08:57.45 EY++miAR.net
こんばんは
あれから機能追加してるんですけどまた行き詰ってます
また質問いいですか?

753:デフォルトの名無しさん
21/08/13 03:22:25.49 18U08+hI.net
AndroidならKotlin関係ないのでこちらで
Androidプログラミング質問スレ revision53
スレリンク(tech板)

754:デフォルトの名無しさん
21/08/13 06:51:20.74 EY++miAR.net
専用板あるんですね、ありがとうございます
そっち行きます、

755:デフォルトの名無しさん
21/08/24 04:58:32.11 78IJrgpA.net
>>710
年寄りが最近と言いつつ十年前の話を始めるのに似ているな

756:デフォルトの名無しさん
21/08/24 10:08:37.49 3yRIPy2m.net
いきことだったけどJava先にやった方が結局早い気がしてきた

757:デフォルトの名無しさん
21/08/28 17:04:58.34 HPaMnV06.net
「いきこと」という、俺の知らない日本語がまだあったのかと思い、ネットで検索して出てきたのがこれ。
URLリンク(ikikoto.com)

758:デフォルトの名無しさん
21/08/28 17:10:49.65 HPaMnV06.net
まあしかしこないだ本当に「しくはない」という言葉があることがわかって驚いたんだけどね。
最初見た時「惜しくはない」の「惜」が編集ミスで消えただけだと思ったが、文脈からして変だと思って検索して発覚。

759:デフォルトの名無しさん
21/08/28 18:39:25.65 QOe16O/J.net
百聞は一見に如かずという諺もあるし、そこまで聞かない言葉でもないような気がするけど。

760:デフォルトの名無しさん
21/08/28 21:09:01.00 jimgwps1.net
如くは無しは高校の漢文で習ってるはず
ゆとり世代はその限りではない

761:デフォルトの名無しさん
21/08/29 04:37:00.40 Lt7wAmk4.net
で、>>745の「いきこと」って何?間違えたとしても何をどう間違えたのか推測できない。文脈からも分からない。

762:デフォルトの名無しさん
21/08/29 06:57:30.15 v5m/a1Rg.net
>>750
Javaをやらずに「いき」なり「こと」りんから入った、の略。
Java先にやった方が、という続きの文章と、KotlinをやるにはJavaの知識は必須かという
議論の存在を知らないと推測できない。
自分もわかるまで数分かかった。>>750でなく>>745が悪いと思う。

763:デフォルトの名無しさん
21/08/29 07:59:05.47 gpvNvkXc.net
「イキってKotlinから」の略だと思ってた

764:デフォルトの名無しさん
21/08/29 08:35:50.15 PIpVjLF4.net
「いき」なりそんな「こと」言われたら困るじゃん
もう「いき」なりあんな「こと」しないでよね

765:デフォルトの名無しさん
21/08/29 09:01:26.36 CJrX7/qX.net
羽ばたいーたらー 戻らなーいーと言ってー♪
いきことがかりも一度Flutterを始めたらJavaに戻るなと歌で訴えているよ

766:デフォルトの名無しさん
21/08/29 10:02:53.95 v5m/a1Rg.net
>>754
Flutterの言語がdartでなくKotlinだったらなあ

767:デフォルトの名無しさん
21/08/29 11:28:55.35 vkrlViTu.net
KotlinはFlutterが求める要件は満たせてないんじゃね
ネイティブコードとJavaScriptへのトランスパイルが重要なのにKotlinは全然良くならないし
DartVMによるホットリロードはJVMでも出来るのかな
プログラマが直接書く部分はKotlinが優れてるけど、それ以外はDartの方が良い/今後良くなりやすい
DartはほぼFlutter専用なのでFlutterに合わせて言語側に変更を加えられる

768:デフォルトの名無しさん
21/08/30 13:36:11.58 IjMzUUV8.net
Kotlinマスターになるぞ!
これから絶対にKotlinの覇権がくる!
使えるのはアンドロイドだけじゃないんだ!

769:デフォルトの名無しさん
21/08/30 13:38:46.74 adoWwHgT.net
chromebookがmacbookくらいのシェアになったらなあ

770:デフォルトの名無しさん
21/08/30 14:05:07.75 rHJ1n6d1.net
何年か前に米のラップトップの販売シェアはすでにトップって聞いたけど

771:デフォルトの名無しさん
21/08/30 18:17:13.34 SLXKrFaK.net
デスクトップOS 2021年
順位 プロダクト 4月のシェア
1 Windows 65.88%
2 Unknown 16.64%
3 OS X 15.63%
4 Linux 1.34
ノートパソコンOS,2019,2020にChromeがマック追い抜く
Windows 85.4% 80.5%
Chrome


772: OS 6.4% 10.8% macOS 6.7% 7.5 スマートフォンOS 2021年3月,4月 1 Android 72.19% 71.83% ↑ 2 iOS 27.00% 27.41% ↓ 3 Samsung 0.39% 0.38



773:デフォルトの名無しさん
21/08/31 01:09:33.02 xbAoiFkL.net
今は全然日本語の情報ないからな
今のうちに英語の情報仕入れまくって数年後にくるであろうKotlinフィーバーに備えるぜ

774:デフォルトの名無しさん
21/08/31 01:20:44.47 nkEfBFAj.net
え? Kotlin の日本語情報? Webに沢山あると思うが? 本も沢山出てるよ。

775:デフォルトの名無しさん
21/08/31 01:36:39.03 upBvXNj6.net
ああいうのは大体周回遅れだからな

776:デフォルトの名無しさん
21/08/31 03:57:27.53 nkEfBFAj.net
まあでもこの頃は自動翻訳でも結構読めるようになったよね。修正してくれてる人が居るのかも知れないが。

777:デフォルトの名無しさん
21/09/01 16:58:26.51 9b0EOTJN.net
ネット上の情報は増えたけど書籍はまだまだだわ。
諸初学者向けの入門書はあるけど、書籍でそれ以上深掘りたいなら英語ばっかだな。

778:デフォルトの名無しさん
21/09/02 10:47:34.91 kvuhlPFL.net
Javaの本に書いてることをKotlinで再現していけばいい

779:デフォルトの名無しさん
21/09/02 12:08:47.39 ofBHsFF8.net
昔は結構深い本があった気がするんだけど、
ここ10年くらいで入門書ばかりでネットの情報見た方が良くなった

780:デフォルトの名無しさん
21/09/02 14:52:45.48 2IGZCqIP.net
>>766
最初の頃はそれでいいけどKotlinしかない記法は身につきにくいからなぁ

781:デフォルトの名無しさん
21/09/06 16:00:58.98 6XTaCMD4.net
フィールドはsetter, getter使ってアクセスしろって言ってたくせに
kotlinになったらcallbackとか var callbackにして直接アクセスokになったのなんなん

782:デフォルトの名無しさん
21/09/06 16:13:37.76 FistWoaj.net
kotlinのプロパティなら後からでも影響最小限度でsetter, getterに書き換えできるからでしょ

783:デフォルトの名無しさん
21/09/06 16:51:07.08 phvZhzBO.net
Kotlinのクラスに書けるのはフィールドではなくプロパティだから問題ないでしょ
内部では同じことで、同じメリットも享受できる

784:デフォルトの名無しさん
21/09/06 16:51:36.83 phvZhzBO.net
すまんリロードしてなかった

785:デフォルトの名無しさん
21/09/07 12:36:39.75 TqdmO5+e.net
Kotlinはgetter, setterが自動で作られてるよね?表に見えるように書く必要がないだけで。

786:デフォルトの名無しさん
21/09/08 00:17:45.55 mdkOvg+E.net
Androidアプリマンいたら聞きたいんだがネイティブで作るのって実際の現場だとどれくらい選択されてる?
ググってるとネイティブ学んでおけばOK的な記事が見つかる一方で実際の現場では保守工数を考えてマルチプラットフォームでiOSも合わせて同資源で作るのが多いのか気になった

787:デフォルトの名無しさん
21/09/08 03:00:33.07 eOkNAxV3.net
現場つっても業界によってだいぶ事情が違うんじゃないの
顧客の一律の端末に特定のアプリを開発してインストールする(例えば飲食のタブレット注文アプリ)
ならネイティブで開発が普通だろうが
例えばゲームのようにアプリそれ自体を一般に販売するような場合、特定の事情でもない限り
アンドロイドのみ、iOSのみということはありえないので当然マルチプラットフォーム前提になる

788:デフォルトの名無しさん
21/09/08 04:06:24.16 wRK4TQzB.net
最近はもうあいぽん無視するとこも出てきてるでしょ
シェア2割しかないし

789:デフォルトの名無しさん
21/09/08 08:17:54.25 iAX5sgCV.net
unityやマルチ使ってわざわざiPhone外すことはない
Androidだけなのはswiftできなかったとか特殊な事情だろ知らんけど

790:デフォルトの名無しさん
21/09/08 10:10:22.99 J9nzk2Oz.net
まともなアプリはネイティブ
webからサービス展開していったような会社はreactNativeとかwebViewだけのガワアプリだったりするけど大抵クオリティが微妙
君が普段使っているアプリを見てみたら良い大体まともなアプリはネイティブだろう

791:デフォルトの名無しさん
21/09/08 11:34:34.94 gOjAyVi1.net
ソシャゲとかはマルチプラットフォーム使って1資源で両OSビルドしてるイメージ
その他のアプリは要件に応じて同じようにマルチにするかネイティブで別々で作るか決めてるイメージ

792:デフォルトの名無しさん
21/09/08 21:37:14.98 2235Uth/.net
基本的にはネイティブが第一選択肢かな
マルチプラットフォームで出来ちゃいそうなものだったり、開発リソース次第ではそちらを選ぶ
マルチプラットフォームで開発するにしても、結局ちょっと込み入ったことになると両プラットフォーム用に実装分けなくちゃいけなくなるのよね

793:デフォルトの名無しさん
21/09/08 21:43:23.17 2235Uth/.net
そういう意味ではFlutterはとても良くできてるからマルチプラットフォームでできる範囲がすごく広がったな、
ネイティブを完全に置き換えるまではまだ行ってないけど、かなりの部分を吸収してくれる
開発言語がDartであることを除けばとても良い

794:デフォルトの名無しさん
21/09/08 22:52:07.37 jWzgnL0E.net
センサ類あれこれ触るならネイティブだわなって気がする

795:デフォルトの名無しさん
21/09/09 00:32:12.06 du2BnvwR.net
スマホVRの為にジャイロ取得したいんだけど取説ページありませんか?

796:デフォルトの名無しさん
21/09/09 00:37:15.29 ZoElMF5Y.net
公式にあるじゃろ(英語)

797:デフォルトの名無しさん
21/09/09 03:43:04.90 xhx3WSqk.net
流行り物は結構日本語化されてるもんだよ
URLリンク(developer.android.com)

798:デフォルトの名無しさん
21/09/09 18:52:07.82 A1tbVRU7.net
>>785
ありがとうございます

799:デフォルトの名無しさん
21/11/10 02:08:18.09 nSaNfQNZ.net
constてなんのためにあんの?

800:デフォルトの名無しさん
21/11/10 03:42:12.72 prXPvJNI.net
constつけられるならつけた方が処理が早くなる可能性がある
でも、つけられるのはプリミティブ型か文字列だけだし、実行時に値が変わるような場所にはつけられないし、つけられる定義の場所にも制限がある

801:デフォルトの名無しさん
21/11/10 17:01:46.07 AEbYhI02.net
便乗して教えて欲しいんだけどさ
constってつけても、その内容ってテキスト領域からスタックにコピーされるの?
それともテキスト領域への参照になるの?

802:デフォルトの名無しさん
21/11/10 18:14:21.91 LomFy4UO.net
うっせ警告出るから付けてるだけじゃjetbrainsに文句言えや

803:デフォルトの名無しさん
21/11/10 20:53:08.95 1fusRTws.net
constって#defineみたいなものやろ

804:デフォルトの名無しさん
21/11/10 23:18:14.39 tD/GNPr0.net
太麺で生麺タイプのカップうどんってなんて名前だったっけ
constじゃなくて

805:デフォルトの名無しさん
21/11/10 23:43:21.92 Ch3FBZdP.net
>>792
ごんぶと?

806:デフォルトの名無しさん
21/11/10 23:50:42.49 2Gj2Pag4.net
検索したらこんなページを発見。
kotlinで定数を定義する時【const】vs【val】
URLリンク(qiita.com)

807:デフォルトの名無しさん
21/11/16 00:31:43.45 /qwY16g/.net
1.6.0

808:デフォルトの名無しさん
21/11/16 18:24:33.36 V/9tudbH.net
1.6は何が追加されたの?

809:デフォルトの名無しさん
21/11/16 18:31:18.12 7nqPe+y1.net
教えてください。
関数の中のmodifierとcontentの構文の意味がわかりません
@Composable
fun StaggeredGrid(
modifier: Modifier = Modifier,
content: @Composable () -> Unit
) {...

810:デフォルトの名無しさん
21/11/16 18:38:03.25 R96ipvtr.net
jetpack compose とかイキリやがって

811:デフォルトの名無しさん
21/11/16 18:41:45.15 7nqPe+y1.net
どうしてもイキリたいんで助けてください

812:デフォルトの名無しさん
21/11/16 19:58:02.21 mlgO19O/.net
modifierの=はただdefault値設定してるだけじゃ
でcontentの方の() ->Unit
はただの関数型でしょ
引数なしで戻り値がUnitの関数型
@Composableはアノテーション

813:デフォルトの名無しさん
21/11/16 21:28:24.99 zxrsprDW.net
>>800
ありがとう
なるほど!解るような、解ってないような。
もらったワードでさらに調べてみます

814:デフォルトの名無しさん
21/12/24 20:52:00.29 aX8NOECa.net
スマホあり。ネットなしでkotlin使うのは厳しいかのう。

815:デフォルトの名無しさん
21/12/24 21:44:29.74 uB5PXekg.net
スマホあり=ネットありだろ

816:デフォルトの名無しさん
21/12/25 04:35:49.54 62MjaTIU.net
今ここには何を使って書いてるんだ?ここにネット接続しないで書ける立場の人なのか?

817:デフォルトの名無しさん
21/12/25 05:34:38.17 xHHo8a8h.net
スマホあるから調べ物はできるけどスタンドアロンPCで開発したいってことかな
テザリングすればいいんじゃないかな

818:デフォルトの名無しさん
21/12/25 12:45:54.83 sZ4+jXNJ.net
ネットの反対はスマホ。
オーケー?

819:デフォルトの名無しさん
21/12/25 13:22:04.94 xHHo8a8h.net
A≠B や A⊄B だからといって反対とはならんやろ

820:デフォルトの名無しさん
21/12/25 17:19:21.55 62MjaTIU.net
AWS Cloud9 とか、ああいうのはタブレットやスマホで使えないのかな?
ブラウザ上で動く IDE のようだが。
まあそこまでしなくても Android の場合は中が Linux だからシェル動かすアプリ入れれば動かない事はないだろうが、Kotlin コンパイラについてはインストールできるか分からんな。
理屈の上ではできそうだが。

821:デフォルトの名無しさん
21/12/25 17:21:33.04 y/+CQW2M.net
うざ

822:デフォルトの名無しさん
21/12/28 01:42:45.08 e4meyx5L.net
千葉興業銀行、4月から副業解禁 県内地銀初
南都銀行、4月から行員の副業制度導入 ウェブ制作など
荘内銀、行員の副業・兼業解禁
フィデアHD、副業・兼業制度を導入
横浜銀行、10月から従業員の副業・兼業解禁
鹿児島銀、副業解禁を検討 九州FGと肥後銀は10月導入
肥後銀行が副業制度導入へ 多様な働き方認める 10月から

823:デフォルトの名無しさん
22/01/02 13:11:37.13 o9R7ffl7.net
あけましておめでとうございます。
ことりんもよろしくお願いいたします。

824:デフォルトの名無しさん
22/01/05 07:14:46.81 BFTmNql5.net
>>811
座布団一枚と言おうとしたが、>>515で既出だった...
まあ、恒例行事にしてもいいかもしれない...?

825:デフォルトの名無しさん
22/01/06 01:48:29.50 TQRXE+kb.net
それ書いたのも俺w

826:デフォルトの名無しさん
22/01/07 05:39:16.47 tynFZTss.net
しつこく2度も書いて
さらに自演

827:デフォルトの名無しさん
22/01/07 11:32:13.33 5vtplIbR.net
1年に300レスすら書かれないのかぁ
話すことないんだね

828:デフォルトの名無しさん
22/01/07 13:07:55.92 3ZLUKhuk.net
じゃあ本題に戻ってxamarinの話をしようか

829:デフォルトの名無しさん
22/01/07 13:13:40.14 QNXnpUso.net
Xamarin程の糞はない

830:デフォルトの名無しさん
22/01/07 17:29:26.31 +rjvm48j.net
>>814
いや、3度目だ。一昨年の正月にも書いた。(本当)

831:デフォルトの名無しさん
22/01/07 17:31:52.79 bep9YfUz.net
3年間何も進歩がないなんて…
来年に期待(振り

832:デフォルトの名無しさん
22/01/07 20:05:13.94 tynFZTss.net
3度目なら2年間

833:デフォルトの名無しさん
22/01/14 12:29:08.87 fsPf2koq.net
win, linux, macどれでも動くソフト作りたいから悩んでたけど、色々心配なcompose for desktopか、JavaFXか、まだpreviewの.NET MAUIか、どれ選べばいいのか......

834:デフォルトの名無しさん
22/01/14 13:13:46.34 ky7+ITf7.net
FlutterとかElectronも選択肢に入れたげて

835:デフォルトの名無しさん
22/01/14 13:18:28.18 fsPf2koq.net
>>822
Electronは忘れてた、ありがとう。
Flutterってfor desktopもあるのか。
Kotlinが好きだから、composeかJavaFX、最悪C#と思ってた。

836:デフォルトの名無しさん
22/01/22 16:59:24.03 qigFyzKc.net
おすすめ・人気の入門書はありますか?

837:デフォルトの名無しさん
22/01/23 21:09:55.08 l3lVaHlr.net
本なんかいらんよ、はっきりいってWebの情報ググればいい
昨今はどの分野、言語もトレンドや情報更新が速すぎて出版されてる本の内容は出た時点で古くなってることが多い
逆にWebの情報ググって習得できないようなら本を買っても何も習得できないと断言できるので本が無駄になるだけ
匿名ネットにいて本をすすめてくるやつはその出版にかかわってるやつ、つまりステマ勢だけ

838:デフォルトの名無しさん
22/02/12 16:45:49.28 MORw/gx6.net
class の中で companion object Default: クラス名 { ... } みたいにするとクラス名と同じ名前のインスタンス名でアクセスできることに、今わかった。
kotlin.random.Random 調べていてわかったんだけどね。どうしていきなり Random.nextInt() みたいなことが出来るのか、どこかで Random という名前でプロパティ作ってあるのか、とか探し求めて2時間後に判明。
こういうのって入門書に書いてないような気がするが、書いてあるんだろうか? (昔のCのK&Rみたいに重要な事がさらっと簡単に書いてあったり?)

839:デフォルトの名無しさん
22/02/12 17:54:51.73 8ted8XK+.net
Kotlin の第一人者は太郎!
ちょっと古いけど、良くまとまっている
Kotlinスタートブック -新しいAndroidプログラミング、長澤 太郎、2016

840:デフォルトの名無しさん
22/02/13 04:06:27.89 efpgCfVW.net
>>826
URLリンク(dogwood008.github.io)
このリファレンスの和訳のコンパニオンオブジェクト(Companion Objects)で説明されていることだよね?
たぶんオリジナルのリファレンスにも同じ記述があるはず
入門書でもこの辺は書いてあるんじゃないのかな?
companion objectには名前をつけることができて、RandomクラスではDefaultという名前をつけてる
この名前は省略できてその場合にはCompanionという名前になる
普通にcompanion object内の物を使うときにはこのDefaultとかCompanionは省略できるので、Random.nextInt()みたいに使える

841:デフォルトの名無しさん
22/02/19 16:25:32.63 /niZdYj5.net
>>828
やはり重要な事がサラッと簡単に書いてあるパターンだな・・・

842:デフォルトの名無しさん
22/02/19 23:36:54.54 DKtISDgp.net
companion objectは文法がちょっと独特だけど、Androidならクラス内の定数を定義する場所の定番だし、createInstance()みたいなのを書く場所にもなるので、これを知らないとかは普通無いと思う
単にクラス名.メソッド名()で呼び出せるようにするのならcompanion objectの中にメソッドを書くだけでいい
Randomの使い方(抽象クラス内のcompanion objectがその抽象クラスを継承具象化してクラスメソッドとしてアクセス可能にする)はちょっと特殊だけど、companion objectの仕様が理解できてれば何やってるかわかるはず

843:デフォルトの名無しさん
22/02/21 15:52:17.64 HEvxyLO5.net
>>830
何やってるかわかるはず?
そんなのみんなわかってるよw

844:デフォルトの名無しさん
22/03/07 04:05:27.74 t70FSnsj.net
私はわからない。

845:デフォルトの名無しさん
22/03/10 11:27:58.08 71DVBJ7i.net
Jetbrainsって実質ロシア企業だよね
Kotlinの将来性が急に不安になってきた

846:デフォルトの名無しさん
22/03/10 12:43:57.95 KEVw92pc.net
URLリンク(www.itmedia.co.jp)
ロシア系ベンダーJetBrainsがウクライナ侵攻を非難 「IntelliJ」「PyCharm」など人気IDE開発
かなり素早く対応したから大事にはならなさそう

847:デフォルトの名無しさん
22/03/10 13:29:43.22 4PtzLHCX.net
>>834
めちゃナイーブな見方やな
the attackがロシア軍によるウクライナ侵略行為を指してるかどうか分からない
ロシアが主張するようにウクライナ軍による東部のロシア系住民の虐殺を指してるのかもしれない
表面的に立場を明確にしたように見えて意図的にどちらの立場にも取れるように計算し作られたツイート
実際アメリカではサブスク解除する人が続出してる

848:デフォルトの名無しさん
22/03/10 13:46:08.16 arIhM3ij.net
カスペ、JetBrains以外だとよく使われてるのはWinRARだな
WinRARは先週新バージョンが・・・

849:デフォルトの名無しさん
22/03/10 14:00:50.52 NM+rUlgU.net
>>835
こんなところにも逆張りバカか工作員来るの?

850:デフォルトの名無しさん
22/03/10 15:32:53.66 u7mOVYGR.net
一番有名どころはNginxでしょ

851:デフォルトの名無しさん
22/03/10 21:38:52.94 VVJ7gAGc.net
nginxはもうロシア系じゃない
開発拠点も移ってる

852:デフォルトの名無しさん
22/03/13 17:36:27.20 snewu3ZU.net
プログラミング学び始めてみたんだけどKotlinだとガッしてもらえないんですか

853:デフォルトの名無しさん
22/03/13 18:07:19.84 Lil7mSdF.net
うまいことすれば、してもらえるよ。

854:デフォルトの名無しさん
22/03/19 15:09:55.18 CZI3HevE.net
難しいな。Kotlin だと null.toString() が文字列の "null" 返してくるしな。

855:デフォルトの名無しさん
22/03/19 19:36:15.65 KdEbdcMu.net
デバッグやログの出力には便利だなw

856:デフォルトの名無しさん
22/04/03 15:27:29.59 8njkmZuA.net
Kotlin の class の中の companion object {} の中の変数って Java の static と同じかと思ったら微妙に違うな。
クラス名を通してアクセスできるけどクラスのインスタンスを通したらできない。
class X { companion object { val a = 123 } }
val xxx = X()
のように書いた場合 X.a は大丈夫だが xxx.a は Unresolved reference になって駄目。

857:デフォルトの名無しさん
22/04/03 15:47:26.58 luTAmabK.net
インスタンス変数を経由してクラスメソッドにアクセスできるというのがJavaの文法的な欠陥だからね
Kotlinはそれを改善してる
Javaでもそう書いたらIDEや静的解析ツールは警告してくれるよ
メソッドをシームレスに扱えることはメリットだけど、異なる型に代入したとき、親をオーバーライドするのか隠すのかで異なる振る舞いをするから間違いを誘発する

858:デフォルトの名無しさん
22/04/03 15:52:48.63 luTAmabK.net
言語はできることが多いほど使いやすいとはならない
できることを絞ることで使いやすくした好例がJava
本来シームレスに扱うことができないものをシームレス風に書けるようにしてしまった過ち

859:デフォルトの名無しさん
22/04/12 06:35:21.23 lrbc59/j.net
kotlinでロガーの定義書くのがめんどい。ここだけは lombok 使って @Slf4J で済ませてた時代から明確に退化した。

860:デフォルトの名無しさん
22/04/12 17:54:00.31 kSu4KqUD.net
Ktor 2.0 だってよ

861:デフォルトの名無しさん
22/04/12 18:57:33 OQgBIeg/.net
キタ━━(゚∀゚)━━!!

862:デフォルトの名無しさん
22/05/07 11:40:27 uHJBABFb.net
javaができないとkotlinは難しい?

863:デフォルトの名無しさん
22/05/07 15:28:40.99 0oFNq0Gf.net
>>850
Kotlinは入門レベルではベターJava言語だから、Javaができるなら容易だしできないならそりゃ厳しい
これはJava→Kotlinで学ばなければいけないでは決してなくてKotlinが理解できるなら基本的なレベルのJavaは容易に理解できるようになってるよ

864:デフォルトの名無しさん
22/05/09 12:56:09.87 XT007fgR.net
初心者です
arrayデータをプリファレンスに保存するの難しくないですか?

865:デフォルトの名無しさん
22/05/09 14:30:26 4lqOPtvp.net
>>852
あなた以外の人はみんな難しいと思っていません。
難しいと思うのであれば、何が難しいか具体的に書かないと、欲しい回答は得られません。
たとえば、keyの設定が困るとか、可変の場合どうしたらいいか分からないとか。

866:デフォルトの名無しさん
22/05/10 23:25:21 CQsKbFR9.net
プリファレンスって、Android の話?
文字列にする必要があるなら JSON にすれば良いのでは?

867:デフォルトの名無しさん
22/05/11 11:18:30.45 BEPAU2f/.net
androidのSharedPreferenesはInt,Long,Float,Boolean,String,Set<String>を格納するためのモノで、新しく置き換わる予定の新クラスPreferencesDataStoreでもこの方針は変わっていない
多様な型を格納したい場合にはProtoDataStoreやRoomを使えという方針
公式日本語ドキュメントも用意されてるんだから読めよ
URLリンク(developer.android.com)

868:デフォルトの名無しさん
22/05/20 22:48:58.80 hjEJ1J5P.net
androidのkotlinはもう発展してないよ
進歩:sdkでこういうことができます!
現在:パーミッションが必要!さらにアーキテクチャはこうした方がいいよ!
Androidの進歩は終わって、作り方とかアプリの品質に向かってる。
これが進歩なら他の言語を知らないやつなんだろうなと思う

869:デフォルトの名無しさん
22/05/21 05:49:48 d54j+4z/.net
>>856
それでいい
機能発展で破壊的アップデートが来るほうが迷惑

870:デフォルトの名無しさん
22/05/21 07:22:48.58 6RYYHPih.net
乳がデカすぎる

871:デフォルトの名無しさん
22/05/21 07:35:52.15 l6UEY4LC.net
c#アプリを今まで作っていて、androidアプリをやることで、javaで殆ど同じ書き方で勉強しなくても良かったけどコピペ出来る例はkotlinばかりなんで、kotlin勉強しようと思うが、javaで組んでいるアプリを途中でkotlinに変更する方法ありますか?

872:デフォルトの名無しさん
22/05/21 09:00:46.23 nZ5iF1d9.net
java-kotlinで互換があるから相互運用でいいと思うけど、
気になるならintellij系IDEとかのjava->kotlin変換機能を使うとか

873:デフォルトの名無しさん
22/05/21 13:12:53.44 npVrfBYE.net
Android StudioはJavaをコピペしたらKotlinに変換してくれた記憶が
URLリンク(developer.android.com)
既存の Java コードを Kotlin コードに変換する

874:デフォルトの名無しさん
22/05/22 00:01:12.11 lp+ELP30.net
若干手直しいるけどな。

875:デフォルトの名無しさん
22/05/22 01:00:15.59 SQ8NOhuX.net
JavaコピペでKotlin変換昨日は、コンバーターとしてではなく
Java人がKotlinを習得するときの勉強機能として最適
ソースは俺

876:デフォルトの名無しさん
22/05/22 01:18:20.82 WWWwXDma.net
ジャワ原人

877:デフォルトの名無しさん
22/05/22 01:19:21.96 slm9CwV+.net
便利だよな~

878:デフォルトの名無しさん
22/05/23 07:59:55.33 pCW3kynI.net
null周りの変換がおかしくならないか?

879:デフォルトの名無しさん
22/05/24 02:20:45.47 bD/sS3Z/.net
どういうこと?

880:デフォルトの名無しさん
22/05/24 03:34:09.81 D5rEPhmz.net
そこは手作業~♪
ひたすら?を消してnull安全にする作業はご愛嬌

881:デフォルトの名無しさん
22/05/24 12:03:47.70 SBh7n6X/.net
なんか面白いことできる?

882:デフォルトの名無しさん
22/05/24 21:03:49.03 JgmyekeM.net
面白いこと、とは?

883:デフォルトの名無しさん
22/05/24 21:33:10.10 1Vdq0D0o.net
Kotlinをお題に一発笑わせてくれというオファーかな

884:デフォルトの名無しさん
22/05/25 05:51:41.99 LgK3S6EY.net
小鳥もKotlin愛用者

885:デフォルトの名無しさん
22/05/25 06:59:02.05 Zc52cxyf.net
時代はKotlin/Native

886:デフォルトの名無しさん
22/05/25 22:30:40.10 VrGl71Q4.net
kotlin/nativeのコンパイル速くなった?

887:デフォルトの名無しさん
22/05/26 04:17:50.77 LputSoLL.net
Kotlin/nativeで何作るの?

888:デフォルトの名無しさん
22/05/26 13:37:01.58 e2A9BIOd.net
Hello, world.

889:デフォルトの名無しさん
22/05/26 13:45:10.69 ueSB5H9+.net
誰も面白いことできてないんだな

890:デフォルトの名無しさん
22/05/26 15:28:50.31 J1njmFa2.net
泥アプリはとりあえずjvmと分離させたからいつでもnativeとして動かせる

891:デフォルトの名無しさん
22/05/26 18:28:41.43 x8YRiuEd.net
kotlin native ってWebAssembly も出来るんでしょ?これから伸びると思うけどなあ

892:デフォルトの名無しさん
22/06/01 05:58:02 6xR2tV/P.net
>>875
将来はわからんけど今Kotlin/Nativeの一番のターゲットはiOSアプリかな

メモリ回りが怪しい感じだったけど改善頑張ってるようだ
URLリンク(blog.jetbrains.com)

893:デフォルトの名無しさん
22/06/01 18:40:06.72 N8P3vNE+.net
政治的な意味でもSwiftを差し置いて使う機会なんてあるのだろうか…

894:デフォルトの名無しさん
22/06/01 19:30:58.52 6xR2tV/P.net
>>881
有名どころではNetfixが使ってる
flutterやXamarinみたいにAndroidとソース共通化するのが目的だね

895:デフォルトの名無しさん
22/06/01 20:29:04.24 ABgrvWo9.net
逆にswiftでandroidも作れないものか

896:デフォルトの名無しさん
22/06/01 21:27:13 NcmEFuka.net
それはApple自信がやらなければ、他には誰もメリット無いしやらんだろうね

897:デフォルトの名無しさん
22/06/01 22:53:47.79 RpRdOIJI.net
自社製品内でしかクロスプラットフォーム対応する気のない糞林檎のSwiftカス、
と思い込んでたけど、Swift実装のScadeとやらがあるらしい、知らんしスレチだけど
URLリンク(qiita.com)

898:デフォルトの名無しさん
22/06/11 04:21:31 PpSh993H.net
Kotlin 1.7.0 だってよ

899:デフォルトの名無しさん
22/06/11 23:20:02.51 Nh4QsFq2.net
ゴブリン「ぐへへh」

900:デフォルトの名無しさん
22/06/16 08:13:18.63 p+7mddoa.net
スコープ内だけで使う変数をスコープ終わりにメモリ解放する方法ってありますか?


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