次世代言語26 TypeScript Swift Go Kotlin Nim

■ このスレッドは過去ログ倉庫に格納されています
2022/06/21(火) 09:27:46.30ID:5vOFCGpG
スレタイ(順番はRedMonk準拠)以外の言語もok

※ Rustは現世代最強言語なので除外します

前スレ

次世代言語25 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1650185555/
2022/07/23(土) 16:14:43.93ID:PgM2fTTz
>>252
ライブラリの選択コストが低い言語ってのは標準ライブラリがでかい言語のこと?
2022/07/23(土) 16:22:30.56ID:zqWGCIwO
>>261
アクセス回数の話なら実行効率
メモリー効率は必要とされるメモリーの量
2022/07/23(土) 16:33:12.53ID:L+Wx1/B2
自演rust狂信者の圧倒的な敗北.....
Rc<T>で無駄なメモリアクセスが起きてることを分かってない。参照カウントで、かなり無駄なカウントアップ・ダウンが現実に起きてるし非効率。
エスケープ解析なんぞでわかるのはほんの一部、goでメモリアクセスが遅めに見えるのは、goroutine間の変数への排他制御が無いからだしGCのせいでもない
古典的なメニーコアを素直に活用できない言語では起きない事を同じ土俵で無理に比べようとしている
確かにgoやrustがstructを使って、javaのようにobjectではないのはメモリー効率を考えているけど、ピープなんちゃらの説明はホントに
分かってないアホの説明。GCで掃除される対象の変数へのアクセスのことを言いたいのだと思うけど、そんなのアクセスするかはGCアルゴリズム次第だ
1回でいいから参照カウントの欠点を調べてこい
265デフォルトの名無しさん
垢版 |
2022/07/23(土) 16:47:16.76ID:GCyS0Uey
AndroidアプリをKotlinベースで作っているんですが、
一定時間スマホ操作ができなくなるような機能を作りたいのですが、どうやればできますかね?
いわゆるデジタルデトックスアプリみたいに、一定時間画面を覆って操作できなくなるアプリ
(バックグラウンド写ったりしないやつ)を想定してます
2022/07/23(土) 17:07:56.92ID:ObegvUfD
>>263
無駄なヒープアロケーションが900あるって書いてあるやん
>>257の文章は気持ち悪いけど
そういうことは起きうるよねとは思うよ
2022/07/23(土) 17:11:14.32ID:4etWwAtX
>>265
セキュリティ的に問題があるから無理
何もできないホームアプリを作って設定するくらいじゃないかな
それでも抜け道を完全に防ぐことはできないと思う
奥の手としては、バックグラウンドサービスでマルチスレッドで無駄な計算をぶん回して使用に耐えないくらい重くすればいい
2022/07/23(土) 17:30:04.86ID:zqWGCIwO
>>266
> 無駄なヒープアロケーションが900あるって書いてあるやん
お前プログラマに向いてないだろ...
書いてあるのは
> 無駄なヒープアクセスが900個も起きてしまう
2022/07/23(土) 18:08:33.07ID:jqS/WIc6
>>264
プログラミング経験が少なく勘違いしてるのだと思うけど
C++のshared_ptrやRustのRc/Arcはほとんどのプログラムではその出現が0個~数えられる程度
別の者が同時に同じ物を指し誰が使い終わるかわからないという特殊な状況でしか使われないため出現がレア
実際にプログラミングをするとそのようなケースは多くを避けることができるため極一部でのみ使用となっている
ガベージコレクション言語が全てをガベージとして捨てて回収するコストと比較してC++とRustのこの極一部のみを参照カウントで管理する方式は圧倒的に速くて有利となっている
2022/07/23(土) 18:17:12.38ID:IVV76sYn
> C++のshared_ptrやRustのRc/Arcはほとんどのプログラムではその出現が0個~数えられる程度

🤭
2022/07/23(土) 18:23:45.94ID:1dNQWzE2
>>256
それは無意味な比較
いくつもリプライコメントが付いて指摘されているように
まずまもともな並行処理コードの比較となっていない
次にそのコードのことをしたいならば別の適用をすることでGoとRustでほぼ同じ時間となることもリプライで示されている
きちんと読まずにそんなことでRust叩きをするアンチは愚か
2022/07/23(土) 18:28:20.30ID:PgM2fTTz
>>264
何と何を比較していて何が優れていると言っているのかがまったくわからん...
主張を明らかにするかID変えないで発言追えるようにしてくれ
2022/07/23(土) 18:43:45.96ID:QXN0FRoF
>>271
リプライ読んだ上で言ってるけど?文盲か?
Goはランタイムが賢いから適当に書いても極力ブロックしない様に高速に動作する
Rustは中断ポイントを自分で指定する必要があるから無駄にブロックしないように注意しないといけないって書いたよね?

つまり適当に書いたGo>>>適当に書いたRust

となるわけ。
2022/07/23(土) 18:45:49.99ID:1dNQWzE2
>>269
Rcが極一部にしか出てこないのもそうだが
>>264はもっと大きな勘違いをしていて「Rc<T>で無駄なメモリアクセスが起きてる」と書いて参照カウントを批判している
実際にはRc<T>にアクセスしても付加コストはゼロでRcでないポインタとコストは同じ
つまり無駄なメモリアクセスは発生しない
参照カウントにアクセスされるのは生成clone時や解放drop時などのみ
2022/07/23(土) 18:50:33.61ID:1dNQWzE2
>>273
中断ポイントを自分で指定するとは意味がよくわからないので解説してほしい
もう一つ、適当に書いたコード同士の比較をしていることも現実離れしていて何をしたいのかわからない
2022/07/23(土) 19:26:59.84ID:zqWGCIwO
>>273
> つまり適当に書いたGo>>>適当に書いたRust
そういう主張ならGoのほうが楽に書けると言うべき
2022/07/23(土) 20:04:44.48ID:C7rfIgjP
>>276
ちよっと違う
その部分の話に限定すると
Goは他に選択肢なく書けてそこそこの性能が出る素人向け
C++/Rustはもっと多様な選択肢を取れてGoより高い性能を出せる玄人向け
そのことに加えてGoはランタイムコストが高くメモリについてもGCコストがかかる
あとGoは使用が適している分野が狭い
2022/07/23(土) 20:24:12.66ID:z/1+plFJ
つまりエンタープライズに適してるのはGoで
選ばれた人が作る出来のいいOSSに適してるのはRustだな

玄人によるRust>>>>>>素人によるGo>>>ここにいる自称玄人によるRust

ということだな
2022/07/23(土) 20:37:54.47ID:1dNQWzE2
>>278
使っているとGoは性能面だけでなく開発面での限界も感じてくる
Goはあくまでも簡素なスクリプト言語+αの位置付け
2022/07/23(土) 20:43:18.42ID:z/1+plFJ
とか自称玄人がほざいておりますわw
2022/07/23(土) 20:59:08.03ID:wfVoITZZ
>>279
さすがにお前が言うと説得力ゼロ
282デフォルトの名無しさん
垢版 |
2022/07/23(土) 21:00:05.36ID:uphZtYPd
Goの出自からしてpythonの置き換えみたいなとこあるし。
2022/07/23(土) 21:02:59.95ID:C7rfIgjP
Goは言語仕様が弱すぎて開発に向かないが並行プログラミングが上手くできるスクリプト言語と捉えると優秀なスクリプト言語
2022/07/23(土) 21:13:25.84ID:PT0x9Gwm
Googleはわざわざ開発に向かない言語を開発して社内で使ってるわけかw
Google社員ですらC++は扱えずに問題だらけだったからそれらを解決するためにGoを開発したわけだけどな

Rustは明らかにC++の代替だね。つまりOS開発やドライバ開発、OSS用途に向いてるだろうね
で、WebプログラミングをC++ってやりますかって話ですよ

ここにいる自称玄人の方々はOS開発とかドライバ開発とかしてないくせにRustという言語使ってることだけにアイデンティティを感じる可哀想なおっさんなんだよな結局
だから他言語を馬鹿にしてマウント取ることに生きがいを持った人生を送ってるわけだね

Goで作られた素晴らしいソフトでDockerやKubernetesやGoogleサービスがあるわけだけど、重要なのは何を問題解決するであって特定の言語をこだわって作るわけじゃないよ、自称玄人さんw
2022/07/23(土) 21:33:42.76ID:7qigD5jo
>>284
RustをC++の代替としてしかとらえることが出来ないのは理解不足だな
CやC++とは異なりRustは自動メモリ解放だからという理由だけではないが現実にJavaからRustへの移行も起きている
さらにスクリプト言語からの移行例もある
これらは高速さや省メモリの観点からだけではなく並行並列プログラミングにおけるデータ競合の問題までもRustは解決していることが大きい
Rustがデータ競合をコンパイル時にエラーとして見つけ出してくれることはバグの減少や実行時デバッグの激減ももたらしている
286デフォルトの名無しさん
垢版 |
2022/07/23(土) 21:34:22.09ID:yM9izZ/V
webやってる人間ならむしろrustに好意的になるよ
子供にはわからんか
2022/07/23(土) 21:36:09.58ID:u2Y0Vizw
docker,kubernetesを実装しても開発言語に向かないとか言われちゃうの意味わからんわ。
2022/07/23(土) 21:44:18.63ID:PT0x9Gwm
>>285
日本企業の採用例は?どこに移行例があるの?
メルカリはGo使いまくってるみたいだけどそういう企業ってRustあるの?
GoogleやMicrosoftもOS開発で注目してるだけだよね?

データ競合なんて多数あるバグのほんの一部でしかないしそれだけ持ち出されても何も響かないね
競合状態は防げないわけだし、データ競合ならGoでもランタイムだか検知する機能はある、テストでも検知できる、それで十分としか思わないね。
2022/07/23(土) 21:44:33.34ID:C7rfIgjP
>>287
Goは言語仕様が弱いから開発には不向きだけど
高度な仕組みは不足していても地道に書いていけばもちろん何でも作れる
成果物があることと開発に向いていないことは矛盾しない
2022/07/23(土) 21:53:20.94ID:PT0x9Gwm
>>289
〇〇の機能がある自慢ならHaskellやScalaもよくされていたけどこれらの言語って普及しましたかね?

継承を排除してるのがその代表例。
Goの割り切ったシンプルさはエンタープライズでの大規模スケールするソフトウエアの開発を促進させている

RustはOS開発やドライバ、組み込みには普及することはあるけどWebやバックエンドといった高レイヤーでは確実に普及しない。理由はScala、Haskellが普及しないのと同じ。
機能自慢だけで企業で使っていくための実用性がない。
Googleでさえ社員がC++など複雑な言語を使いこなせないからあえて機能を削ったGoを採用している。
2022/07/23(土) 21:55:03.92ID:7qigD5jo
>>288
日本企業にこだわるところが理解できないが
例えばクックパッドがRubyで遅いのをRustへ移行した例などあるだろう

Goはランタイムがデータ競合を検知するとの主張は実行時の時点でGoの敗北を意味している
データ競合を静的に実行前に検知できるようにしたRustを使うほうがよい
2022/07/23(土) 21:55:41.92ID:PT0x9Gwm
低レイヤー何も触ってないくせにマウント取るためにRust使って他言語貶めてるゴミクズが多すぎるわ

もはやマウント取ることが目的になってる
2022/07/23(土) 21:55:49.25ID:PgM2fTTz
>>288
並列絡むバグをテストで検知できれば十分というのは同意できないなぁ
Goがその辺頑張ってるのは知ってるけどそれでも
2022/07/23(土) 22:00:23.38ID:PT0x9Gwm
>>291
開発コストはなんで度外視するの?

例えば単体テストはカバレッジ100%行かなくてもリリースするわけでしょ?それは開発コストとトレードオフをかけた結果80%とか基準を下げてるって面もあるわけ

データ競合は防げても競合状態はRustでも防げないわけで並行処理プログラミングが確実に安全に書けるって保証されてるわけでもないぞ
データ競合なんで数あるバグのうちの1つしかないわけで

GoとRustだと明らかに開発コストは桁違いであって特に新規にプロジェクトに参加したメンバーがいる場合に差が出てくるね
2022/07/23(土) 22:02:31.75ID:PT0x9Gwm
>>291
てめーが移行例がたくさんあるとかほざいてるから聞いてんじゃん
日本人なんだからまず日本企業の採用例を聞いてるわけだが
海外企業でもいいよ

ごくごく一部しかないだろ
大半はOS開発用途。
2022/07/23(土) 22:03:24.19ID:PT0x9Gwm
Discordしか知らないだろう自称玄人どもはw
2022/07/23(土) 22:08:40.01ID:PT0x9Gwm
Web業界でC++よりRubyが流行ったのも開発コストの削減が目的なのであって
RustがRubyみたいにWeb業界で普及することはないだろうね。
自称玄人は実行コストのことしか考えないがそれならアセンブリが最強だろ。
結局開発コストと実行コストが優れてるGoが現時点での最適解となる。時点でNode(Deno)
RustがWeb企業で普及することはまずないね。OS開発の用途では普及していくだろう、
2022/07/23(土) 22:12:19.51ID:RQhphYGe
>>290
勉強してからRustを批判した方がいいよ

継承を排除したことをGoの利点と言われてもRustも継承がなくGoと同じだよ
Rustは従来の言語にあった不要な部分や古い部分をばっさりと切り捨てて最新の高機能なパラダイムを組み合わせてシンプルに作った言語
だからRustもGoと同じくクラスも無いし例外(try-throw-catch)も無い

一方でRustは例えば代数的データ型のようなシンプルかつ有用なものを採用
代数的データ型を採用せずに次世代言語を名乗るのはおこがましいので例に出しました
Goとの比較で言えばGoは代数的データ型を欠いているためにエラー返り値の面倒な扱いを招いています
同じように例外を無くしてもGoは記述が面倒になりRustは便利になっていますね
299デフォルトの名無しさん
垢版 |
2022/07/23(土) 22:51:05.66ID:jaxJ03Ml
だからお前ら次世代言語の話しろよ。
それ以外は別スレ建ててやれや。
2022/07/23(土) 22:53:24.42ID:IVV76sYn
Rust賛否議論に最適なスレッドがこちら!
https://mevius.5ch.net/test/read.cgi/tech/1657382429/
2022/07/23(土) 23:07:13.56ID:7L6l8ELk
実際、次世代言語でやるべきメモリ管理や並行処理の課題はRustだけが取り組んでる感じがあって、それ以外の次世代言語はなんかパンチがないよな。
このスレで次世代言語として上がってるTypeScriptやSwiftやKotlinとかも、既存資産を使いつつモダン言語に緩やかに移行できます~がウリで、言語自体の挑戦があまり感じられないというか。
2022/07/24(日) 00:59:14.24ID:POYobNlQ
Goのシングルバイナリは魅力的だけどRustはどうなの
簡単にexe作れる?
2022/07/24(日) 01:00:34.35ID:cSogl1Kz
>>302
簡単に作れるよ
2022/07/24(日) 01:01:51.95ID:POYobNlQ
素晴らしい
Rustやるわ
305デフォルトの名無しさん
垢版 |
2022/07/24(日) 01:13:50.56ID:RIVbLJGX
>>301
次スレからはtypescript, swift, go, kotlinはスレタイから外せよ。
2022/07/24(日) 01:30:40.07ID:iVL8opWs
次世代言語ってどういう意味
そこに序列されるためには既存言語にない画期的な仕組みが必要なのか
307デフォルトの名無しさん
垢版 |
2022/07/24(日) 01:45:52.41ID:RIVbLJGX
>>306
んなもんカッチリした定義なんてあるわけ無いだろ。アスペかよ。
少なくともtypescript, swift, go, kotlinは対象外だろうよ。
2022/07/24(日) 02:35:17.60ID:40vv7Sn8
>>306
画期的な仕組みでなくてもインパクトのあるものは多い
例えば>>298の代数的データ型なんて古くからある概念で特に関数型言語では昔から使われてきたものだけど
手続き型言語では導入されなかったり導入されていても有効活用できていなかったり
ようするに代数的データ型は無縁か役に立たないか相性が悪いものと思われていた

ところがRustがその代数的データ型をタグ付きunionとなる形の値付きenumとして採り入れて
さらにこれも関数型ではお馴染みのOptionやEither (RustではResult)を
そのenumで表現してRust標準ライブラリの中枢に据えることで
非常に便利で言語の中心として機能する重要なインフラとして一気に昇華させてしまった

つまり古くからある概念や仕組みであっても
有用な形で言語に採り入れることでインパクトのあるものになりうる
次世代言語と称せられる言語はそういうインパクトのある何かが多数あるのだろう
2022/07/24(日) 02:40:05.18ID:A2ivE9+A
もうワッチョイつけろ
2022/07/24(日) 03:54:31.36ID:QogZ4c3I
swiftでアプリ作るか〜って弄ってるので次世代実用言語なら外してもらっちゃ困るし
次世代にはなんとかなるんじゃないかな〜って寝言言語のスレなら外してもらっていいよー
2022/07/24(日) 07:13:10.20ID:a/nVuE5F
>>298
RustにはWebプログラミングには不要な要素が多いって言ってんだろ
文盲乙

OS開発しないのに細かいメモリ管理をプログラマにまかすのは完全に不要な負担である
これはまつもとひろゆきもいってる
2022/07/24(日) 07:18:35.77ID:a/nVuE5F
とにかくWebやバックエンドといった高レイヤー層でRustが流行ることはないのは事実である
論破してみろよ自称玄人は
具体的に移行している企業もDiscordしか知らないみたいだし、Discordでも一部の部分しか採用してない

〇〇の機能があるから優れてる自慢はHaskellやScalaでも起こってた、でも流行らなかった

流行るのはGoやPythonのように機能を削った言語

RustにはOS開発など低レイヤーには必要な要素が詰まっているが高レイヤーでは不要なものだらけである、だから普及しないんだよ自称玄人さん
2022/07/24(日) 07:25:40.56ID:POYobNlQ
確かにWebでどうなるかはよくわからないな
ひょっとしたらJavaみたいにエンタープライズが使い出すのかもしれん
Webとの関連でいうと個人的にTauriには大いに期待している
2022/07/24(日) 07:26:19.38ID:a/nVuE5F
自称玄人はOS開発やドライバ開発など低レイヤーの経験など一度もないのに、畑違いであるRustを使ってるだけにアイデンティティを感じている孤独なおっさん
だから高レイヤー層では流行らない言われても論理的に反論できず、他言語を貶めて他人にマウントを取ることしかが脳がない
Rustを使っていることが唯一のアイデンティティの哀れなおっさん
2022/07/24(日) 07:51:53.73ID:CneNKog7
俺もWeb周りで使われるのはかなり限定的になるんじゃないかと思うな。良い言語だけど採用しただけの価値が出る領域はかなり狭いよ。
2022/07/24(日) 07:59:04.44ID:bdlqmtah
Web と一括りにしてる時点で議論の対象にならんクズレスでしかない
2022/07/24(日) 08:07:30.03ID:eIrt9sO8
valeのGenerational Referencesって面白くない?
https://verdagon.dev/blog/generational-references
所有者は一つだけだけど非所有者の参照はいくつも持てる。
各ヒープメモリに世代カウントを付けて、参照はポインタ+世代カウント+オフセット値のようなデータになる。
参照先にアクセスするときはヒープの世代カウントと参照の世代カウントを比較して不一致だったら解放されたメモリにアクセスしたと見なせる。
参照をコピーするときは参照カウンタのようなカウントを増減する必要は無い。参照をそのままコピーするだけ。
318デフォルトの名無しさん
垢版 |
2022/07/24(日) 08:20:10.22ID:+L63FAhG
ときどき現れる、自分んとこにRustがやってくるのが怖くて吠えまくるおじさん
Rustが使えるだけでマウントなんてとるわけないのに、劣等感で震えすぎ
2022/07/24(日) 08:24:03.54ID:bdlqmtah
>>317
これほんとか?
This is cheaper because programs dereference less than they alias and dealias
2022/07/24(日) 08:36:32.88ID:a/nVuE5F
>>318
やってこないから(笑)
2022/07/24(日) 09:01:53.33ID:eIrt9sO8
>>319
それは確かに怪しいっぽい
322デフォルトの名無しさん
垢版 |
2022/07/24(日) 09:25:03.61ID:Y1YiiPBC
前はRustなんてどの領域でも採用されないと主張していた
その後は大手は採用しないとか、言語オタクしか使わないとか言い出して、今はwebに来ませんようにとお祈りしてる
323デフォルトの名無しさん
垢版 |
2022/07/24(日) 09:26:39.85ID:hnBeY/7d
いや、使われていないだろう。
324デフォルトの名無しさん
垢版 |
2022/07/24(日) 09:35:45.64ID:hnBeY/7d
黒魔術を禁止したいRust。
それはものすごく正しい。
Javaと同じ理念なので、Javaと同じように成功するだろう。
しかし、黒魔術使いがRustを使いたいと思うこともないだろう。
325デフォルトの名無しさん
垢版 |
2022/07/24(日) 09:36:39.31ID:hnBeY/7d
魔導士がRustを作ったが、魔導士はRustを使わない。
326デフォルトの名無しさん
垢版 |
2022/07/24(日) 09:51:49.50ID:TkuAh24s
>>322
WebAssemblyが普通になってきたらRustが来るかもね
2022/07/24(日) 10:05:58.70ID:nz/s3YoW
>>324
黒魔術が具体的に何を指してるか分からんがunsafeではだめか?
2022/07/24(日) 10:10:15.29ID:mNErqOPr
webassemblyは
高レイヤーのC++を変えなくても低レイヤーの機械語を変えれば安全になるという
C++を高レイヤーと見抜けない人には難しい技術
329デフォルトの名無しさん
垢版 |
2022/07/24(日) 10:14:42.11ID:RIVbLJGX
>>310
swiftは個別スレあるだろう
330デフォルトの名無しさん
垢版 |
2022/07/24(日) 10:17:08.35ID:RIVbLJGX
>>317
こういうレスを待ってた
2022/07/24(日) 10:20:14.22ID:yHbyxFst
>>311
Matzなのか
ひろゆきなのかw
2022/07/24(日) 10:33:10.43ID:VggJFBUh
ここは次世代か現世代に限らず言語マウンティングしたいやつらの巣窟
2022/07/24(日) 10:40:42.93ID:mNErqOPr
メモリ管理アルゴリズムを変えるたんびに言語を変えるのをやめよう
ライブラリを変えればいいだけ
334デフォルトの名無しさん
垢版 |
2022/07/24(日) 11:15:14.23ID:ss1h8/Fs
>>267
難しいのですかね?
下みたいなアプリがあったのでできるのかと思ったのですが、、
なにか特殊な方法が必要なんでしょうか
https://play.google.com/store/apps/details?id=forinnovation.phoneaddiction&hl=ja
2022/07/24(日) 11:55:06.92ID:0MXf6lNW
不正確:ここは次世代か現世代に限らず言語マウンティングしたいやつらの巣窟
ここはRust言語マウンティングしたいやつら(ただしコーディング能力はゼロに近い低め)の巣窟、まともに話し合うことすら不可能
336デフォルトの名無しさん
垢版 |
2022/07/24(日) 12:08:17.54ID:sqWRJTqj
>>307
Kotlinは次世代から卒業したと思ったらオワコン化しちゃったか。
Javaは緩やかに衰退しているし、頼みのAndroidもFlutterに持っていかれそう。
2022/07/24(日) 12:13:46.77ID:KMd5I8Sy
RustはOSの開発でもあんま使われてないよね
でも将来JavaみたいなIT土方専用言語になりそうな気がする
2022/07/24(日) 12:59:53.34ID:nz/s3YoW
>>333
メモリ管理周りは標準ライブラリのインターフェースにも影響するけど
標準ライブラリすげ替えたらそれはもう別言語では
2022/07/24(日) 13:35:49.98ID:mNErqOPr
土方うんぬんはマウンティングではなく職業差別だよな
差別された業種はプロよりアマの方が強くなる
これ資本主義への挑戦だろ
2022/07/24(日) 16:01:06.79ID:kgHpDwre
>>317
> valeのGenerational References
> 参照先にアクセスするときはヒープの世代カウントと参照の世代カウントを比較して不一致だったら解放されたメモリにアクセスしたと見なせる。

それは重すぎる設計で実用的ではないですね
C++のshared_ptrもRustのRc/Arcも
参照先にアクセスするときは参照カウントへのアクセスがなくコストゼロです
RAIIによる自動解放時にようやく参照カウントを見てヒープも解放するか判断します
やはりC++のshared_ptrとRustのRc/Arcの方式が最も優れた方式と言えるでしょう
2022/07/24(日) 16:34:59.98ID:RaX1YBir
>>268
理解目来てないのはお前
「1000個ヒープにある」んだよ
まず文章を読め
2022/07/24(日) 16:44:13.25ID:A2ivE9+A
>>300のスレにコピペしといたで続きはそっちでお願いな
2022/07/24(日) 17:06:52.19ID:bdlqmtah
>>341
まじでプログラマに向いてないんだなw
ヒープアロケーションが1,000回かどうかなんて書いてないだろ
配列で一気にアロケーションしてるかも知れんしな
2022/07/24(日) 17:11:06.10ID:dVy5+utd
そもそもRustというかスタックベースのRAIIって結構ヒープアロケーションしてるからな
生存スコープの管理にスタックを使ってるだけ
345デフォルトの名無しさん
垢版 |
2022/07/24(日) 17:17:44.35ID:5fSI//2c
>>336
google的にもflutterをメインにしたいんじゃないかと邪推してる。
346デフォルトの名無しさん
垢版 |
2022/07/24(日) 17:20:42.68ID:5fSI//2c
>>337
今それを言ったらOSのカーネル開発で使われてる言語なんてC以外あるんかね?
347デフォルトの名無しさん
垢版 |
2022/07/24(日) 17:26:44.89ID:5fSI//2c
研究でだったらhaskellでだってカーネル開発あるけどな
2022/07/24(日) 17:37:32.00ID:Tcg6NKxY
> スタックベースのRAII

ほかに何ベースのRAIIがあるの?

> 生存スコープの管理にスタックを使ってるだけ

変数のスコープを静的に解釈してデストラクタ呼び出しを追加してるだけでは?
スタックをいつどうやって使うの?
2022/07/24(日) 17:40:37.46ID:nz/s3YoW
メジャーどころのOSのカーネルだとCかC++かアセンブリだよね
かろうじてLinuxにRustが取り込まれそうだけど当面はドライバのみで使途は限定的
2022/07/24(日) 17:46:35.54ID:kgHpDwre
>>349
LinuxだけでなくAndroidもRust導入した
2022/07/24(日) 18:27:24.20ID:RaX1YBir
>>343
見苦しい言い訳をするな
1000個アロケーションされてると書いてるんだから1000個アロケーションされてるんだよ
配列がどうとかの話は言ってない
お前が読み飛ばした部分だよ
適当にしか読んでないから飛んだんだろ
人の文章を読みない上に話を変えようとしてる
お前こそがプラグラマに向いてないぞ
残念ながらお前の負け
2022/07/24(日) 18:27:44.09ID:DhgJf/Tp
>>269
たしかにRustでRc/Arcが使われるのは限定されたケースのみではあるが、
例えばスレッド間での共有では使わざるを得なかった。
しかし来月リリースのRust 1.63では、スコープ付きスレッド生成(spawn)がstableとなるため更に使用頻度が減ることになる。
これにより参照カウントを使わずとも共有(借用)できるようになり、Rustの高速化と利便性が更に進む。
2022/07/24(日) 18:30:59.25ID:bdlqmtah
>>351
1000個アロケーションされることと1000回アロケーションされることの区別もつかない馬鹿は黙ってろw
2022/07/24(日) 18:33:44.43ID:RaX1YBir
論点がズレたからもう一度まとめておく
Goでは無意識的にヒープにアロケーションされてしまう可能性がある
それはエスケープ解析をしないとわからない
つまりメモリ使用量も実行効率も落ちる
これは一般論
恣意的な特定のベンチの数字を言ってるわけではない
rustは明示的にヒープに置くように書くのでそのようなことは起きない
つまり理論的にはrustが1番速いし最高の言語
もう一度言うが特定のベンチの話をしているのではない
2022/07/24(日) 18:35:55.52ID:RaX1YBir
>>353
だからお前はメモリ使用量の話をしてたからだろ
それに配列の話はしてない
何度も言わせるな
どこに配列と書いた?
2022/07/24(日) 18:41:01.38ID:RaX1YBir
もう一度まとめておく
おれに喧嘩を売ってきたやつはメモリ使用量と実行効率をわかってないと言ったが以下のように考えている
メモリ使用量については1000個ヒープにアロケーションされる可能性があるGoが不利
そして実行効率もヒープアロケーションによってGCが動くため悪い
シンプルすぎる当たり前のことを言ってるだけなのだから単に喧嘩を売りたいだけか?
まあ論破ごっこも自爆で負けとるが
2022/07/24(日) 18:44:26.04ID:RaX1YBir
しつこいと言われるかもしれんが特定のベンチマークの話をしているのではない
もっと普遍的で一般論の話をしている
なのでこのベンチの結果は〜というのは受け付けない
同じように普遍的な理論で話してくれ
rustの普遍性は理想的な言語モデルなんだよ
2022/07/24(日) 18:47:19.90ID:RaX1YBir
メモリの安全性
メモリの自動解放
スタックヒープを意識したコードを書ける
実行効率
モダンな構文
これら全てを満たした奇跡のような言語
今のところ勝てる言語は存在しない
2022/07/24(日) 18:50:46.35ID:t1gCi00f
結局アンセーフを使ってしまうから無駄
2022/07/24(日) 18:51:09.20ID:RaX1YBir
唯一の欠点はC++とのInteropぐらいだ
なのでCarbonの存在意義は理解できるが
その代償としてメモリ安全性を失ってしまった
これでは元の木阿弥
まあInterop特化言語だろうからそれで良いのかもしれん
普通の人はrustで良いです
2022/07/24(日) 18:55:55.77ID:RaX1YBir
しつこく言ってるが特定のベンチマークの結果だけで鵜呑みにするのは間違っている
ソフトウェアに必要なのは普遍性なんだよ
そう言う観点で語ると一つ上の議論ができる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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