「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
結局C++とRustってどっちが良いの? 4traits
https://mevius.5ch.net/test/read.cgi/tech/1686046386/
関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
探検
結局C++とRustってどっちが良いの? 5traits
■ このスレッドは過去ログ倉庫に格納されています
2023/06/30(金) 21:56:35.52ID:PDIJ4aZy
253デフォルトの名無しさん
2023/07/08(土) 03:59:42.63ID:Snxto99T254デフォルトの名無しさん
2023/07/08(土) 04:08:07.96ID:Snxto99T アメリカ生まれの「Security 詐欺」という経営方法が有り、
このスレの人はそれを使っている。
「C++は危ないんだから、それを使ってる人は馬鹿、愚か、無能」
と。
Securityの事を言われるとそれに従わざるを得なくなる人間心理を
悪用し、商売に結びつける詐欺商法。
マイクロソフトがOS Updateしない人を悪人扱いするのは、
UpdateのたびにOSを遅くして、新しいOSを買わせる手段。
このスレの人はそれを使っている。
「C++は危ないんだから、それを使ってる人は馬鹿、愚か、無能」
と。
Securityの事を言われるとそれに従わざるを得なくなる人間心理を
悪用し、商売に結びつける詐欺商法。
マイクロソフトがOS Updateしない人を悪人扱いするのは、
UpdateのたびにOSを遅くして、新しいOSを買わせる手段。
255デフォルトの名無しさん
2023/07/08(土) 04:12:16.47ID:VdwsFu6Q エンジニアは願望ではなく事実に基づいて判断する
これは難しいことではないが、向かない人もいる
これは難しいことではないが、向かない人もいる
256デフォルトの名無しさん
2023/07/08(土) 04:44:39.71ID:hz58RfSC >>229
制約していく点はどちらもほぼ同じ
C++てもRustでもメモリ安全や競合に対応するため自分で律して正しく制約してプログラミングする
自分で律して正しく制約できなかった時に違いが出る
C++はコンパイルが通って実行時にミスに気付くかあるいは気付かないまま完成したと思い込む
Rustはコンパイルエラーとなりすぐに必ず気付くことでこの点でも開発効率が高い
制約していく点はどちらもほぼ同じ
C++てもRustでもメモリ安全や競合に対応するため自分で律して正しく制約してプログラミングする
自分で律して正しく制約できなかった時に違いが出る
C++はコンパイルが通って実行時にミスに気付くかあるいは気付かないまま完成したと思い込む
Rustはコンパイルエラーとなりすぐに必ず気付くことでこの点でも開発効率が高い
257デフォルトの名無しさん
2023/07/08(土) 04:52:36.07ID:mpe+rXny まあ、使わないのは自由なんだよ
所有権。あれはいいものだ
はよC++にも来い
大げさだなと思うような超小コードには使わなきゃいいだけ
所有権。あれはいいものだ
はよC++にも来い
大げさだなと思うような超小コードには使わなきゃいいだけ
258デフォルトの名無しさん
2023/07/08(土) 05:07:23.17ID:Snxto99T >>256
それで開発効率が高くなるかどうかは人による。
それで開発効率が高くなるかどうかは人による。
259デフォルトの名無しさん
2023/07/08(土) 05:54:00.44ID:hz58RfSC >>258
C++は実行時デバッグとなるため開発効率が低くなる
さらにレア発生のため気付かぬまま実運用に入ってから発覚するとペナルティコストも大きい
早期にコンパイルエラーとなるRustはそれらのコストが不要となる
C++は実行時デバッグとなるため開発効率が低くなる
さらにレア発生のため気付かぬまま実運用に入ってから発覚するとペナルティコストも大きい
早期にコンパイルエラーとなるRustはそれらのコストが不要となる
260デフォルトの名無しさん
2023/07/08(土) 05:56:31.34ID:Snxto99T261デフォルトの名無しさん
2023/07/08(土) 06:26:49.21ID:m4s2ktM0262デフォルトの名無しさん
2023/07/08(土) 07:59:41.56ID:hz58RfSC >>260
C++とRustで同条件の話を持ち出しても反論になっていないよ
C++とRustで同条件の話を持ち出しても反論になっていないよ
263デフォルトの名無しさん
2023/07/08(土) 08:44:23.04ID:knIeRqDp シープラ使ってるハゲって自己評価高いな
264デフォルトの名無しさん
2023/07/08(土) 09:35:05.64ID:M6MMYA5O >>230
virtual 忘れるなよ
virtual 忘れるなよ
265デフォルトの名無しさん
2023/07/08(土) 09:39:11.12ID:M6MMYA5O266デフォルトの名無しさん
2023/07/08(土) 09:45:26.32ID:M6MMYA5O >>254
>アメリカ生まれの「Security 詐欺」という経営方法が有り、
>このスレの人はそれを使っている。
>「C++は危ないんだから、それを使ってる人は馬鹿、愚か、無能」
>と。
ほんそれ
>Securityの事を言われるとそれに従わざるを得なくなる人間心理を
>悪用し、商売に結びつける詐欺商法。
その通り
USO800認証取得で金も時間も掛かるとか能率を下げさせる攻撃がまかり通ってる
>マイクロソフトがOS Updateしない人を悪人扱いするのは、
>UpdateのたびにOSを遅くして、新しいOSを買わせる手段。
これは言い過ぎ(気持ちは判る)
>アメリカ生まれの「Security 詐欺」という経営方法が有り、
>このスレの人はそれを使っている。
>「C++は危ないんだから、それを使ってる人は馬鹿、愚か、無能」
>と。
ほんそれ
>Securityの事を言われるとそれに従わざるを得なくなる人間心理を
>悪用し、商売に結びつける詐欺商法。
その通り
USO800認証取得で金も時間も掛かるとか能率を下げさせる攻撃がまかり通ってる
>マイクロソフトがOS Updateしない人を悪人扱いするのは、
>UpdateのたびにOSを遅くして、新しいOSを買わせる手段。
これは言い過ぎ(気持ちは判る)
267デフォルトの名無しさん
2023/07/08(土) 09:48:22.81ID:ONcKyxOd >>265
どんなに優秀な人たちでもミスを必ずする
Google&Microsoft「セキュリティ脆弱性バグの70%はC/C++のメモリ管理ミスが原因。それがRustを採用した理由だ。」
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/
どんなに優秀な人たちでもミスを必ずする
Google&Microsoft「セキュリティ脆弱性バグの70%はC/C++のメモリ管理ミスが原因。それがRustを採用した理由だ。」
https://xtech.nikkei.com/atcl/nxt/column/18/00692/042700054/
268デフォルトの名無しさん
2023/07/08(土) 09:48:50.55ID:M6MMYA5O269デフォルトの名無しさん
2023/07/08(土) 09:50:07.66ID:M6MMYA5O >>261
お前モナ
お前モナ
270デフォルトの名無しさん
2023/07/08(土) 09:51:51.79ID:M6MMYA5O271デフォルトの名無しさん
2023/07/08(土) 09:56:21.11ID:z6h9kmb4 >>270
と、これが馬鹿の思考です
と、これが馬鹿の思考です
272デフォルトの名無しさん
2023/07/08(土) 09:57:58.69ID:ONcKyxOd >>270
C++の欠陥のせいでセキュリティ脆弱性が多発している現実の記事
C++はメモリ管理ミスを検出すらできないためコンパイルエラーにすることができない
致命的な欠陥のあるC++を今後は捨てていこうという話
C++の欠陥のせいでセキュリティ脆弱性が多発している現実の記事
C++はメモリ管理ミスを検出すらできないためコンパイルエラーにすることができない
致命的な欠陥のあるC++を今後は捨てていこうという話
273デフォルトの名無しさん
2023/07/08(土) 10:49:35.84ID:PpTTWe5V Rustの次の言語に期待
274デフォルトの名無しさん
2023/07/08(土) 11:04:17.25ID:fNvohE+k メモリ確保と開放位置をきっちり考えて書けないような奴がそれをプログラム言語のせいにしてるだけだな
ここからここまでがどうなってとか理論的に構造を考えれない奴に限って言語が悪いと責任転嫁をする
そういう奴がプログラム書くな
メモリ関連だけじゃなくバグだらけのプログラムしかできない
ここからここまでがどうなってとか理論的に構造を考えれない奴に限って言語が悪いと責任転嫁をする
そういう奴がプログラム書くな
メモリ関連だけじゃなくバグだらけのプログラムしかできない
275デフォルトの名無しさん
2023/07/08(土) 11:10:07.92ID:VdwsFu6Q 間違わないやつは間違わない
は論理的ではない
エンジニアの考え方ではない
は論理的ではない
エンジニアの考え方ではない
276デフォルトの名無しさん
2023/07/08(土) 11:12:56.26ID:tRB3lUB8 まあ、>>230のコードが即メモリバグを起こすかというと、そうではない
CSomeは自分しか使わない、自分はその使い方を間違えない、という条件ならたしかにおかしなことは起きない
ID:Snxto99TはこのCSomeをどう「誤用」すればメモリバグが起きるか説明できる?
できないならやっぱりザコだよ
CSomeは自分しか使わない、自分はその使い方を間違えない、という条件ならたしかにおかしなことは起きない
ID:Snxto99TはこのCSomeをどう「誤用」すればメモリバグが起きるか説明できる?
できないならやっぱりザコだよ
277デフォルトの名無しさん
2023/07/08(土) 11:14:38.03ID:7APnxgwh 間違う間違わない以前の問題として理論的に構造を考えて書けないでそれ言語せいにする奴
こうい奴はプログラムを書くな
こうい奴はプログラムを書くな
278デフォルトの名無しさん
2023/07/08(土) 11:23:49.72ID:gK2vRDVX 話は簡単で
優秀なプログラマーはC++でもRustでも難なく使いこなすことができる
一方で事実として
C++はうっかりメモリ管理やメモリ競合でミスをしてもコンパイラが通してしまう欠陥を抱えた古い言語
Rustはその場合でもコンパイラがエラーにしてくれる点やC++にない様々な高機能を持つ進んだ言語
結論として
優秀な人たちはどちらも使いこなせるので高機能で便利なRustを使っている
高機能な言語を使いこなせない人たちがC++のみに拘る
優秀なプログラマーはC++でもRustでも難なく使いこなすことができる
一方で事実として
C++はうっかりメモリ管理やメモリ競合でミスをしてもコンパイラが通してしまう欠陥を抱えた古い言語
Rustはその場合でもコンパイラがエラーにしてくれる点やC++にない様々な高機能を持つ進んだ言語
結論として
優秀な人たちはどちらも使いこなせるので高機能で便利なRustを使っている
高機能な言語を使いこなせない人たちがC++のみに拘る
279デフォルトの名無しさん
2023/07/08(土) 11:35:04.80ID:hU6KuhT0 >>232
>馬鹿だからミスや論理間違いを犯すのでnewやdeleteは使うな、
>となる。
make_uniqueとmake_sharedが規格に入ったから
newとdeleteを直接呼ぶ必要がなくなったから
>馬鹿だからミスや論理間違いを犯すのでnewやdeleteは使うな、
>となる。
make_uniqueとmake_sharedが規格に入ったから
newとdeleteを直接呼ぶ必要がなくなったから
280デフォルトの名無しさん
2023/07/08(土) 11:35:37.79ID:VdwsFu6Q 優秀なエンジニアは間違わないエンジニアではなく、間違わない方法を考え、選択するエンジニア
281デフォルトの名無しさん
2023/07/08(土) 11:48:14.94ID:/jSq4Gja fn clever_choice() {unsafe {...}}
282デフォルトの名無しさん
2023/07/08(土) 12:05:38.94ID:EB0iRg5v 優秀な人しか使えないんでは何時までたっても普及しないのでわ
283デフォルトの名無しさん
2023/07/08(土) 12:31:12.90ID:0dKdZ1v3 現在の選択肢ベースで考えれば十分普及してるでしょ
米しかなかった時代の米食の普及率でも目指してんの?
米しかなかった時代の米食の普及率でも目指してんの?
284デフォルトの名無しさん
2023/07/08(土) 12:33:13.38ID:777Hyqek オレはアホなのでアホでも使える方を選びます
285デフォルトの名無しさん
2023/07/08(土) 13:41:39.02ID:0jPiV6IB 開放と解放を間違えるような人が「俺は間違えない!」とか言っても無自覚バカ宣言にしか聞こえないわな
286デフォルトの名無しさん
2023/07/08(土) 13:56:46.11ID:p+sO9/0D ある意味あってるな
有名私立は服装も自由でピンク頭金髪可でピアスも開け放題
一方の馬鹿学校は制服で校則も厳しい
有名私立は服装も自由でピンク頭金髪可でピアスも開け放題
一方の馬鹿学校は制服で校則も厳しい
287デフォルトの名無しさん
2023/07/08(土) 14:11:41.74ID:Gy8EoznK >>266
>>マイクロソフトがOS Updateしない人を悪人扱いするのは、
>>UpdateのたびにOSを遅くして、新しいOSを買わせる手段。
>これは言い過ぎ(気持ちは判る)
そんなことない。
「計画的陳腐化」や
「薬物売人の経営論()drug buyer business economics」
などを使っていると言われている。
>>マイクロソフトがOS Updateしない人を悪人扱いするのは、
>>UpdateのたびにOSを遅くして、新しいOSを買わせる手段。
>これは言い過ぎ(気持ちは判る)
そんなことない。
「計画的陳腐化」や
「薬物売人の経営論()drug buyer business economics」
などを使っていると言われている。
288デフォルトの名無しさん
2023/07/08(土) 14:17:48.79ID:Gy8EoznK >>279
古いコンパイラは対応して無い。
新しいコンパイラをまともな速度で使おうとすると、
最新パソコンに買い替えが必要となり、OSも全入れ替えが必要
となり、今まで便利に使えていたアプリの大部分が動かなくなる。
そしてアプリは廃版になっていて新しいバージョンも出てない
から買い換えることも出来ない。
Win10にすると、WinXP時代のアプリが動かなくなったりする。
もっと古いものも持ってるし。
だから新しいハードウェアは買わない。
古いコンパイラは対応して無い。
新しいコンパイラをまともな速度で使おうとすると、
最新パソコンに買い替えが必要となり、OSも全入れ替えが必要
となり、今まで便利に使えていたアプリの大部分が動かなくなる。
そしてアプリは廃版になっていて新しいバージョンも出てない
から買い換えることも出来ない。
Win10にすると、WinXP時代のアプリが動かなくなったりする。
もっと古いものも持ってるし。
だから新しいハードウェアは買わない。
289デフォルトの名無しさん
2023/07/08(土) 14:21:53.18ID:M4Y1POjO セキュリティアップデートなんて商売に関係なく
フリーソフトウェアでもあるだろろうがw
リスクがある状況でUpdateしない奴は悪人だよ
フリーソフトウェアでもあるだろろうがw
リスクがある状況でUpdateしない奴は悪人だよ
290デフォルトの名無しさん
2023/07/08(土) 14:25:44.35ID:Gy8EoznK291デフォルトの名無しさん
2023/07/08(土) 14:31:35.48ID:Gy8EoznK 言葉だけではどっちが本当の事を言っているのか分からない。
実際のRustのコードを見れば、汚さが分かるし、
CやC++と全く似て無いことも分かる。
汚いと言うのは論理では表しにくいので、言葉では表現しにくいので
あたかも言葉だけではRustには欠点が無いかのように見えてしまう。
実際のRustのコードを見れば、汚さが分かるし、
CやC++と全く似て無いことも分かる。
汚いと言うのは論理では表しにくいので、言葉では表現しにくいので
あたかも言葉だけではRustには欠点が無いかのように見えてしまう。
292デフォルトの名無しさん
2023/07/08(土) 14:32:02.14ID:M4Y1POjO293デフォルトの名無しさん
2023/07/08(土) 14:33:34.46ID:M4Y1POjO294デフォルトの名無しさん
2023/07/08(土) 14:34:51.65ID:Gy8EoznK Rustの本を見てみたら、冒頭のOS環境として
Linux
MacOS
Windows 10
の順序で書いてあった。
まさに、オープンソースカルト左翼であることを目の当たりにした。
Linux
MacOS
Windows 10
の順序で書いてあった。
まさに、オープンソースカルト左翼であることを目の当たりにした。
295デフォルトの名無しさん
2023/07/08(土) 14:46:14.76ID:M4Y1POjO296デフォルトの名無しさん
2023/07/08(土) 14:49:30.87ID:Gy8EoznK297デフォルトの名無しさん
2023/07/08(土) 14:56:05.98ID:p+sO9/0D ある意味この人は保護対象じゃないのかと思った
298デフォルトの名無しさん
2023/07/08(土) 15:08:40.55ID:suNzn+84299デフォルトの名無しさん
2023/07/08(土) 15:14:57.62ID:Gy8EoznK300デフォルトの名無しさん
2023/07/08(土) 15:19:13.13ID:suNzn+84301デフォルトの名無しさん
2023/07/08(土) 15:19:27.20ID:/jSq4Gja 俺らと話しても薬物治療の代わりにはならないよ
302デフォルトの名無しさん
2023/07/08(土) 15:22:48.26ID:Gy8EoznK 悔しいのお。左翼どもよ。いくら頑張っても
Rustは流行らないと言う事実は変わらないよな。
Rustは流行らないと言う事実は変わらないよな。
303デフォルトの名無しさん
2023/07/08(土) 15:32:10.56ID:suNzn+84 >>302
お前はC++20の開発環境を用意しろ
お前はC++20の開発環境を用意しろ
304デフォルトの名無しさん
2023/07/08(土) 15:37:47.72ID:409zOGbF 日本はIT技術者が少ないんだから、これからは世の中のOSSではない外国製のソフトからは多めに税金を取るくらいの姿勢でよい。
OSSはIT弱小国家にとっては唯一の活路でしょ。今の中央集権の先駆者総取りのIT業界は残念ながら日本には不利だ。
OSSはIT弱小国家にとっては唯一の活路でしょ。今の中央集権の先駆者総取りのIT業界は残念ながら日本には不利だ。
305デフォルトの名無しさん
2023/07/08(土) 16:06:29.07ID:409zOGbF Ndarray構造体を全てArcとMutexで書きかえたけどそんなに実行速度が落ちなかった。
306デフォルトの名無しさん
2023/07/08(土) 16:08:46.88ID:b8BxfChJ >>302
大学でちゃんとソフトウェア工学なりプログラミング言語なり勉強した経験はあるん?
大学でちゃんとソフトウェア工学なりプログラミング言語なり勉強した経験はあるん?
307デフォルトの名無しさん
2023/07/08(土) 16:14:43.78ID:C0afRZOI >>305
スレッド間で試した?
スレッド間で試した?
308デフォルトの名無しさん
2023/07/08(土) 16:18:14.17ID:auRxfwEH >>306
俺の話は置いとけ。
Rustを作り始めた筆頭プログラマは、大学の専攻はバイオで
真菌を研究しており、真菌の生命力に見せられてRustの名は
真菌の一種から採ったんだそうだぞ。
そしてそのような工学とは縁もゆかりもない人が作った
言語を有りがたそうに崇拝しているのがRust信者なんだぞ。
俺の話は置いとけ。
Rustを作り始めた筆頭プログラマは、大学の専攻はバイオで
真菌を研究しており、真菌の生命力に見せられてRustの名は
真菌の一種から採ったんだそうだぞ。
そしてそのような工学とは縁もゆかりもない人が作った
言語を有りがたそうに崇拝しているのがRust信者なんだぞ。
309デフォルトの名無しさん
2023/07/08(土) 16:19:44.04ID:auRxfwEH Rustの速度の見積もりが間違っているのが前から謎だったが、
数学とは縁が無い人が作ったからだったんだな。
数学とは縁が無い人が作ったからだったんだな。
310デフォルトの名無しさん
2023/07/08(土) 16:23:14.66ID:auRxfwEH >>306
俺はそんなpopularな学科には行って無い。
俺はそんなpopularな学科には行って無い。
311デフォルトの名無しさん
2023/07/08(土) 16:25:41.23ID:409zOGbF312デフォルトの名無しさん
2023/07/08(土) 16:34:49.31ID:auRxfwEH313デフォルトの名無しさん
2023/07/08(土) 16:41:49.73ID:aF1ddcQd 水源とは何か良く分からんが、OSSでアメリカの大手ITをぶっ潰せるような仕組みを作れば日本には大きな得がある。出遅れた日本にとれる選択肢は少ない。
ビットコインのような非中央集権型のシステムを日本はITの全分野で押し進めていくべき。
ビットコインのような非中央集権型のシステムを日本はITの全分野で押し進めていくべき。
314デフォルトの名無しさん
2023/07/08(土) 16:43:47.67ID:gK2vRDVX 優秀でないから様々なオープンソースソフトウェアを使いこなせないのだろう
Rustのアンチ活動をしている人のレベルの低さを知った
Rustのアンチ活動をしている人のレベルの低さを知った
315デフォルトの名無しさん
2023/07/08(土) 16:44:42.96ID:u2zK5bfH >>310
大学では何やってたん?
大学では何やってたん?
316デフォルトの名無しさん
2023/07/08(土) 16:47:18.72ID:svPDr0rA 情報系産業は資本代替性が高いとは言うが殆どそれは資本力勝負となりアメリカには勝てない
なので別の方法で勝負しないといけない
流石にここまでのビッグテック支配は居心地が悪い
なので別の方法で勝負しないといけない
流石にここまでのビッグテック支配は居心地が悪い
317デフォルトの名無しさん
2023/07/08(土) 16:49:51.85ID:auRxfwEH >>316
技術と言うより金の問題になっている気がするな。
金で優秀な人や企業を吸収したり、あるいは、検索エンジン用や
AI用のスパコンみたいなものを持っていたり。
いまのITは大量のプログラマやデータセンターが無いと成り立たない様になってきている。
技術と言うより金の問題になっている気がするな。
金で優秀な人や企業を吸収したり、あるいは、検索エンジン用や
AI用のスパコンみたいなものを持っていたり。
いまのITは大量のプログラマやデータセンターが無いと成り立たない様になってきている。
318デフォルトの名無しさん
2023/07/08(土) 16:56:40.99ID:aF1ddcQd >>317
パブリッククラウドを国家が無償で日本国民に開放するべきだと思う。日本はアメリカの様に大規模な資本家がいないので政府主導で計算資源を国民に開放してくべきだと思う。
パブリッククラウドを国家が無償で日本国民に開放するべきだと思う。日本はアメリカの様に大規模な資本家がいないので政府主導で計算資源を国民に開放してくべきだと思う。
319デフォルトの名無しさん
2023/07/08(土) 16:57:28.70ID:svPDr0rA AIなんかも結局はぶん回し勝負ってことで電気エネルギーを如何に大量に安価に調達出来るかが勝負となってきている
なのでマイクロソフトやGoogleは核融合発電の研究開発に躍起になっている
資本さえあればなんとでもなる世界になってしまった
なのでマイクロソフトやGoogleは核融合発電の研究開発に躍起になっている
資本さえあればなんとでもなる世界になってしまった
320デフォルトの名無しさん
2023/07/08(土) 16:59:21.48ID:auRxfwEH 左翼がオープンソース化を進めた結果、ソフトウェアを個人で作って
売れる時代が終わってしをいました。
売れる時代が終わってしをいました。
321デフォルトの名無しさん
2023/07/08(土) 17:01:20.34ID:auRxfwEH322デフォルトの名無しさん
2023/07/08(土) 17:01:33.20ID:DfgvMNWU ID:auRxfwEHは自分で優秀と言うくらいだから
少なくともドクター取ってるんやろね
あれだけ自分で言っててまさか学部生ってことはあるまい
でも
発言からはアカデミックな香りを感じさせないのよね
数学や工学のバックグラウンドが見えないと言うか
文系かまったく畑違いなとこから来てるのかな?
少なくともドクター取ってるんやろね
あれだけ自分で言っててまさか学部生ってことはあるまい
でも
発言からはアカデミックな香りを感じさせないのよね
数学や工学のバックグラウンドが見えないと言うか
文系かまったく畑違いなとこから来てるのかな?
323デフォルトの名無しさん
2023/07/08(土) 17:10:00.07ID:p+sO9/0D NECや銀行とかでメインフレームを触ってた70代のおじいちゃんでしょ
324デフォルトの名無しさん
2023/07/08(土) 17:18:52.84ID:DfgvMNWU なんか山に籠もって一人でPC触ってるアマチュアって感じなんだよ正直
仕事からも学問からも遠いっていうか
自分たった一人でおうちで夢見ながら喋ってるような
批判や競争や責任からすごく遠いところに引きこもってるような
仕事からも学問からも遠いっていうか
自分たった一人でおうちで夢見ながら喋ってるような
批判や競争や責任からすごく遠いところに引きこもってるような
325デフォルトの名無しさん
2023/07/08(土) 17:58:46.48ID:M4Y1POjO326デフォルトの名無しさん
2023/07/08(土) 18:05:27.13ID:C0afRZOI 急にどうした?
発狂してからに
支離滅裂で会話が成立してないぞ
まずは強いお薬を飲め
発狂してからに
支離滅裂で会話が成立してないぞ
まずは強いお薬を飲め
327デフォルトの名無しさん
2023/07/08(土) 18:06:54.48ID:C0afRZOI >>311
スレッド間じゃないなら最適化されちゃうよ
スレッド間じゃないなら最適化されちゃうよ
328デフォルトの名無しさん
2023/07/08(土) 18:18:03.03ID:SdplvoMh Rustのライフタイムの型注釈についてちょっと真面目に資料読んでみたいんだけど「こういう時困る、だからこうしよう」的な文章しか転がってない
ちゃんと論文レベルで解説してる文章とかないですかね?
ちゃんと論文レベルで解説してる文章とかないですかね?
329デフォルトの名無しさん
2023/07/08(土) 18:32:09.99ID:p+sO9/0D ありませんね
次の患者さんどうぞー
次の患者さんどうぞー
330デフォルトの名無しさん
2023/07/08(土) 18:41:14.61ID:Yg5OnBqY >>328
現状の公式ドキュメントとしてはたぶんNLLのRFCが一番詳しいと思う
現状の公式ドキュメントとしてはたぶんNLLのRFCが一番詳しいと思う
331デフォルトの名無しさん
2023/07/08(土) 18:43:49.70ID:gK2vRDVX >>327
確認したことないからわからないけどSendしていないからといってそんな最適化するかな?
まずまったく異なる型のArcをRcへ変えてしまう無茶はしないはず
ではArcの中身のAtomicUsizeをusizeにしてしまう最適化をするだろうか
その両者の速度差はndarrayの計算覧ハと比べて微々bスる誤差にすぎbネい話だと思う
Mutexについても同様で最適化するとしたら丸ごと無くすことになるがそれは考えにくい
一方でスレッド間テストをすれば競合時のlockのwaitが起きるなどで少し遅くなる可能性はあるが
それはどのようにコードを書いても必須で避けられない正しい行為
確認したことないからわからないけどSendしていないからといってそんな最適化するかな?
まずまったく異なる型のArcをRcへ変えてしまう無茶はしないはず
ではArcの中身のAtomicUsizeをusizeにしてしまう最適化をするだろうか
その両者の速度差はndarrayの計算覧ハと比べて微々bスる誤差にすぎbネい話だと思う
Mutexについても同様で最適化するとしたら丸ごと無くすことになるがそれは考えにくい
一方でスレッド間テストをすれば競合時のlockのwaitが起きるなどで少し遅くなる可能性はあるが
それはどのようにコードを書いても必須で避けられない正しい行為
332デフォルトの名無しさん
2023/07/08(土) 18:51:22.44ID:SdplvoMh >>330
そうなんですか?
探してみます
ともかく“ライフタイム注釈”って“コンパイラが決定(推論)できないライフタイムを注釈する必要がある”というものらしいけど、どんな時は推論できてどんな時は推論できないのかさっぱり分からない
普通のHindley–Milner (HM) type systemとかだと論文レベルで解説文書がネットに転がっててわかるんですけど、ライフタイム注釈についてはどんな範囲では推論が可能なのかとか資料がひとつも見つからない
そうなんですか?
探してみます
ともかく“ライフタイム注釈”って“コンパイラが決定(推論)できないライフタイムを注釈する必要がある”というものらしいけど、どんな時は推論できてどんな時は推論できないのかさっぱり分からない
普通のHindley–Milner (HM) type systemとかだと論文レベルで解説文書がネットに転がっててわかるんですけど、ライフタイム注釈についてはどんな範囲では推論が可能なのかとか資料がひとつも見つからない
333デフォルトの名無しさん
2023/07/08(土) 18:52:33.75ID:auRxfwEH 日本の工学系は教授ですらIT技術の良し悪しを語る資格は無いのに。
334デフォルトの名無しさん
2023/07/08(土) 19:03:14.40ID:x767qEv3 このスレは各言語の特徴的なキーワードだけを参考にしている。
どっちが優れているとかどっちがゴミだとかという話は全く参考にならない。
どっちが優れているとかどっちがゴミだとかという話は全く参考にならない。
335デフォルトの名無しさん
2023/07/08(土) 19:11:01.12ID:p+sO9/0D >>332
論文レベルじゃないと理解できないのは困りものですね
論文レベルじゃないと理解できないのは困りものですね
336デフォルトの名無しさん
2023/07/08(土) 19:11:09.06ID:Yg5OnBqY >>332
lifetime elisionは別に推論じゃないぞ
borrowckとしてはライフタイムは必ず事前に注釈されなくてはならない
一部のよくあるパターンで省略を許可する、人間のためのルールがelision rules
lifetime elisionは別に推論じゃないぞ
borrowckとしてはライフタイムは必ず事前に注釈されなくてはならない
一部のよくあるパターンで省略を許可する、人間のためのルールがelision rules
337デフォルトの名無しさん
2023/07/08(土) 19:11:28.76ID:VdwsFu6Q Rustについて安全であるということだけを切り取って議論しているのは、現場も現実も知らない阿呆
338デフォルトの名無しさん
2023/07/08(土) 19:16:23.21ID:gK2vRDVX >>332
考え方が逆
ライフタイム注釈はコンパイラにとって常に必要
だからライフタイム注釈するのが基本しかしそれを省略することができる状況が多々あって
その省略された時にコンパイラが省略を補う規則が定められている
https://doc.rust-lang.org/book/ch10-03-lifetime-syntax.html#lifetime-elision
lifetime elision rules
The first rule is that
The second rule is that
The third rule is that
考え方が逆
ライフタイム注釈はコンパイラにとって常に必要
だからライフタイム注釈するのが基本しかしそれを省略することができる状況が多々あって
その省略された時にコンパイラが省略を補う規則が定められている
https://doc.rust-lang.org/book/ch10-03-lifetime-syntax.html#lifetime-elision
lifetime elision rules
The first rule is that
The second rule is that
The third rule is that
339デフォルトの名無しさん
2023/07/08(土) 19:18:56.60ID:auRxfwEH >>337
それ。
それ。
340デフォルトの名無しさん
2023/07/08(土) 19:19:42.70ID:7vcICBIU341デフォルトの名無しさん
2023/07/08(土) 19:32:01.59ID:p+sO9/0D ここで説明しても無駄だよ
彼は論文レベルじゃないと理解できないんだから
彼は論文レベルじゃないと理解できないんだから
342デフォルトの名無しさん
2023/07/08(土) 19:44:44.75ID:SdplvoMh みなさまありがとうございます
ちょっと私まだ疑問が解決してないです
私の認識書いてみます
私の認識だとrustの“ライフタイム”はコンパイラが確保したメモリを解放するタイミングを決定するために必須のものだと考えています
何故なら効率のためにrustは複数の参照が同じオブジェクトを参照する事を許す“参照の貸与”のシステムを導入してるからです
なので所有権を持ちその参照が切れる前に全ての“貸与”していた全ての参照の“ライフタイム”が切れていなければなりません
コンパイラは貸し出された参照のライフタイムが所有権を持つ参照のライフタイムより長いものが有ればそれを検出し、貸借規定違反としてコンパイル時にそれを検出する事でダングリング参照の発生を防ぐシステムだと認識してます
その“参照のライフタイム”はユーザーが宣言するものではなくて本来ならコンパイラが自動的に拾うべきものだと思ってます
何故ならばrustの参照のライフタイムが「プログラマが好き勝手に自由に設定していい」ものなら結局それは“コンパイラがダングリング参照の発生を未然に検出する”システムになど到底ならないからです
少なくともユーザーが“この関数の返り値のライフタイムは引数のこのライフタイム以前に切れる”と宣言してもその宣言の妥当性をコンパイラが検証しないなら意味がありません、もちろん検証すると思います、具体的には返り値として用意された値のライフタイムがその値を作成した右辺値に現れる参照のライフタイムより長ければその時点で不当なライフタイムの宣言を検出できてそれでコンパイラは不適切なライフタイム注釈を検出できると思います
分からないのはそれなら結局コンパイラはライフタイムをやろうと思えば自分で推論できるのではないかという事です、実際rustの初期のコンパイラでは必須だったライフタイム注釈はいくつかの推論可能なケースでは省略可能になっているようです
じゃあいつダメなのか?いつどんな時なら推論がうまくいかないのかの基本的な理論がよく分からないんです
ちょっと私まだ疑問が解決してないです
私の認識書いてみます
私の認識だとrustの“ライフタイム”はコンパイラが確保したメモリを解放するタイミングを決定するために必須のものだと考えています
何故なら効率のためにrustは複数の参照が同じオブジェクトを参照する事を許す“参照の貸与”のシステムを導入してるからです
なので所有権を持ちその参照が切れる前に全ての“貸与”していた全ての参照の“ライフタイム”が切れていなければなりません
コンパイラは貸し出された参照のライフタイムが所有権を持つ参照のライフタイムより長いものが有ればそれを検出し、貸借規定違反としてコンパイル時にそれを検出する事でダングリング参照の発生を防ぐシステムだと認識してます
その“参照のライフタイム”はユーザーが宣言するものではなくて本来ならコンパイラが自動的に拾うべきものだと思ってます
何故ならばrustの参照のライフタイムが「プログラマが好き勝手に自由に設定していい」ものなら結局それは“コンパイラがダングリング参照の発生を未然に検出する”システムになど到底ならないからです
少なくともユーザーが“この関数の返り値のライフタイムは引数のこのライフタイム以前に切れる”と宣言してもその宣言の妥当性をコンパイラが検証しないなら意味がありません、もちろん検証すると思います、具体的には返り値として用意された値のライフタイムがその値を作成した右辺値に現れる参照のライフタイムより長ければその時点で不当なライフタイムの宣言を検出できてそれでコンパイラは不適切なライフタイム注釈を検出できると思います
分からないのはそれなら結局コンパイラはライフタイムをやろうと思えば自分で推論できるのではないかという事です、実際rustの初期のコンパイラでは必須だったライフタイム注釈はいくつかの推論可能なケースでは省略可能になっているようです
じゃあいつダメなのか?いつどんな時なら推論がうまくいかないのかの基本的な理論がよく分からないんです
343デフォルトの名無しさん
2023/07/08(土) 19:52:23.40ID:7vcICBIU344デフォルトの名無しさん
2023/07/08(土) 19:53:38.62ID:p+sO9/0D 長文しか掛けんのかこいつは
全部関数など使わないで書けばライフタイム自体は一目瞭然
だが不注意な人はブロックから抜けて死んでる物を参照して使おうとする
それをコンパイラが阻止する
ライフタイムは基本的はこれだけ
これが前段階
全部関数など使わないで書けばライフタイム自体は一目瞭然
だが不注意な人はブロックから抜けて死んでる物を参照して使おうとする
それをコンパイラが阻止する
ライフタイムは基本的はこれだけ
これが前段階
345デフォルトの名無しさん
2023/07/08(土) 19:59:31.52ID:7vcICBIU 多分GC言語しか使ったことがないのだろう
参照がある限り値が生き続けるというぬるま湯に浸かってるから理解できない
参照がある限り値が生き続けるというぬるま湯に浸かってるから理解できない
346デフォルトの名無しさん
2023/07/08(土) 19:59:33.99ID:mgDMV1th すいません、私が知りたい事説明するのにこれ以上短くできませんでした
347デフォルトの名無しさん
2023/07/08(土) 20:00:38.48ID:p+sO9/0D それが途中で関数が使われてると戻り値のライフタイムがわからなくなる
入力した引数と戻り値のライフタイムが関連付けられるならその様にしなければならない
仮に a とbが与えられて戻り値がどちらかになるのであれば
「寿命が短い方を共通の寿命」と考えることが必要になる
そうしないと死んでる奴を参照しちゃうから
それを元にライフタイムの範囲を判定してはみ出てたらコンパイルエラーにする
入力した引数と戻り値のライフタイムが関連付けられるならその様にしなければならない
仮に a とbが与えられて戻り値がどちらかになるのであれば
「寿命が短い方を共通の寿命」と考えることが必要になる
そうしないと死んでる奴を参照しちゃうから
それを元にライフタイムの範囲を判定してはみ出てたらコンパイルエラーにする
348デフォルトの名無しさん
2023/07/08(土) 20:00:57.02ID:7vcICBIU 発想を逆転させな?
「変数が生きている間しか参照は存在できない」
「変数が生きている間しか参照は存在できない」
349デフォルトの名無しさん
2023/07/08(土) 20:08:08.08ID:gK2vRDVX350デフォルトの名無しさん
2023/07/08(土) 20:08:44.10ID:7vcICBIU 参照というのは実体がないと生きられないの
関数の引数や戻り値が参照だけだと実体がどれだけ生きてるかわからんでしょ?
関数の引数や戻り値が参照だけだと実体がどれだけ生きてるかわからんでしょ?
351デフォルトの名無しさん
2023/07/08(土) 20:13:07.67ID:p+sO9/0D ライフタイム自体はコードが書かれた時点で決まってる
それがおかしくないか判定するときのヒントがライフタイム注釈
それがおかしくないか判定するときのヒントがライフタイム注釈
352デフォルトの名無しさん
2023/07/08(土) 20:22:47.98ID:mgDMV1th >>349
はい、rustは型推論をしないのは知ってます
しかしそれが何故なのか分からないんです
例えばHaskellなら一才の型注釈は省略が可能です
全ての型は全てコンパイラによって推論され、型注釈を入れてコンパイルできるプログラムは型注釈を全消ししても(ただし効率のためにmtoplevel monomorphism restrictionというシステムが邪魔してくれますけどそれ外せば)必ずコンパイラが正しく推論してコンパイルしてくれます、その推論メカニズムの理論的根拠は論文として寄稿されネットにいくらでも転がってます
知りたいのはRustのライフタイム注釈は推論して省略可能だけどいつもいつも省略可能なわけではないのは、
・そもそもいつでも推論可能なわけではないので基本宣言させる、コンパイラが推論可能な限られたケースでは可能としている
・いつでも推論可能(私にはそう思える)のだけど効率を考えてそうしない(Haskell の toplevel monomorphic restrictionと同じように)
のどっちなんだろうと
そしてその話をtegulationに求めないのは必ずしもregulationは最新の研究を反映しているわけではないからです
つまり“現在のregulatinでは推論しない”という現状が必ずしも“そもそも推論などできない”を必ずしも意味しないからです
私ちょっとプログラミング言語論齧ってた事がありましてその辺の理論的背景どうなってるのかちょっと知りたいもので
はい、rustは型推論をしないのは知ってます
しかしそれが何故なのか分からないんです
例えばHaskellなら一才の型注釈は省略が可能です
全ての型は全てコンパイラによって推論され、型注釈を入れてコンパイルできるプログラムは型注釈を全消ししても(ただし効率のためにmtoplevel monomorphism restrictionというシステムが邪魔してくれますけどそれ外せば)必ずコンパイラが正しく推論してコンパイルしてくれます、その推論メカニズムの理論的根拠は論文として寄稿されネットにいくらでも転がってます
知りたいのはRustのライフタイム注釈は推論して省略可能だけどいつもいつも省略可能なわけではないのは、
・そもそもいつでも推論可能なわけではないので基本宣言させる、コンパイラが推論可能な限られたケースでは可能としている
・いつでも推論可能(私にはそう思える)のだけど効率を考えてそうしない(Haskell の toplevel monomorphic restrictionと同じように)
のどっちなんだろうと
そしてその話をtegulationに求めないのは必ずしもregulationは最新の研究を反映しているわけではないからです
つまり“現在のregulatinでは推論しない”という現状が必ずしも“そもそも推論などできない”を必ずしも意味しないからです
私ちょっとプログラミング言語論齧ってた事がありましてその辺の理論的背景どうなってるのかちょっと知りたいもので
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】衆院議員定数削減法案、自民・維新が今国会成立見送りで調整 [Hitzeschleier★]
- ミス・ユニバース フィンランド代表の「つり目」写真が波紋… 本人釈明も批判やまず 協会謝罪「徹底的に検証」へ★2 [冬月記者★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 ★2 [蚤の市★]
- 東京都「都民の税金1.5兆円が国に奪われている」「全国に分配されている」に地方民ブチギレ ★2 [Hitzeschleier★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★5 [Hitzeschleier★]
- 元草津町議会議員 新井祥子さんの裁判判決を受けて | 全国フェミニスト議員連盟 [少考さん★]
- 【悲報】ネトウヨの次のターゲット「渡邊渚」に決まるwwwwwwwwwwwwwwwwwwwww [455031798]
- 【乞食速報】epicで『ホグワーツレガシー』無料キター♪───O(´ん`)O────♪ [931948549]
- 千歳雪やばすぎ
- 竹中平蔵「日米が長年守り続けてき台湾有事に関する曖昧戦略の知恵を一瞬にして無にさせた岡田の責任は非常に重い」 [271912485]
- 米兵「ジーザス!!!!なぜ日本兵は銃弾を切り払いながら突っ込んでくるんだ!!!」
- 【国際】トランプ米政権、日中対立から距離 [354616885]
