結局C++とRustってどっちが良いの? 6traits

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2023/07/29(土) 15:05:46.55ID:2Hm/yplK
C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」

っていう雑談スレ。

前スレ 
https://itest.5ch.net/mevius/test/read.cgi/tech/1688129795

関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.n...cgi/prog/1619943288/
556デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:00:58.42ID:Yukujl1Z
>>552
Javaは10年掛ったけどRustは5年で追い越すんじゃね
2023/08/16(水) 16:01:09.62ID:Ax6feN+h
>>550
コルーチンはC++20が普及しておらず使える人もほとんどいないという問題がまずあるが
様々なasync/await対応言語の中でC++の可読性が最も低く最悪だ

それらの問題に目をつむるとしてもC++のこの機能はまだ様々問題を抱えている
まず非同期なタスクを扱う様々なユーティリティを含む環境が整っていない
そして一番重要なまともなスケジユーラがない
メモリ共有のためのMutexの非同期対応版もない

そういう状況に加えてメモリ安全性の問題も抱えてしまう
この分野は素直にRustを使うのが良いと思う
558デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:06:05.32ID:n91eivk5
>>552
>rustがそれくらい普及すると言い張ってる人も同じレベルですよね?
AIの進化を舐め過ぎ
自然言語による指示がプログラマーを丸々置き換えることはありえないが
AIはプログラマのかなりの仕事を肩代わりするだろう
rustに比べると遥かに将来性が確約されているよ
559デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:06:56.85ID:lsG3vWrK
>>555
勿論Rustで実装してるぞ。
560デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:07:20.26ID:n91eivk5
>>557
なるほどー
丁寧に教えてくれて有難う
561デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:26:42.73ID:Jm1orbJb
>>558
別にaiの進化を否定しないが、強いaiじゃなきゃ結局人間を完全に置き換えられないことは今回証明されたし、強いai実現の目処は現時点で立ってないのでは?
根拠無しで将来性将来性言うてもしょうもないし、そういう詐欺的な言説を否定してるわけ。
もちろん現時点でも十分使える技術領域があることは否定しない。
562デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:27:42.53ID:Jm1orbJb
まあrust関係無いから甚だしくスレチだわなw
563デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:30:30.71ID:n91eivk5
>>561
>強いaiじゃなきゃ結局人間を完全に置き換えられないことは今回証明されたし
何それ? 「強いAI」? 「証明」?
煽りでなく端折らんで説明してくれい
564デフォルトの名無しさん
垢版 |
2023/08/16(水) 16:45:51.70ID:Jm1orbJb
>>563
いや、流石に自分で検索してください。
別にオレオレ用語じゃないから。
2023/08/16(水) 16:52:58.36ID:Y47nRpeH
ChatGPT活用派は、AI絵師が
「老害は困る」
「いまだに自分の手で書いている奴はアホ」
と言っているのと似ている:
https://www.youtube.com/watch?v=-WwwBlEguSU&ab_channel=ずんだもんの地獄巡り
2023/08/16(水) 16:57:23.54ID:vOIrYr40
>>552
>これからは○○の時代、と言って本当にそれだけ普及した言語ありますか?

Java
567デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:01:43.17ID:n91eivk5
>>564
「今回」は書かにゃどの回か分からんよw
568デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:05:14.24ID:n91eivk5
>>565
最近衝撃受けたのはCode interpreter
1年も立たずにこんなものが出てくる
これはまだまだとんでもない発展をする
2023/08/16(水) 17:06:47.79ID:Y47nRpeH
AI生成は、何度も試してまともなものだけを人間が選んでいるのが
現状らしい。
「体や細部が破綻したものや落書きみたいなものまで
多種多様なため」
「AI絵師はイラストガチャを回して質が高い画像だけを
公開しているのです」
とのこと。だとすれば、ChatGPTが生成したコードも大多数は
バグだらけで一部だけまともに動くということが推定できる。
570デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:09:03.49ID:n91eivk5
>>569
「現状らしい」とか「推定できる」とかじゃなくまず使いなよ
批判があればそれから
2023/08/16(水) 17:32:52.36ID:Y47nRpeH
https://qiita.com/ko1nksm/items/7b17eefdec57640c2bfd

によれば、ChatGPTに関数のコードを渡して、関数の行なっている
内容を問うてみたところ、関数名が replace_all だと細部は
間違ってはいるものの、有る程度正しい解釈が返ってきたが、
同じ関数で関数名だけを repeat_all などとすると、全く
的外れな解釈が返ってきた。
replace で置換、repeat で繰り返し、だと推定して解釈
していただけで、関数の中身までちゃんとフォローして
意味を理解していたわけではないことが露呈した形と
なった。
572デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:35:20.36ID:Jm1orbJb
>>567
そうですねw
chatgptの今回の盛り上がりの件です。
2023/08/16(水) 17:42:26.83ID:Y47nRpeH
それから、置換文字列が重複している場合の問題を避けるため
に正しく対策したコードに対して、むしろ、逆に
置換している場合に正しく動作しない、などと解釈してきた
かと思うと、逆に ChatGPT自らにコード生成させると、
置換文字列が重複した場合に誤動作するコードを
生成してしまう、というプログラミングや数学に向いて無い
生徒みたいな振る舞いをしてしまうようだ。
2023/08/16(水) 17:47:48.34ID:n91eivk5
>>571
>注意 今日発表されたらしい GPT-4 ではありません
おマイさんはちょっとずれたこと書いてるので
まずは使った方が良いぞ
ちょっと高いけども
社会はこの数年で一気に変わる準備をしてるんだから
勉強と思って契約しなさい
2023/08/16(水) 17:49:53.08ID:/FZlOIZi
JavaからAIから話題作りに事欠かないなrust
2023/08/16(水) 17:49:58.26ID:Y47nRpeH
経営に詳しい人によれば、chatgptはマネタイズに失敗し、
倒産する公算が高いと言われ始めた。
だから、必至なのかな。
577デフォルトの名無しさん
垢版 |
2023/08/16(水) 17:57:52.98ID:n91eivk5
>>576
ああ! この人いつもの人かw
ちょっと高いかもしれんが20ドルの価値はあるよ
俺の場合は実用ではなく勉強のために
GPT4リリース日から契約したよ
半年ほどたったがその間に
pluginが出てきてCode Interpreterが登場して
発展速度に驚いている
新しいものに適応するのが苦手かもしれんが
これは社会に組み込まれていくものだから
他人に先じて取り込んだ方が良い
578デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:00:56.94ID:n91eivk5
>>576
どうかな? MSが出資していて
Officeに取り込まれるのに?
2023/08/16(水) 18:01:53.41ID:Y47nRpeH
ChatGPTは、利用者が17億人まで行ったが15億人に減った
そうだ。無料サービスは利用者が増えていかないと破綻する
らしく、減った時点で破綻まっしぐららしい。
しかも、AIは作る人や質問したい人向けのもので、
YouTubeのように子供がだらだら見続けることもないから
広告量で稼ぐこともできない。
DeepL翻訳の様な実用性も無いから有料での使用は絶望的。
ChatGPTは、株で生きているだけで、マネタイズには成功
してないし、これからも成功しないだろう。
twitterがずっと赤字なのと同じ。
2023/08/16(水) 18:02:19.90ID:16hpX62c
RustよりchatGPTを使ってる人の方が遥かに多いと思う
ていうか、Rustって誰も使ってないよね
2023/08/16(水) 18:02:38.02ID:Y47nRpeH
>>577
俺は新しいもの大好きだぞ。
2023/08/16(水) 18:07:41.71ID:n91eivk5
>>581
適応能力が明らかに低いよ
2023/08/16(水) 18:09:17.37ID:Y47nRpeH
https://thebridge.jp/2023/07/chatgpt-sees-10-percent-mom-decline
ChatGPTは、利用者が五ヶ月連続で減少。
一番の原因は、「思ったほど賢くない」こと。
開店時にどの店も行列を作るが、数週間後に閑古鳥となり、破綻する
店は多い。
それにシリコンバレー銀行の破綻などもあれば、アメリカの景気大後退
もある。
総合的に、来年までに倒産するという観測も出てきている。
584デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:09:43.06ID:n91eivk5
>>576のような書き込みも
自分が適応できないことで生じている
認知的不協和を解消するために書いてるんだと
俺は見てるよ
2023/08/16(水) 18:09:46.09ID:Y47nRpeH
>>582
興味ないから。
2023/08/16(水) 18:11:14.53ID:Y47nRpeH
>>584
現実を見てないのは果たしてどちらか?
https://www.youtube.com/watch?v=oCAkHFkSoRk&list=LL&index=10&ab_channel=深田萌絵TV
ChatGPT 倒産危機報道に業界人「やっぱり」
587デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:12:02.10ID:n91eivk5
>>585
本当に興味がないのなら何も書かないんだよ
あえて「倒産する」などと書くのは興味があるんだよ
やらない自分を正当化するために書いているんだよ
2023/08/16(水) 18:17:28.00ID:Y47nRpeH
>>586
[裏付け]
https://www.windowscentral.com/software-apps/chatgpts-fate-hangs-in-the-balance-as-openai-reportedly-edges-closer-to-bankruptcy#:~:text=ChatGPT%20is%20reportedly%20heading%20toward%20bankruptcy.,million%20loss%20since%20debuting%20ChatGPT%2E

ChatGPT's fate hangs in the balance as OpenAI reportedly edges closer to bankruptcy.
ChatGPTの命運を左右するOpenAIの倒産報道
2023/08/16(水) 18:18:24.09ID:Y47nRpeH
>>587
興味は無いが、社会を破壊してしまう心配はしている。
だから、ウォッチはしている。
590デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:21:57.80ID:Y47nRpeH
>>588
[続き]
* OpenAIが破産に近づいていると報じられているため、ChatGPTの運命は瀬戸際にある
知っておくべきこと
・ChatGPTは破産に向かっていると伝えられている。
・チップ不足や利害の分割などにより、このベンチャー企業はほとんど利益を上げておらず、投資家はほとんど損益分岐点に達している。
・OpenAI は、ChatGPT のデビュー以来、すでに 5 億 4,000 万ドルの損失を計上しています。

「同社は倒産の危機に瀕していると報じられている。」
*分析
まず、AIを搭載したチャットボットを運用することは、特にコスト面において簡単なことではない。私たちはすでに、OpenAIが毎日ツールを動かすのに約70万ドルを使用していることを知っている。これはクエリ1件あたり36セントに相当する。シームレスに動作させるためにエヌビディアのような企業からGPUを調達するために使われる金額は言うまでもない。しかし、GPT-3.5とGPT-4を収益化することで、少しでも収益を上げようと努力しているにもかかわらず、OpenAIはこの状態を長く続けることができないかもしれない。マイクロソフトは、最近の投資家数人を伴って、これらの費用に対応している。投資家たちは、投資を回収できない場合、いつまで事業を維持する手助けをするのだろうか?
591デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:22:03.59ID:n91eivk5
>>588
それ読んだ? 噂話で裏付けになっていない
592デフォルトの名無しさん
垢版 |
2023/08/16(水) 18:26:13.04ID:n91eivk5
MSが支えるから大丈夫だよw

GPT-4搭載の「Microsoft 365 Copilot」、文章生成よりも重要なAIの能力とは
https://xtech.nikkei.com/atcl/nxt/column/18/00001/07952/

OpenAIは上場企業じゃないけども今や市場の資金はAI企業に集まっている
2023/08/16(水) 18:54:33.44ID:Y47nRpeH
https://www.youtube.com/watch?v=-WwwBlEguSU&list=LL&index=3&ab_channel=ずんだもんの地獄巡り
【神絵師から爆速でオワコン】AI絵師様になったずんだもんの末路【ずんだもん&ゆっくり解説 】

AI画像生成は、破綻画像や低品質画像を出す率が高いため、何度もトライアンドエラー
を繰り返す必要がある。
また、SNSなどで話題となっているAI画像も、人間がプロ級に画力が有る人で、
手作業で修正していることが有る。
プロは、少しの修正は簡単に出来るから出来ているだけで、AIだけで生成
されていとは限らない。
2023/08/16(水) 19:04:35.20ID:lXXg0DBO
興味津々なんだな
595デフォルトの名無しさん
垢版 |
2023/08/16(水) 20:59:38.35ID:n91eivk5
>>593
自ら触ってから評価すべし
俺はAI画像生成は触らんので何も言わない
2023/08/16(水) 23:09:32.87ID:NsfviM1N
再生数稼ぎのyoutuberの話をうのみにしてるだけで馬鹿げてる
chatGPTのOpenAIは株式非上場ですでに企業価値が4兆円なんだけど…
2023/08/16(水) 23:19:07.73ID:16hpX62c
結論、Rustは終わり
598デフォルトの名無しさん
垢版 |
2023/08/16(水) 23:44:28.01ID:Jm1orbJb
>>596
あなたのレスの中に科学的根拠何かある?
ai自体スレチだが、経済の話しかないならさらにスレチだね。
2023/08/16(水) 23:46:16.73ID:cEmRinaz
>>557
その点がC++が敗れてRustの台頭を招いた技術的な最大の原因っぽいな
C10K対策とasync/await対応を兼ねたモダンな需要にC++が実用的な解を示せなかった
2023/08/16(水) 23:53:08.75ID:NsfviM1N
>>598
マジレス頼むけど
上のレスに科学的に根拠が必要な個所はどこなんだ

か・が・く・て・き・に だ!
601デフォルトの名無しさん
垢版 |
2023/08/17(木) 00:10:55.41ID:+P8PJonD
>>600
しょうもない話は誰も興味無い。
それは科学の話じゃないよw
2023/08/17(木) 01:03:05.11ID:5Gn6RQWL
こいつ前もやってたなコレw
「数学的に」の次は「科学的に」かww
2023/08/17(木) 01:08:52.68ID:a0UknZUa
先生、management scienceは科学に入りますか?
2023/08/17(木) 01:27:54.71ID:HpAmrdyt
>>596
YouTuberと「ChatGPTで一儲けしたい投資家」の
骨肉の戦いが始まりました。
Fight!!
2023/08/17(木) 01:56:59.01ID:ulA9klML
争え……もっと争え……
2023/08/17(木) 01:59:28.59ID:HpAmrdyt
「OpenAIが破産」でググってみろ。
2023/08/17(木) 02:35:59.33ID:IS1r35hV
OpenAIが存続するかに関わらず
LLMが社会に取り込まれるのは確定だよ
君らの周りも今年は対応に追われてないか?
2023/08/17(木) 09:57:29.35ID:jCTlUTJB
言語の質をデータの量で凌駕する作戦がなぜ失敗するのか?

量で凌駕するって言ったのにお金を節約しようとしてるからでしょ
609デフォルトの名無しさん
垢版 |
2023/08/17(木) 13:28:13.01ID:nmPHx5rP
アスペの共通点
御世辞を真に受ける
2023/08/17(木) 13:45:23.19ID:8pt5gLkh
逆にマウンティングを真に受けて、上下関係は社会に必要だと思い込むのも困る
2023/08/17(木) 22:13:42.98ID:kQybzgk4
>>557
そのあたりはC++23でも標準化をあきらめた
低レベルな部品のみ標準化して提供という方針のままのようだ
C++20コルーチン向けライブラリcppcoroは実用的に十分埋めきれていない
C++20コルーチンにも対応したboost.asioもスケジューリング問題にぶち当たる
いずれにしても記述性と簡素さがよろしくない
IT大手各社がC++をあきらめてRustへ走ったのも仕方ないかと
612デフォルトの名無しさん
垢版 |
2023/08/17(木) 23:32:30.60ID:IS1r35hV
マルチスプロセスやマルチスレッドじゃだめなん?
2023/08/18(金) 00:14:51.05ID:cJVMdbtG
>>612
CPUの性能を活かせない
CPUと比べてネット通信はとても遅く待ち時間となるため空き時間をいかに活用できるかが勝負
つまり次々と切り替えて処理していくことになるが
スレッドは各リソースコストも切り替えコストもかかりプロセスはさらにそれらのコストが非常に大きい
そのためCPUの性能を活かすどころか切り替えコストで無駄にしてリソースコストで限界に達していた

そのため例えばJavaScriptはWebブラウザ内でもNode.jsなどでも同様にシングルスレッドの中で多数の通信やGUIなどを並行して非同期に捌けるようにした
Goでも多数の軽量のGoルーチンがシングルスレッドまたはマルチスレッド上で並行して動いて非同期に多数処理できるようにした
Rustの非同期タスク及びC++20のコルーチンも同じ位置付けで両者はほぼ同じ仕組みのライバル同士
614デフォルトの名無しさん
垢版 |
2023/08/18(金) 00:24:29.53ID:tXbZhR4S
>>613
>スレッドは各リソースコストも切り替えコストもかかりプロセスはさらにそれらのコストが非常に大きい
何のコスト?
「切り替えコスト」って書いてるのはユーザーモードから
カーネルモードへの切り替えコスト?
2023/08/18(金) 00:41:08.12ID:7ABRPFiH
プロセス全体をexitしたら各スレッドのデストラクタはどうなるんだろう
Cの標準ライブラリを捨てる
C++のデストラクタを排除する
ネイティブスレッド禁止
の三択かな
2023/08/18(金) 06:19:11.79ID:7A1ztnCR
>>614
スレッドは文脈からネイティブスレッド(OSスレッド)のことだとすると、
スレッド切り替えは少なくとも全レジスタの退避と復帰が必要となり、
プロセス切り替えはさらにメモリ空間の切り替えが加わる。
そして各スレッドは個別のスタック領域を持つためリソース的に大量のスレッド作成は限界個数が早い。
一方でC++20コルーチンやRustのタスクはスタックレスコルーチンなので、
個別スタック領域を必要とせず全レジスタの退避復帰切り替えも必要としないため、
大量に生成することができて極めて軽量に動作することになる。
2023/08/18(金) 09:26:08.12ID:ISPaueS8
並行並列処理に関してはGoにRustは何一つ勝ててないでしょ

Goは標準で並行並列処理をサポート
selectとチャネルとコンテキストがあり、従来のasync/awaitと比べると凝ったことをするのが非常に簡単
キャンセル処理やrate limitingや並列数制御が標準機構で自由自在
標準でサポートしているからどのサードパーティライブラリでも共通の仕組みが利用できる

こういったものが何のライブラリも必要とせず手軽にできるのが最大の強み

Goはコンパイル速度とマルチコアでスケールする並行並列処理のために作られたから
これらの観点でメモリ安全が目的で作られたRustが勝てないのは当然
618デフォルトの名無しさん
垢版 |
2023/08/18(金) 09:40:42.56ID:Xs4y23Ew
並列並行と非同期を対比する阿呆
619デフォルトの名無しさん
垢版 |
2023/08/18(金) 09:47:52.53ID:Rd3M1fjh
干支一周前でこれだからな
http://ponner.blog104.fc2.com/blog-entry-211.html
2023/08/18(金) 09:53:40.51ID:ISPaueS8
>>618
goroutineやnode.jsのpromiseといったもので並行と非同期の違いって何?
別に変わらんし、区別する意味はないぞ

非同期ってのは汎用性が高い言葉で完了を待たないって意味なら何にでも使えるわけで
例えばLinuxでファイルを書き込むときはページキャッシュだけに書き込みディスクIOは非同期に行われる
これを並行処理とは言わないはず
621デフォルトの名無しさん
垢版 |
2023/08/18(金) 09:54:03.98ID:Rd3M1fjh
>>571
中身が replace all する関数で名前が delete all とか違う意味だったらどう解釈するのか教えて
622デフォルトの名無しさん
垢版 |
2023/08/18(金) 09:59:00.46ID:Rd3M1fjh
ChatGPTって観るだけで詐欺を連想するが
>>580
は説得力あるなω
623デフォルトの名無しさん
垢版 |
2023/08/18(金) 10:15:07.27ID:Rd3M1fjh
>>617
Goでアドバンテージ持ってる会社が他社を陥れる為にRustいいぞって噂を流したのかもな
2023/08/18(金) 11:27:41.44ID:7ABRPFiH
お客様を陥れるのが本質
本質を隠す為に同業者を陥れるという噂を流している
2023/08/18(金) 12:31:50.68ID:cs4O4oY8
https://play.rust-lang.org/ とかでも
https://paiza.io/ とかでも
使える crates が少な過ぎるんじゃね
これで普及とか無理やろ
2023/08/18(金) 13:05:03.86ID:Es7nSkHo
>>617
GoでできるそれらのことはRustでもできるよ
むしろチャネルの種類などRustの方が機能も豊富だよ

Goはモダンな言語の中で唯一null安全でないしデータ競合も起きまくるし安全性を無視しすぎかな
それはともかくGoは言語機能が貧弱すぎて辛すぎる
ジェネリクスがようやく入ったけどまともに使えないなど不満が多いよね

結局Goはガベージコレクション言語にすぎないから様々な限界があるよ
C/C++/Rustのように他の言語たちのライブラリ作成もできないしね
2023/08/18(金) 13:14:44.19ID:Es7nSkHo
>C++20コルーチンやRustのタスクはスタックレスコルーチンなので、
>個別スタック領域を必要とせず

Goルーチンは個別のスタック領域を必要としてしまうね
2023/08/18(金) 13:25:35.72ID:ygIBI33X
chatGPTは何で作ってるんだろ?
2023/08/18(金) 13:58:06.66ID:ISPaueS8
>>626
“気軽”にできるといってるわけだが本当に気軽にできるの?
標準ライブラリでサポートしているの?

データ競合に関してはチャネルを使えばある程度は回避できるしrace detectorもあるのでさほど問題にはならない
race conditionに関してはRustでもGoでも検出はできないから結局プログラマの技量になるわけだけど
Rustにしたからといってあらゆる並行並列処理のバグが回避できるものじゃないぞ
そもそも難しいものなんだから
2023/08/18(金) 14:08:17.74ID:oVN8QNav
Goはこんな基本操作でも恐ろしい挙動で驚いた

14 デフォルトの名無しさん 2023/07/28(金) 03:06
その話ならばGoという最悪の言語があって直感と常識を裏切る挙動をしてくる
しかも理解できたと思ったら二転三転と次々と裏切りの挙動をしてくる

// まず [1 2 3] をaに作ってbに代入するところからスタート
a := []int{1, 2, 3}
b := a
// 実験1: 途中要素の書き換え
a[1] = 222
fmt.Println("a =", a) // → [1 222 3]
fmt.Println("b =", b) // → [1 222 3]
// aもbも書き換わってしまった!同じものを指しているのだろうか?

// 実験2: 末尾要素の削除
a = a[:len(a)-1]
fmt.Println("a =", a) // → [1 222]
fmt.Println("b =", b) // → [1 222 3]
// aだけ削除された!aとbは別なのだろうか?

// 実験3: 要素の追加 (その1)
a = append(a, 777)
fmt.Println("a =", a) // → [1 222 777]
fmt.Println("b =", b) // → [1 222 777]
// aとbは再び同じになってしまった!なぜだ??

// 実験4: 要素の追加 (その2)
a = append(a, 999)
fmt.Println("a =", a) // → [1 222 777 999]
fmt.Println("b =", b) // → [1 222 777]
// aだけ追加された!また裏切られた!!
631デフォルトの名無しさん
垢版 |
2023/08/18(金) 14:24:07.82ID:tXbZhR4S
>>629
>race conditionに関してはRustでもGoでも検出はできないから結局プログラマの技量になるわけだけど
そこでChatGPTですよ!
2023/08/18(金) 14:31:02.70ID:KUMKpnb5
>>629
Rustで発生するrace conditionてどういう前提?
普通は発生しないと思うけど
633デフォルトの名無しさん
垢版 |
2023/08/18(金) 15:25:39.40ID:JLPPn6Yw
>>626
5chなら知ったかできて気持ちいいよねw
良かったね
2023/08/18(金) 16:16:34.73ID:7ABRPFiH
常識的に考えれば気持ちいい方が合理的だよ
常識を疑えば、自分が損をしてでも何かを成し遂げるみたいな
合理性のない人間が増えてくる
2023/08/18(金) 16:27:02.47ID:v1tgQeKG
>>630
この話広げるのもなんなんだけどこの挙動はどう説明されるの?
2023/08/18(金) 16:30:59.19ID:ISPaueS8
>>632
race conditionの意味でググってこいよ
機械で検出できない高レベルの競合のことで、並行並列処理するときは常にこれと向き合う必要がある

Rustで検出できるのはdata raceでこれはGoでもランタイムだが検出できるわ
637デフォルトの名無しさん
垢版 |
2023/08/18(金) 16:37:05.86ID:tXbZhR4S
そこでChatGPTですよ!
2023/08/18(金) 16:55:50.42ID:cMwm5CSc
ChatGPTは、捨て垢で使えるようになってから来いよ。。

こう煩いとRust布教されるほうがマシw
2023/08/18(金) 17:08:33.27ID:tXbZhR4S
デッドロック検出できるのって画期的なことだと思うよ
2023/08/18(金) 17:38:45.64ID:KUMKpnb5
>>636
data race関係ないrace conditionを言語で検知してほしいケースなんてあるの?
2023/08/18(金) 17:39:23.48ID:S+r2DpMo
過ぎたるはなんとかってやつか
しつこ過ぎるとダメって事やな
2023/08/18(金) 17:47:16.72ID:ISPaueS8
>>640
Rust信者が何でもコンパイル時に検出できるとか絶対安全!だとか吹聴しているから訂正しているだけだよ

データ競合ならGoでもランタイム時に検出できるわ
2023/08/18(金) 17:47:46.99ID:JBAxLOor
>>640
むしろロックフリーデータ構造は
data raceあり
race conditionなし
の良く出来た高速アルゴリズム
2023/08/18(金) 18:03:31.02ID:ER8wa9uU
実際にGoで作ってるところは有名どころでも並行処理関連のバグ量産してるからRustとはリスクレベルが全く違うわな
2023/08/18(金) 18:43:48.21ID:31/+TCtY
>>636
>>642
データ競合が運用時に検出できても手遅れ
しかもデータ競合を検出するために実行オーバーヘッドを伴うため悪い選択肢となる
この件でも静的にコンパイル時点でデータ競合を検出できるRustが大きく有利だろう
2023/08/18(金) 18:47:47.02ID:7ABRPFiH
ハイリスクハイリターンのように、リスクとリターンの差に意味がある
リスクとリスクの比較や、リターンとリターンの比較は合理的ではないと思う
2023/08/18(金) 19:17:38.70ID:ISPaueS8
>>645
だけど気軽にできないよね
標準の機構で並行並列処理できないよね
async await使うだけでアホみたいに大量の依存をダウンロードしてきてコンパイル爆遅だよね

GoはCとかの手続き型言語を知っていたら、すぐマスターできるけど
Rustで並行並列処理までマスターするのに一体どれだけ時間がかかるんだろうねw
2023/08/18(金) 19:22:26.53ID:Kl/zN5NU
>>635
C++のvectorに相当するのがその>>630のGoのスライス
その挙動は明らかに常識外れで理不尽だがGoの仕様通りの挙動
Goはあちこち設計がおかしい

>>644
このためGoで本格的なプログラミングをすべきではない風潮になってきた
もともと貧相な仕様をシンプル簡素と積極的に評価してきたが無理があった
2023/08/18(金) 19:40:10.54ID:e3KbknBC
>>630
これ挙動わかってるのにわからんないみたいに書いてあるでしょ
配列とスライスのデータ構造はシンプルだからそれを調べれば自明にわかるだろ
他の言語でも

実験2でそんなこと考える奴はいないよね
2023/08/18(金) 19:44:32.36ID:JiE5FPq0
>>630,648
GoのスライスをC++のvector相当、ってのが早とちり過ぎる
Goのslice header, backing memoryの理解をすっ飛ばしただけじゃんw
2023/08/18(金) 19:50:41.88ID:yS5HHAxP
>>630
そんな妙な動きをするプログラミング言語はGoだけだな
2023/08/18(金) 20:23:05.08ID:/GsC+n7c
C++erに無視されてきてつまらなくなってきたので今度はGoをタゲるおじさん
2023/08/18(金) 20:29:00.75ID:VmqYer8d
>>630
使いやすいかどうかは謎だけどスライスだから当然の挙動かなと

実験1 スライスは配列そのものじゃなく参照と長さなのでそういうもの
実験2 aは新しく作った別のスライスを代入してるので当然
実験3 スライスaの末尾に対してappendしてるので当然
実験4 3と同じ スライスaとbの長さが違っているので当然


結論
スライスすら使えない奴は馬鹿
2023/08/18(金) 20:36:58.94ID:ISPaueS8
てかこれを理解できないのであればRustは習得できないんじゃないかね
Rustできるならわかるだろ
2023/08/18(金) 20:38:53.30ID:pJm/stU2
>>653
嫌なら配列使え、ということかね。

配列とスライスの表記に問題があるとは思うけど。[]と[1]で別物というのはやりすぎだわな。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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