スレタイ(順番はRedMonk準拠)以外の言語もok
※ Rustは現世代最強言語なので除外します
前スレ
次世代言語25 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1650185555/
探検
次世代言語26 TypeScript Swift Go Kotlin Nim
■ このスレッドは過去ログ倉庫に格納されています
2022/06/21(火) 09:27:46.30ID:5vOFCGpG
256デフォルトの名無しさん
2022/07/23(土) 15:14:50.07ID:QXN0FRoF >>255
DockerとかKubernetesとかコンテナ技術を活用してマシンのリソースを有効活用するって流れになってるのはそうだけど
Rustで置き換えるってのは聞いたことがないな
> スクリプト言語みたいなGCコテコテの言語が速いことは絶対にない
それはIO待ちがほとんどないCPU処理が主体なプログラムでの話じゃない?
Goは適当に並行処理書いても極力処理がブロックしないように動作するけど
Rustは中断ポイントを自分で記述する必要があるから注意して書かないとGoより遅いなんてことはザラにある
このスレッドにあるベンチマークとか見ればいかにGoが優秀であるかがわかる
https://www.reddit.com/r/rust/comments/lg0a7b/benchmarking_tokio_tasks_and_goroutines/
IO待ち主体のプログラムはいかにブロックせずに処理するかが大事なのであってメモリ効率がボトルネックになることはないわ
DockerとかKubernetesとかコンテナ技術を活用してマシンのリソースを有効活用するって流れになってるのはそうだけど
Rustで置き換えるってのは聞いたことがないな
> スクリプト言語みたいなGCコテコテの言語が速いことは絶対にない
それはIO待ちがほとんどないCPU処理が主体なプログラムでの話じゃない?
Goは適当に並行処理書いても極力処理がブロックしないように動作するけど
Rustは中断ポイントを自分で記述する必要があるから注意して書かないとGoより遅いなんてことはザラにある
このスレッドにあるベンチマークとか見ればいかにGoが優秀であるかがわかる
https://www.reddit.com/r/rust/comments/lg0a7b/benchmarking_tokio_tasks_and_goroutines/
IO待ち主体のプログラムはいかにブロックせずに処理するかが大事なのであってメモリ効率がボトルネックになることはないわ
257デフォルトの名無しさん
2022/07/23(土) 15:31:18.71ID:Bnag5ryf >>255
そういう特定のユースケースの話をしてるわけじゃないよ
そりゃベンチマークによって速かったり遅かったり
特定のエッジケースで速かったり遅かったりはあるでしょう
もっと数学的かつ抽象的に考えよう
ヒープにオブジェクトが1000個あります
しかしそのうち本当にヒープに乗せる必要があるオブジェクトが100個しかありませんでした
本来ヒープに100個しか必要のないオブジェクトなのに無駄な
ヒープアクセスが900個も起きてしまう
これをメモリ効率が悪いという
Goでもこれは起きうる
もちろんそれが*起きないように*書くこともできなくはないが
エスケープ解析などをしないとわからないし非常に難しいでしょう
しかしrustではこのようなことは起きない
そういう特定のユースケースの話をしてるわけじゃないよ
そりゃベンチマークによって速かったり遅かったり
特定のエッジケースで速かったり遅かったりはあるでしょう
もっと数学的かつ抽象的に考えよう
ヒープにオブジェクトが1000個あります
しかしそのうち本当にヒープに乗せる必要があるオブジェクトが100個しかありませんでした
本来ヒープに100個しか必要のないオブジェクトなのに無駄な
ヒープアクセスが900個も起きてしまう
これをメモリ効率が悪いという
Goでもこれは起きうる
もちろんそれが*起きないように*書くこともできなくはないが
エスケープ解析などをしないとわからないし非常に難しいでしょう
しかしrustではこのようなことは起きない
258デフォルトの名無しさん
2022/07/23(土) 15:31:55.55ID:Bnag5ryf レス番間違えた
259デフォルトの名無しさん
2022/07/23(土) 15:40:38.68ID:FAO+OpS7 自演失敗お
260デフォルトの名無しさん
2022/07/23(土) 16:04:31.85ID:zqWGCIwO261デフォルトの名無しさん
2022/07/23(土) 16:08:37.49ID:Bnag5ryf262デフォルトの名無しさん
2022/07/23(土) 16:14:43.93ID:PgM2fTTz >>252
ライブラリの選択コストが低い言語ってのは標準ライブラリがでかい言語のこと?
ライブラリの選択コストが低い言語ってのは標準ライブラリがでかい言語のこと?
263デフォルトの名無しさん
2022/07/23(土) 16:22:30.56ID:zqWGCIwO264デフォルトの名無しさん
2022/07/23(土) 16:33:12.53ID:L+Wx1/B2 自演rust狂信者の圧倒的な敗北.....
Rc<T>で無駄なメモリアクセスが起きてることを分かってない。参照カウントで、かなり無駄なカウントアップ・ダウンが現実に起きてるし非効率。
エスケープ解析なんぞでわかるのはほんの一部、goでメモリアクセスが遅めに見えるのは、goroutine間の変数への排他制御が無いからだしGCのせいでもない
古典的なメニーコアを素直に活用できない言語では起きない事を同じ土俵で無理に比べようとしている
確かにgoやrustがstructを使って、javaのようにobjectではないのはメモリー効率を考えているけど、ピープなんちゃらの説明はホントに
分かってないアホの説明。GCで掃除される対象の変数へのアクセスのことを言いたいのだと思うけど、そんなのアクセスするかはGCアルゴリズム次第だ
1回でいいから参照カウントの欠点を調べてこい
Rc<T>で無駄なメモリアクセスが起きてることを分かってない。参照カウントで、かなり無駄なカウントアップ・ダウンが現実に起きてるし非効率。
エスケープ解析なんぞでわかるのはほんの一部、goでメモリアクセスが遅めに見えるのは、goroutine間の変数への排他制御が無いからだしGCのせいでもない
古典的なメニーコアを素直に活用できない言語では起きない事を同じ土俵で無理に比べようとしている
確かにgoやrustがstructを使って、javaのようにobjectではないのはメモリー効率を考えているけど、ピープなんちゃらの説明はホントに
分かってないアホの説明。GCで掃除される対象の変数へのアクセスのことを言いたいのだと思うけど、そんなのアクセスするかはGCアルゴリズム次第だ
1回でいいから参照カウントの欠点を調べてこい
265デフォルトの名無しさん
2022/07/23(土) 16:47:16.76ID:GCyS0Uey AndroidアプリをKotlinベースで作っているんですが、
一定時間スマホ操作ができなくなるような機能を作りたいのですが、どうやればできますかね?
いわゆるデジタルデトックスアプリみたいに、一定時間画面を覆って操作できなくなるアプリ
(バックグラウンド写ったりしないやつ)を想定してます
一定時間スマホ操作ができなくなるような機能を作りたいのですが、どうやればできますかね?
いわゆるデジタルデトックスアプリみたいに、一定時間画面を覆って操作できなくなるアプリ
(バックグラウンド写ったりしないやつ)を想定してます
266デフォルトの名無しさん
2022/07/23(土) 17:07:56.92ID:ObegvUfD267デフォルトの名無しさん
2022/07/23(土) 17:11:14.32ID:4etWwAtX >>265
セキュリティ的に問題があるから無理
何もできないホームアプリを作って設定するくらいじゃないかな
それでも抜け道を完全に防ぐことはできないと思う
奥の手としては、バックグラウンドサービスでマルチスレッドで無駄な計算をぶん回して使用に耐えないくらい重くすればいい
セキュリティ的に問題があるから無理
何もできないホームアプリを作って設定するくらいじゃないかな
それでも抜け道を完全に防ぐことはできないと思う
奥の手としては、バックグラウンドサービスでマルチスレッドで無駄な計算をぶん回して使用に耐えないくらい重くすればいい
268デフォルトの名無しさん
2022/07/23(土) 17:30:04.86ID:zqWGCIwO269デフォルトの名無しさん
2022/07/23(土) 18:08:33.07ID:jqS/WIc6 >>264
プログラミング経験が少なく勘違いしてるのだと思うけど
C++のshared_ptrやRustのRc/Arcはほとんどのプログラムではその出現が0個~数えられる程度
別の者が同時に同じ物を指し誰が使い終わるかわからないという特殊な状況でしか使われないため出現がレア
実際にプログラミングをするとそのようなケースは多くを避けることができるため極一部でのみ使用となっている
ガベージコレクション言語が全てをガベージとして捨てて回収するコストと比較してC++とRustのこの極一部のみを参照カウントで管理する方式は圧倒的に速くて有利となっている
プログラミング経験が少なく勘違いしてるのだと思うけど
C++のshared_ptrやRustのRc/Arcはほとんどのプログラムではその出現が0個~数えられる程度
別の者が同時に同じ物を指し誰が使い終わるかわからないという特殊な状況でしか使われないため出現がレア
実際にプログラミングをするとそのようなケースは多くを避けることができるため極一部でのみ使用となっている
ガベージコレクション言語が全てをガベージとして捨てて回収するコストと比較してC++とRustのこの極一部のみを参照カウントで管理する方式は圧倒的に速くて有利となっている
270デフォルトの名無しさん
2022/07/23(土) 18:17:12.38ID:IVV76sYn > C++のshared_ptrやRustのRc/Arcはほとんどのプログラムではその出現が0個~数えられる程度
🤭
🤭
271デフォルトの名無しさん
2022/07/23(土) 18:23:45.94ID:1dNQWzE2 >>256
それは無意味な比較
いくつもリプライコメントが付いて指摘されているように
まずまもともな並行処理コードの比較となっていない
次にそのコードのことをしたいならば別の適用をすることでGoとRustでほぼ同じ時間となることもリプライで示されている
きちんと読まずにそんなことでRust叩きをするアンチは愚か
それは無意味な比較
いくつもリプライコメントが付いて指摘されているように
まずまもともな並行処理コードの比較となっていない
次にそのコードのことをしたいならば別の適用をすることでGoとRustでほぼ同じ時間となることもリプライで示されている
きちんと読まずにそんなことでRust叩きをするアンチは愚か
272デフォルトの名無しさん
2022/07/23(土) 18:28:20.30ID:PgM2fTTz273デフォルトの名無しさん
2022/07/23(土) 18:43:45.96ID:QXN0FRoF >>271
リプライ読んだ上で言ってるけど?文盲か?
Goはランタイムが賢いから適当に書いても極力ブロックしない様に高速に動作する
Rustは中断ポイントを自分で指定する必要があるから無駄にブロックしないように注意しないといけないって書いたよね?
つまり適当に書いたGo>>>適当に書いたRust
となるわけ。
リプライ読んだ上で言ってるけど?文盲か?
Goはランタイムが賢いから適当に書いても極力ブロックしない様に高速に動作する
Rustは中断ポイントを自分で指定する必要があるから無駄にブロックしないように注意しないといけないって書いたよね?
つまり適当に書いたGo>>>適当に書いたRust
となるわけ。
274デフォルトの名無しさん
2022/07/23(土) 18:45:49.99ID:1dNQWzE2275デフォルトの名無しさん
2022/07/23(土) 18:50:33.61ID:1dNQWzE2276デフォルトの名無しさん
2022/07/23(土) 19:26:59.84ID:zqWGCIwO277デフォルトの名無しさん
2022/07/23(土) 20:04:44.48ID:C7rfIgjP >>276
ちよっと違う
その部分の話に限定すると
Goは他に選択肢なく書けてそこそこの性能が出る素人向け
C++/Rustはもっと多様な選択肢を取れてGoより高い性能を出せる玄人向け
そのことに加えてGoはランタイムコストが高くメモリについてもGCコストがかかる
あとGoは使用が適している分野が狭い
ちよっと違う
その部分の話に限定すると
Goは他に選択肢なく書けてそこそこの性能が出る素人向け
C++/Rustはもっと多様な選択肢を取れてGoより高い性能を出せる玄人向け
そのことに加えてGoはランタイムコストが高くメモリについてもGCコストがかかる
あとGoは使用が適している分野が狭い
278デフォルトの名無しさん
2022/07/23(土) 20:24:12.66ID:z/1+plFJ つまりエンタープライズに適してるのはGoで
選ばれた人が作る出来のいいOSSに適してるのはRustだな
玄人によるRust>>>>>>素人によるGo>>>ここにいる自称玄人によるRust
ということだな
選ばれた人が作る出来のいいOSSに適してるのはRustだな
玄人によるRust>>>>>>素人によるGo>>>ここにいる自称玄人によるRust
ということだな
279デフォルトの名無しさん
2022/07/23(土) 20:37:54.47ID:1dNQWzE2280デフォルトの名無しさん
2022/07/23(土) 20:43:18.42ID:z/1+plFJ とか自称玄人がほざいておりますわw
281デフォルトの名無しさん
2022/07/23(土) 20:59:08.03ID:wfVoITZZ >>279
さすがにお前が言うと説得力ゼロ
さすがにお前が言うと説得力ゼロ
282デフォルトの名無しさん
2022/07/23(土) 21:00:05.36ID:uphZtYPd Goの出自からしてpythonの置き換えみたいなとこあるし。
283デフォルトの名無しさん
2022/07/23(土) 21:02:59.95ID:C7rfIgjP Goは言語仕様が弱すぎて開発に向かないが並行プログラミングが上手くできるスクリプト言語と捉えると優秀なスクリプト言語
284デフォルトの名無しさん
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
Google社員ですらC++は扱えずに問題だらけだったからそれらを解決するためにGoを開発したわけだけどな
Rustは明らかにC++の代替だね。つまりOS開発やドライバ開発、OSS用途に向いてるだろうね
で、WebプログラミングをC++ってやりますかって話ですよ
ここにいる自称玄人の方々はOS開発とかドライバ開発とかしてないくせにRustという言語使ってることだけにアイデンティティを感じる可哀想なおっさんなんだよな結局
だから他言語を馬鹿にしてマウント取ることに生きがいを持った人生を送ってるわけだね
Goで作られた素晴らしいソフトでDockerやKubernetesやGoogleサービスがあるわけだけど、重要なのは何を問題解決するであって特定の言語をこだわって作るわけじゃないよ、自称玄人さんw
285デフォルトの名無しさん
2022/07/23(土) 21:33:42.76ID:7qigD5jo >>284
RustをC++の代替としてしかとらえることが出来ないのは理解不足だな
CやC++とは異なりRustは自動メモリ解放だからという理由だけではないが現実にJavaからRustへの移行も起きている
さらにスクリプト言語からの移行例もある
これらは高速さや省メモリの観点からだけではなく並行並列プログラミングにおけるデータ競合の問題までもRustは解決していることが大きい
Rustがデータ競合をコンパイル時にエラーとして見つけ出してくれることはバグの減少や実行時デバッグの激減ももたらしている
RustをC++の代替としてしかとらえることが出来ないのは理解不足だな
CやC++とは異なりRustは自動メモリ解放だからという理由だけではないが現実にJavaからRustへの移行も起きている
さらにスクリプト言語からの移行例もある
これらは高速さや省メモリの観点からだけではなく並行並列プログラミングにおけるデータ競合の問題までもRustは解決していることが大きい
Rustがデータ競合をコンパイル時にエラーとして見つけ出してくれることはバグの減少や実行時デバッグの激減ももたらしている
286デフォルトの名無しさん
2022/07/23(土) 21:34:22.09ID:yM9izZ/V webやってる人間ならむしろrustに好意的になるよ
子供にはわからんか
子供にはわからんか
287デフォルトの名無しさん
2022/07/23(土) 21:36:09.58ID:u2Y0Vizw docker,kubernetesを実装しても開発言語に向かないとか言われちゃうの意味わからんわ。
288デフォルトの名無しさん
2022/07/23(土) 21:44:18.63ID:PT0x9Gwm >>285
日本企業の採用例は?どこに移行例があるの?
メルカリはGo使いまくってるみたいだけどそういう企業ってRustあるの?
GoogleやMicrosoftもOS開発で注目してるだけだよね?
データ競合なんて多数あるバグのほんの一部でしかないしそれだけ持ち出されても何も響かないね
競合状態は防げないわけだし、データ競合ならGoでもランタイムだか検知する機能はある、テストでも検知できる、それで十分としか思わないね。
日本企業の採用例は?どこに移行例があるの?
メルカリはGo使いまくってるみたいだけどそういう企業ってRustあるの?
GoogleやMicrosoftもOS開発で注目してるだけだよね?
データ競合なんて多数あるバグのほんの一部でしかないしそれだけ持ち出されても何も響かないね
競合状態は防げないわけだし、データ競合ならGoでもランタイムだか検知する機能はある、テストでも検知できる、それで十分としか思わないね。
289デフォルトの名無しさん
2022/07/23(土) 21:44:33.34ID:C7rfIgjP290デフォルトの名無しさん
2022/07/23(土) 21:53:20.94ID:PT0x9Gwm >>289
〇〇の機能がある自慢ならHaskellやScalaもよくされていたけどこれらの言語って普及しましたかね?
継承を排除してるのがその代表例。
Goの割り切ったシンプルさはエンタープライズでの大規模スケールするソフトウエアの開発を促進させている
RustはOS開発やドライバ、組み込みには普及することはあるけどWebやバックエンドといった高レイヤーでは確実に普及しない。理由はScala、Haskellが普及しないのと同じ。
機能自慢だけで企業で使っていくための実用性がない。
Googleでさえ社員がC++など複雑な言語を使いこなせないからあえて機能を削ったGoを採用している。
〇〇の機能がある自慢ならHaskellやScalaもよくされていたけどこれらの言語って普及しましたかね?
継承を排除してるのがその代表例。
Goの割り切ったシンプルさはエンタープライズでの大規模スケールするソフトウエアの開発を促進させている
RustはOS開発やドライバ、組み込みには普及することはあるけどWebやバックエンドといった高レイヤーでは確実に普及しない。理由はScala、Haskellが普及しないのと同じ。
機能自慢だけで企業で使っていくための実用性がない。
Googleでさえ社員がC++など複雑な言語を使いこなせないからあえて機能を削ったGoを採用している。
291デフォルトの名無しさん
2022/07/23(土) 21:55:03.92ID:7qigD5jo >>288
日本企業にこだわるところが理解できないが
例えばクックパッドがRubyで遅いのをRustへ移行した例などあるだろう
Goはランタイムがデータ競合を検知するとの主張は実行時の時点でGoの敗北を意味している
データ競合を静的に実行前に検知できるようにしたRustを使うほうがよい
日本企業にこだわるところが理解できないが
例えばクックパッドがRubyで遅いのをRustへ移行した例などあるだろう
Goはランタイムがデータ競合を検知するとの主張は実行時の時点でGoの敗北を意味している
データ競合を静的に実行前に検知できるようにしたRustを使うほうがよい
292デフォルトの名無しさん
2022/07/23(土) 21:55:41.92ID:PT0x9Gwm 低レイヤー何も触ってないくせにマウント取るためにRust使って他言語貶めてるゴミクズが多すぎるわ
もはやマウント取ることが目的になってる
もはやマウント取ることが目的になってる
293デフォルトの名無しさん
2022/07/23(土) 21:55:49.25ID:PgM2fTTz294デフォルトの名無しさん
2022/07/23(土) 22:00:23.38ID:PT0x9Gwm >>291
開発コストはなんで度外視するの?
例えば単体テストはカバレッジ100%行かなくてもリリースするわけでしょ?それは開発コストとトレードオフをかけた結果80%とか基準を下げてるって面もあるわけ
データ競合は防げても競合状態はRustでも防げないわけで並行処理プログラミングが確実に安全に書けるって保証されてるわけでもないぞ
データ競合なんで数あるバグのうちの1つしかないわけで
GoとRustだと明らかに開発コストは桁違いであって特に新規にプロジェクトに参加したメンバーがいる場合に差が出てくるね
開発コストはなんで度外視するの?
例えば単体テストはカバレッジ100%行かなくてもリリースするわけでしょ?それは開発コストとトレードオフをかけた結果80%とか基準を下げてるって面もあるわけ
データ競合は防げても競合状態はRustでも防げないわけで並行処理プログラミングが確実に安全に書けるって保証されてるわけでもないぞ
データ競合なんで数あるバグのうちの1つしかないわけで
GoとRustだと明らかに開発コストは桁違いであって特に新規にプロジェクトに参加したメンバーがいる場合に差が出てくるね
295デフォルトの名無しさん
2022/07/23(土) 22:02:31.75ID:PT0x9Gwm296デフォルトの名無しさん
2022/07/23(土) 22:03:24.19ID:PT0x9Gwm Discordしか知らないだろう自称玄人どもはw
297デフォルトの名無しさん
2022/07/23(土) 22:08:40.01ID:PT0x9Gwm Web業界でC++よりRubyが流行ったのも開発コストの削減が目的なのであって
RustがRubyみたいにWeb業界で普及することはないだろうね。
自称玄人は実行コストのことしか考えないがそれならアセンブリが最強だろ。
結局開発コストと実行コストが優れてるGoが現時点での最適解となる。時点でNode(Deno)
RustがWeb企業で普及することはまずないね。OS開発の用途では普及していくだろう、
RustがRubyみたいにWeb業界で普及することはないだろうね。
自称玄人は実行コストのことしか考えないがそれならアセンブリが最強だろ。
結局開発コストと実行コストが優れてるGoが現時点での最適解となる。時点でNode(Deno)
RustがWeb企業で普及することはまずないね。OS開発の用途では普及していくだろう、
298デフォルトの名無しさん
2022/07/23(土) 22:12:19.51ID:RQhphYGe >>290
勉強してからRustを批判した方がいいよ
継承を排除したことをGoの利点と言われてもRustも継承がなくGoと同じだよ
Rustは従来の言語にあった不要な部分や古い部分をばっさりと切り捨てて最新の高機能なパラダイムを組み合わせてシンプルに作った言語
だからRustもGoと同じくクラスも無いし例外(try-throw-catch)も無い
一方でRustは例えば代数的データ型のようなシンプルかつ有用なものを採用
代数的データ型を採用せずに次世代言語を名乗るのはおこがましいので例に出しました
Goとの比較で言えばGoは代数的データ型を欠いているためにエラー返り値の面倒な扱いを招いています
同じように例外を無くしてもGoは記述が面倒になりRustは便利になっていますね
勉強してからRustを批判した方がいいよ
継承を排除したことをGoの利点と言われてもRustも継承がなくGoと同じだよ
Rustは従来の言語にあった不要な部分や古い部分をばっさりと切り捨てて最新の高機能なパラダイムを組み合わせてシンプルに作った言語
だからRustもGoと同じくクラスも無いし例外(try-throw-catch)も無い
一方でRustは例えば代数的データ型のようなシンプルかつ有用なものを採用
代数的データ型を採用せずに次世代言語を名乗るのはおこがましいので例に出しました
Goとの比較で言えばGoは代数的データ型を欠いているためにエラー返り値の面倒な扱いを招いています
同じように例外を無くしてもGoは記述が面倒になりRustは便利になっていますね
299デフォルトの名無しさん
2022/07/23(土) 22:51:05.66ID:jaxJ03Ml だからお前ら次世代言語の話しろよ。
それ以外は別スレ建ててやれや。
それ以外は別スレ建ててやれや。
300デフォルトの名無しさん
2022/07/23(土) 22:53:24.42ID:IVV76sYn Rust賛否議論に最適なスレッドがこちら!
https://mevius.5ch.net/test/read.cgi/tech/1657382429/
https://mevius.5ch.net/test/read.cgi/tech/1657382429/
301デフォルトの名無しさん
2022/07/23(土) 23:07:13.56ID:7L6l8ELk 実際、次世代言語でやるべきメモリ管理や並行処理の課題はRustだけが取り組んでる感じがあって、それ以外の次世代言語はなんかパンチがないよな。
このスレで次世代言語として上がってるTypeScriptやSwiftやKotlinとかも、既存資産を使いつつモダン言語に緩やかに移行できます~がウリで、言語自体の挑戦があまり感じられないというか。
このスレで次世代言語として上がってるTypeScriptやSwiftやKotlinとかも、既存資産を使いつつモダン言語に緩やかに移行できます~がウリで、言語自体の挑戦があまり感じられないというか。
302デフォルトの名無しさん
2022/07/24(日) 00:59:14.24ID:POYobNlQ Goのシングルバイナリは魅力的だけどRustはどうなの
簡単にexe作れる?
簡単にexe作れる?
303デフォルトの名無しさん
2022/07/24(日) 01:00:34.35ID:cSogl1Kz >>302
簡単に作れるよ
簡単に作れるよ
304デフォルトの名無しさん
2022/07/24(日) 01:01:51.95ID:POYobNlQ 素晴らしい
Rustやるわ
Rustやるわ
305デフォルトの名無しさん
2022/07/24(日) 01:13:50.56ID:RIVbLJGX >>301
次スレからはtypescript, swift, go, kotlinはスレタイから外せよ。
次スレからはtypescript, swift, go, kotlinはスレタイから外せよ。
306デフォルトの名無しさん
2022/07/24(日) 01:30:40.07ID:iVL8opWs 次世代言語ってどういう意味
そこに序列されるためには既存言語にない画期的な仕組みが必要なのか
そこに序列されるためには既存言語にない画期的な仕組みが必要なのか
307デフォルトの名無しさん
2022/07/24(日) 01:45:52.41ID:RIVbLJGX308デフォルトの名無しさん
2022/07/24(日) 02:35:17.60ID:40vv7Sn8 >>306
画期的な仕組みでなくてもインパクトのあるものは多い
例えば>>298の代数的データ型なんて古くからある概念で特に関数型言語では昔から使われてきたものだけど
手続き型言語では導入されなかったり導入されていても有効活用できていなかったり
ようするに代数的データ型は無縁か役に立たないか相性が悪いものと思われていた
ところがRustがその代数的データ型をタグ付きunionとなる形の値付きenumとして採り入れて
さらにこれも関数型ではお馴染みのOptionやEither (RustではResult)を
そのenumで表現してRust標準ライブラリの中枢に据えることで
非常に便利で言語の中心として機能する重要なインフラとして一気に昇華させてしまった
つまり古くからある概念や仕組みであっても
有用な形で言語に採り入れることでインパクトのあるものになりうる
次世代言語と称せられる言語はそういうインパクトのある何かが多数あるのだろう
画期的な仕組みでなくてもインパクトのあるものは多い
例えば>>298の代数的データ型なんて古くからある概念で特に関数型言語では昔から使われてきたものだけど
手続き型言語では導入されなかったり導入されていても有効活用できていなかったり
ようするに代数的データ型は無縁か役に立たないか相性が悪いものと思われていた
ところがRustがその代数的データ型をタグ付きunionとなる形の値付きenumとして採り入れて
さらにこれも関数型ではお馴染みのOptionやEither (RustではResult)を
そのenumで表現してRust標準ライブラリの中枢に据えることで
非常に便利で言語の中心として機能する重要なインフラとして一気に昇華させてしまった
つまり古くからある概念や仕組みであっても
有用な形で言語に採り入れることでインパクトのあるものになりうる
次世代言語と称せられる言語はそういうインパクトのある何かが多数あるのだろう
309デフォルトの名無しさん
2022/07/24(日) 02:40:05.18ID:A2ivE9+A もうワッチョイつけろ
310デフォルトの名無しさん
2022/07/24(日) 03:54:31.36ID:QogZ4c3I swiftでアプリ作るか〜って弄ってるので次世代実用言語なら外してもらっちゃ困るし
次世代にはなんとかなるんじゃないかな〜って寝言言語のスレなら外してもらっていいよー
次世代にはなんとかなるんじゃないかな〜って寝言言語のスレなら外してもらっていいよー
311デフォルトの名無しさん
2022/07/24(日) 07:13:10.20ID:a/nVuE5F >>298
RustにはWebプログラミングには不要な要素が多いって言ってんだろ
文盲乙
OS開発しないのに細かいメモリ管理をプログラマにまかすのは完全に不要な負担である
これはまつもとひろゆきもいってる
RustにはWebプログラミングには不要な要素が多いって言ってんだろ
文盲乙
OS開発しないのに細かいメモリ管理をプログラマにまかすのは完全に不要な負担である
これはまつもとひろゆきもいってる
312デフォルトの名無しさん
2022/07/24(日) 07:18:35.77ID:a/nVuE5F とにかくWebやバックエンドといった高レイヤー層でRustが流行ることはないのは事実である
論破してみろよ自称玄人は
具体的に移行している企業もDiscordしか知らないみたいだし、Discordでも一部の部分しか採用してない
〇〇の機能があるから優れてる自慢はHaskellやScalaでも起こってた、でも流行らなかった
流行るのはGoやPythonのように機能を削った言語
RustにはOS開発など低レイヤーには必要な要素が詰まっているが高レイヤーでは不要なものだらけである、だから普及しないんだよ自称玄人さん
論破してみろよ自称玄人は
具体的に移行している企業もDiscordしか知らないみたいだし、Discordでも一部の部分しか採用してない
〇〇の機能があるから優れてる自慢はHaskellやScalaでも起こってた、でも流行らなかった
流行るのはGoやPythonのように機能を削った言語
RustにはOS開発など低レイヤーには必要な要素が詰まっているが高レイヤーでは不要なものだらけである、だから普及しないんだよ自称玄人さん
313デフォルトの名無しさん
2022/07/24(日) 07:25:40.56ID:POYobNlQ 確かにWebでどうなるかはよくわからないな
ひょっとしたらJavaみたいにエンタープライズが使い出すのかもしれん
Webとの関連でいうと個人的にTauriには大いに期待している
ひょっとしたらJavaみたいにエンタープライズが使い出すのかもしれん
Webとの関連でいうと個人的にTauriには大いに期待している
314デフォルトの名無しさん
2022/07/24(日) 07:26:19.38ID:a/nVuE5F 自称玄人はOS開発やドライバ開発など低レイヤーの経験など一度もないのに、畑違いであるRustを使ってるだけにアイデンティティを感じている孤独なおっさん
だから高レイヤー層では流行らない言われても論理的に反論できず、他言語を貶めて他人にマウントを取ることしかが脳がない
Rustを使っていることが唯一のアイデンティティの哀れなおっさん
だから高レイヤー層では流行らない言われても論理的に反論できず、他言語を貶めて他人にマウントを取ることしかが脳がない
Rustを使っていることが唯一のアイデンティティの哀れなおっさん
315デフォルトの名無しさん
2022/07/24(日) 07:51:53.73ID:CneNKog7 俺もWeb周りで使われるのはかなり限定的になるんじゃないかと思うな。良い言語だけど採用しただけの価値が出る領域はかなり狭いよ。
316デフォルトの名無しさん
2022/07/24(日) 07:59:04.44ID:bdlqmtah Web と一括りにしてる時点で議論の対象にならんクズレスでしかない
317デフォルトの名無しさん
2022/07/24(日) 08:07:30.03ID:eIrt9sO8 valeのGenerational Referencesって面白くない?
https://verdagon.dev/blog/generational-references
所有者は一つだけだけど非所有者の参照はいくつも持てる。
各ヒープメモリに世代カウントを付けて、参照はポインタ+世代カウント+オフセット値のようなデータになる。
参照先にアクセスするときはヒープの世代カウントと参照の世代カウントを比較して不一致だったら解放されたメモリにアクセスしたと見なせる。
参照をコピーするときは参照カウンタのようなカウントを増減する必要は無い。参照をそのままコピーするだけ。
https://verdagon.dev/blog/generational-references
所有者は一つだけだけど非所有者の参照はいくつも持てる。
各ヒープメモリに世代カウントを付けて、参照はポインタ+世代カウント+オフセット値のようなデータになる。
参照先にアクセスするときはヒープの世代カウントと参照の世代カウントを比較して不一致だったら解放されたメモリにアクセスしたと見なせる。
参照をコピーするときは参照カウンタのようなカウントを増減する必要は無い。参照をそのままコピーするだけ。
318デフォルトの名無しさん
2022/07/24(日) 08:20:10.22ID:+L63FAhG ときどき現れる、自分んとこにRustがやってくるのが怖くて吠えまくるおじさん
Rustが使えるだけでマウントなんてとるわけないのに、劣等感で震えすぎ
Rustが使えるだけでマウントなんてとるわけないのに、劣等感で震えすぎ
319デフォルトの名無しさん
2022/07/24(日) 08:24:03.54ID:bdlqmtah320デフォルトの名無しさん
2022/07/24(日) 08:36:32.88ID:a/nVuE5F >>318
やってこないから(笑)
やってこないから(笑)
321デフォルトの名無しさん
2022/07/24(日) 09:01:53.33ID:eIrt9sO8 >>319
それは確かに怪しいっぽい
それは確かに怪しいっぽい
322デフォルトの名無しさん
2022/07/24(日) 09:25:03.61ID:Y1YiiPBC 前はRustなんてどの領域でも採用されないと主張していた
その後は大手は採用しないとか、言語オタクしか使わないとか言い出して、今はwebに来ませんようにとお祈りしてる
その後は大手は採用しないとか、言語オタクしか使わないとか言い出して、今は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を使いたいと思うこともないだろう。
それはものすごく正しい。
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が来るかもね
WebAssemblyが普通になってきたらRustが来るかもね
327デフォルトの名無しさん
2022/07/24(日) 10:05:58.70ID:nz/s3YoW >>324
黒魔術が具体的に何を指してるか分からんがunsafeではだめか?
黒魔術が具体的に何を指してるか分からんがunsafeではだめか?
328デフォルトの名無しさん
2022/07/24(日) 10:10:15.29ID:mNErqOPr webassemblyは
高レイヤーのC++を変えなくても低レイヤーの機械語を変えれば安全になるという
C++を高レイヤーと見抜けない人には難しい技術
高レイヤーのC++を変えなくても低レイヤーの機械語を変えれば安全になるという
C++を高レイヤーと見抜けない人には難しい技術
329デフォルトの名無しさん
2022/07/24(日) 10:14:42.11ID:RIVbLJGX >>310
swiftは個別スレあるだろう
swiftは個別スレあるだろう
330デフォルトの名無しさん
2022/07/24(日) 10:17:08.35ID:RIVbLJGX >>317
こういうレスを待ってた
こういうレスを待ってた
331デフォルトの名無しさん
2022/07/24(日) 10:20:14.22ID:yHbyxFst332デフォルトの名無しさん
2022/07/24(日) 10:33:10.43ID:VggJFBUh ここは次世代か現世代に限らず言語マウンティングしたいやつらの巣窟
333デフォルトの名無しさん
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
難しいのですかね?
下みたいなアプリがあったのでできるのかと思ったのですが、、
なにか特殊な方法が必要なんでしょうか
https://play.google.com/store/apps/details?id=forinnovation.phoneaddiction&hl=ja
335デフォルトの名無しさん
2022/07/24(日) 11:55:06.92ID:0MXf6lNW 不正確:ここは次世代か現世代に限らず言語マウンティングしたいやつらの巣窟
ここはRust言語マウンティングしたいやつら(ただしコーディング能力はゼロに近い低め)の巣窟、まともに話し合うことすら不可能
ここはRust言語マウンティングしたいやつら(ただしコーディング能力はゼロに近い低め)の巣窟、まともに話し合うことすら不可能
336デフォルトの名無しさん
2022/07/24(日) 12:08:17.54ID:sqWRJTqj337デフォルトの名無しさん
2022/07/24(日) 12:13:46.77ID:KMd5I8Sy RustはOSの開発でもあんま使われてないよね
でも将来JavaみたいなIT土方専用言語になりそうな気がする
でも将来JavaみたいなIT土方専用言語になりそうな気がする
338デフォルトの名無しさん
2022/07/24(日) 12:59:53.34ID:nz/s3YoW339デフォルトの名無しさん
2022/07/24(日) 13:35:49.98ID:mNErqOPr 土方うんぬんはマウンティングではなく職業差別だよな
差別された業種はプロよりアマの方が強くなる
これ資本主義への挑戦だろ
差別された業種はプロよりアマの方が強くなる
これ資本主義への挑戦だろ
340デフォルトの名無しさん
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の方式が最も優れた方式と言えるでしょう
> valeのGenerational References
> 参照先にアクセスするときはヒープの世代カウントと参照の世代カウントを比較して不一致だったら解放されたメモリにアクセスしたと見なせる。
それは重すぎる設計で実用的ではないですね
C++のshared_ptrもRustのRc/Arcも
参照先にアクセスするときは参照カウントへのアクセスがなくコストゼロです
RAIIによる自動解放時にようやく参照カウントを見てヒープも解放するか判断します
やはりC++のshared_ptrとRustのRc/Arcの方式が最も優れた方式と言えるでしょう
341デフォルトの名無しさん
2022/07/24(日) 16:34:59.98ID:RaX1YBir342デフォルトの名無しさん
2022/07/24(日) 16:44:13.25ID:A2ivE9+A >>300のスレにコピペしといたで続きはそっちでお願いな
343デフォルトの名無しさん
2022/07/24(日) 17:06:52.19ID:bdlqmtah344デフォルトの名無しさん
2022/07/24(日) 17:11:06.10ID:dVy5+utd そもそもRustというかスタックベースのRAIIって結構ヒープアロケーションしてるからな
生存スコープの管理にスタックを使ってるだけ
生存スコープの管理にスタックを使ってるだけ
345デフォルトの名無しさん
2022/07/24(日) 17:17:44.35ID:5fSI//2c >>336
google的にもflutterをメインにしたいんじゃないかと邪推してる。
google的にもflutterをメインにしたいんじゃないかと邪推してる。
346デフォルトの名無しさん
2022/07/24(日) 17:20:42.68ID:5fSI//2c >>337
今それを言ったらOSのカーネル開発で使われてる言語なんてC以外あるんかね?
今それを言ったらOSのカーネル開発で使われてる言語なんてC以外あるんかね?
347デフォルトの名無しさん
2022/07/24(日) 17:26:44.89ID:5fSI//2c 研究でだったらhaskellでだってカーネル開発あるけどな
348デフォルトの名無しさん
2022/07/24(日) 17:37:32.00ID:Tcg6NKxY > スタックベースのRAII
ほかに何ベースのRAIIがあるの?
> 生存スコープの管理にスタックを使ってるだけ
変数のスコープを静的に解釈してデストラクタ呼び出しを追加してるだけでは?
スタックをいつどうやって使うの?
ほかに何ベースのRAIIがあるの?
> 生存スコープの管理にスタックを使ってるだけ
変数のスコープを静的に解釈してデストラクタ呼び出しを追加してるだけでは?
スタックをいつどうやって使うの?
349デフォルトの名無しさん
2022/07/24(日) 17:40:37.46ID:nz/s3YoW メジャーどころのOSのカーネルだとCかC++かアセンブリだよね
かろうじてLinuxにRustが取り込まれそうだけど当面はドライバのみで使途は限定的
かろうじてLinuxにRustが取り込まれそうだけど当面はドライバのみで使途は限定的
350デフォルトの名無しさん
2022/07/24(日) 17:46:35.54ID:kgHpDwre >>349
LinuxだけでなくAndroidもRust導入した
LinuxだけでなくAndroidもRust導入した
351デフォルトの名無しさん
2022/07/24(日) 18:27:24.20ID:RaX1YBir >>343
見苦しい言い訳をするな
1000個アロケーションされてると書いてるんだから1000個アロケーションされてるんだよ
配列がどうとかの話は言ってない
お前が読み飛ばした部分だよ
適当にしか読んでないから飛んだんだろ
人の文章を読みない上に話を変えようとしてる
お前こそがプラグラマに向いてないぞ
残念ながらお前の負け
見苦しい言い訳をするな
1000個アロケーションされてると書いてるんだから1000個アロケーションされてるんだよ
配列がどうとかの話は言ってない
お前が読み飛ばした部分だよ
適当にしか読んでないから飛んだんだろ
人の文章を読みない上に話を変えようとしてる
お前こそがプラグラマに向いてないぞ
残念ながらお前の負け
352デフォルトの名無しさん
2022/07/24(日) 18:27:44.09ID:DhgJf/Tp >>269
たしかにRustでRc/Arcが使われるのは限定されたケースのみではあるが、
例えばスレッド間での共有では使わざるを得なかった。
しかし来月リリースのRust 1.63では、スコープ付きスレッド生成(spawn)がstableとなるため更に使用頻度が減ることになる。
これにより参照カウントを使わずとも共有(借用)できるようになり、Rustの高速化と利便性が更に進む。
たしかにRustでRc/Arcが使われるのは限定されたケースのみではあるが、
例えばスレッド間での共有では使わざるを得なかった。
しかし来月リリースのRust 1.63では、スコープ付きスレッド生成(spawn)がstableとなるため更に使用頻度が減ることになる。
これにより参照カウントを使わずとも共有(借用)できるようになり、Rustの高速化と利便性が更に進む。
353デフォルトの名無しさん
2022/07/24(日) 18:30:59.25ID:bdlqmtah >>351
1000個アロケーションされることと1000回アロケーションされることの区別もつかない馬鹿は黙ってろw
1000個アロケーションされることと1000回アロケーションされることの区別もつかない馬鹿は黙ってろw
354デフォルトの名無しさん
2022/07/24(日) 18:33:44.43ID:RaX1YBir 論点がズレたからもう一度まとめておく
Goでは無意識的にヒープにアロケーションされてしまう可能性がある
それはエスケープ解析をしないとわからない
つまりメモリ使用量も実行効率も落ちる
これは一般論
恣意的な特定のベンチの数字を言ってるわけではない
rustは明示的にヒープに置くように書くのでそのようなことは起きない
つまり理論的にはrustが1番速いし最高の言語
もう一度言うが特定のベンチの話をしているのではない
Goでは無意識的にヒープにアロケーションされてしまう可能性がある
それはエスケープ解析をしないとわからない
つまりメモリ使用量も実行効率も落ちる
これは一般論
恣意的な特定のベンチの数字を言ってるわけではない
rustは明示的にヒープに置くように書くのでそのようなことは起きない
つまり理論的にはrustが1番速いし最高の言語
もう一度言うが特定のベンチの話をしているのではない
355デフォルトの名無しさん
2022/07/24(日) 18:35:55.52ID:RaX1YBir■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国連大使「日本が中国に武力行使すると脅しをかけたのは初めて」 国連事務総長に書簡★2 [♪♪♪★]
- 【トレンド】高市首相「マウント取れる服」投稿にツッコミ続出「他国に対する敬意がない」「外交相手に失礼」 [1ゲットロボ★]
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★8 [♪♪♪★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 [ぐれ★]
- 【芸能】44歳・池脇千鶴、激変ぶりにネット衝撃 「まるで別人…」「変化が凄い!!」の声 [冬月記者★]
- 【立憲民主党】「質問レベルの低さが立憲の存立危機事態」台湾有事発言を引き出した立憲“執拗追及”が波紋… ★2 [尺アジ★]
- 絵描きたいからキャラクターの名前書いて
- 🏡😡
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ161
- 幼馴染と結婚したけど質問ある?
- 【悲報】フィギュアスケート人気、めちゃくちゃ落ちる💥💥wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [573041775]
- 中国「国連さん聞いて!日本が反省しないの!日本は武力介入しようとしてるよ!」
