「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
前スレ: 結局C++とRustってどっちが良いの? 3traits
https://mevius.5ch.net/test/read.cgi/tech/1683154196/
関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
探検
結局C++とRustってどっちが良いの? 4traits
■ このスレッドは過去ログ倉庫に格納されています
2023/06/06(火) 19:13:06.15ID:ZuKzBsFa
458デフォルトの名無しさん
2023/06/20(火) 10:26:54.05ID:vGfe0Eju そんな調子では書ける人が一向に増えないので普及とは程遠い状態だろう
知る人ぞ知るマニアの言語の一つになるような気がする
知る人ぞ知るマニアの言語の一つになるような気がする
459デフォルトの名無しさん
2023/06/20(火) 10:59:29.19ID:2T4Y6uqL >>456
Rustユーザーの裾野を広げるにはゲーム開発用のクレートを充実させる方が有効な気がする。そうすればゲーム開発を始めるプログラマーがC,C++,C#ではなく、Rustを最初の言語に選ぶ確率が上がるし。
Rustユーザーの裾野を広げるにはゲーム開発用のクレートを充実させる方が有効な気がする。そうすればゲーム開発を始めるプログラマーがC,C++,C#ではなく、Rustを最初の言語に選ぶ確率が上がるし。
460デフォルトの名無しさん
2023/06/20(火) 11:25:17.05ID:kHT6BzKp >>457
どのくらい迅速に置き換わるかは、C++に留まるかどうかに関係するぞ
どう考えたって、C++にも来るほかないトレンドだし > unsafe
C++にunsafe来る -> そんじゃ勉強するしかない -> できるようになったしC++でいいやもう になる
どのくらい迅速に置き換わるかは、C++に留まるかどうかに関係するぞ
どう考えたって、C++にも来るほかないトレンドだし > unsafe
C++にunsafe来る -> そんじゃ勉強するしかない -> できるようになったしC++でいいやもう になる
461デフォルトの名無しさん
2023/06/20(火) 13:19:55.14ID:8A36Uzhp >>450
Firefoxoはほんとにxo
Firefoxoはほんとにxo
462デフォルトの名無しさん
2023/06/20(火) 13:23:52.08ID:8A36Uzhp463デフォルトの名無しさん
2023/06/20(火) 13:41:27.35ID:XGNnSiGk C++にラストの機能がきたところでライブラリが全て追従するわけじゃないでしょう
464デフォルトの名無しさん
2023/06/20(火) 15:22:31.87ID:kHT6BzKp465デフォルトの名無しさん
2023/06/20(火) 15:29:26.80ID:TqfMpqvU まぁ勢いはあるやろな
以降の圧力がある程度以上で業界でRust移行がトレンドになって新規案件でRust採用事例が増えてくればそれが呼水になってさらに移行圧が高まって‥も考えられるけど一方で
安全性何それ美味しいので知らんふり、様子見が大半でどこも移行しようとせず、一向にRust採用事例が増えないなら、仕事もないのに勉強なんぞするかボケになる
そしてこの手の空気というかトレンドというかは全く読めんからどうなるかさっぱりやな
以降の圧力がある程度以上で業界でRust移行がトレンドになって新規案件でRust採用事例が増えてくればそれが呼水になってさらに移行圧が高まって‥も考えられるけど一方で
安全性何それ美味しいので知らんふり、様子見が大半でどこも移行しようとせず、一向にRust採用事例が増えないなら、仕事もないのに勉強なんぞするかボケになる
そしてこの手の空気というかトレンドというかは全く読めんからどうなるかさっぱりやな
466デフォルトの名無しさん
2023/06/20(火) 15:46:02.31ID:kHT6BzKp 安全性何それ美味しいの、はないとおもうけど
Rust(Dart,Swiftも同様)何それ美味しいの、は言う人いるかもね
モバイルやってなければなおのこと
Rust(Dart,Swiftも同様)何それ美味しいの、は言う人いるかもね
モバイルやってなければなおのこと
467デフォルトの名無しさん
2023/06/20(火) 16:15:55.01ID:YtQ3bilC この動画のタイトルと出だし見てMS teamsがtauriになったと勘違いするオッチョコチョイがいるかもしれない
https://www.youtube.com/watch?v=BjQv8-18MW4
実際にMS teamsはパフォーマンス不足を理由にelectron辞めた訳だけど
結果はtauriを選ばずC++WinUI
採用事例をひけらかすのなら、非採用事例、不適格理由も枚挙しないとね
この辺り考察ある?
https://www.youtube.com/watch?v=BjQv8-18MW4
実際にMS teamsはパフォーマンス不足を理由にelectron辞めた訳だけど
結果はtauriを選ばずC++WinUI
採用事例をひけらかすのなら、非採用事例、不適格理由も枚挙しないとね
この辺り考察ある?
468デフォルトの名無しさん
2023/06/20(火) 17:16:36.13ID:ql8hBBAW Rustはなんだったらできるの?
何が得意なの?
何が得意なの?
469デフォルトの名無しさん
2023/06/20(火) 17:20:28.70ID:hxrQMph/ まぁアナウンスされてる通りコンパイル時点で検出できる脆弱性が増えるとかじゃないの
知らんけど
知らんけど
470デフォルトの名無しさん
2023/06/20(火) 18:17:15.14ID:80SjVrab471デフォルトの名無しさん
2023/06/20(火) 18:25:56.89ID:06Fb/Gz+ 非採用事例
C++はLinuxカーネルに採用されないからLinuxデスクトップ系
C++はCPythonに採用されないからJavaScript系
C++はLinuxカーネルに採用されないからLinuxデスクトップ系
C++はCPythonに採用されないからJavaScript系
472デフォルトの名無しさん
2023/06/20(火) 19:23:18.83ID:oVysXVOG >>471=Qiitaから来た偽物か本物の手抜きだな
本物の複オジはRustに見切り付けてJavaScriptフロントエンドを煽り初めてるぞ
本物の複オジはRustに見切り付けてJavaScriptフロントエンドを煽り初めてるぞ
473デフォルトの名無しさん
2023/06/20(火) 19:37:03.81ID:FDgZeyem 「『C++を経験した人』がRustを好きになる」説があるが、
C++を長年経験して大規模プログラムを作ってもも頭が良すぎると
メモリ関連バグに全く遭遇しないのでRustの良さが感じられない。
C++を長年経験して大規模プログラムを作ってもも頭が良すぎると
メモリ関連バグに全く遭遇しないのでRustの良さが感じられない。
474デフォルトの名無しさん
2023/06/20(火) 19:46:11.03ID:hFVGfJKF >>473
何これ?これが複オジの現在形なのか?<ズコー
何これ?これが複オジの現在形なのか?<ズコー
475デフォルトの名無しさん
2023/06/20(火) 19:50:31.33ID:FDgZeyem メモリ関連バグの遭遇率や困りさ加減は当然ながら個人差があるもの。
うっかりミスが多い人や、バグが出たときの原因特定や対処が
下手な人にとっては困るが、それが当てはまらない人も存在する。
そして、今まで優秀とされた人は、それらが上手く行っていた人。
上手く行かなかった人は高速なアプリが作れなかったから、良いソフトは
作れなかった。
だからRust信者は、良いソフトを作ったことが無い人が多いはずだ。
うっかりミスが多い人や、バグが出たときの原因特定や対処が
下手な人にとっては困るが、それが当てはまらない人も存在する。
そして、今まで優秀とされた人は、それらが上手く行っていた人。
上手く行かなかった人は高速なアプリが作れなかったから、良いソフトは
作れなかった。
だからRust信者は、良いソフトを作ったことが無い人が多いはずだ。
476デフォルトの名無しさん
2023/06/20(火) 19:56:44.38ID:hFVGfJKF マジだった<ズコー解散
477デフォルトの名無しさん
2023/06/20(火) 20:11:23.59ID:hFVGfJKF 勘違いかも知れないからしばらく様子見にする
478デフォルトの名無しさん
2023/06/20(火) 20:16:50.04ID:VutPP0gw 頭が良ければミスしないから無視して良いという考え方は
プログラミングに限らずエンジニアリング一般として
排除されるべきものなんだけどね
プログラミングに限らずエンジニアリング一般として
排除されるべきものなんだけどね
479デフォルトの名無しさん
2023/06/20(火) 20:18:31.24ID:4GGWBlC0 そいつはC++派の数学天才大先生だよ
480デフォルトの名無しさん
2023/06/20(火) 20:50:54.50ID:kHT6BzKp ミスするバカだからRustありき、と言われて、ウンって言えないわな
俺はそんなミスしねーよとしか返しようがないw
C++だって、とうの昔から、型チェックだの、assertだのとチェックの恩恵は受けてるんだけどね
Rustが正しいと業界が認めたんなら、C++にもとっとと所有権関係きてほしい
俺はそんなミスしねーよとしか返しようがないw
C++だって、とうの昔から、型チェックだの、assertだのとチェックの恩恵は受けてるんだけどね
Rustが正しいと業界が認めたんなら、C++にもとっとと所有権関係きてほしい
481デフォルトの名無しさん
2023/06/20(火) 21:03:21.76ID:SQUZYpcX >>467
その件はRustとC++の話とは関係ない
ElectronもTauriもWeb技術つまりHTML/CSS/JavaScriptでGUI部分が記述されWebブラウザと同じ
つまりWebブラウザと同じフレームワーク含めたコードとデータを使ってデスクトップアプリを作れることが利点
Visual Studio CodeがElectronで作られているようにほとんどの利用ではパフォーマンスに問題はなくマルチプラットフォームの恩恵もある
しかしそれらWeb技術ベースではなく直接GUIライブラリを呼び出したほうが少し速いし更にOS固有のライブラリを呼び出した方が少し速いのも当然だ
そこは何を重視するかで変わる
その例だとWinUIを直接呼び出す選択をしたという話だろう
その件はRustとC++の話とは関係ない
ElectronもTauriもWeb技術つまりHTML/CSS/JavaScriptでGUI部分が記述されWebブラウザと同じ
つまりWebブラウザと同じフレームワーク含めたコードとデータを使ってデスクトップアプリを作れることが利点
Visual Studio CodeがElectronで作られているようにほとんどの利用ではパフォーマンスに問題はなくマルチプラットフォームの恩恵もある
しかしそれらWeb技術ベースではなく直接GUIライブラリを呼び出したほうが少し速いし更にOS固有のライブラリを呼び出した方が少し速いのも当然だ
そこは何を重視するかで変わる
その例だとWinUIを直接呼び出す選択をしたという話だろう
482デフォルトの名無しさん
2023/06/20(火) 21:04:54.13ID:OJ/rnI9Q >>479だね、このタイミングで同時出現した理由は不明だけど
http://hissi.org/read.php/tech/20230620/RkRnWmV5ZW0.html
別スレみたら 複おじ=はちみつ はhissiで確定してるっぽい
仮に>>472が本当ならトリップ付きで表明しないと偽物が濡れ衣きせ放題だよね
でも今後も自演なりすまし、Rustでマウント嘘大げさばら撒く気満々だと思われ
http://hissi.org/read.php/tech/20230620/RkRnWmV5ZW0.html
別スレみたら 複おじ=はちみつ はhissiで確定してるっぽい
仮に>>472が本当ならトリップ付きで表明しないと偽物が濡れ衣きせ放題だよね
でも今後も自演なりすまし、Rustでマウント嘘大げさばら撒く気満々だと思われ
483デフォルトの名無しさん
2023/06/20(火) 21:15:52.12ID:OJ/rnI9Q ほら、これこれ>>481
なんの情報もない前置き、プロンプトエンジニアリングで消したいわ
最後の一文もRustからWinUI直呼び出来るのに、なんでRust却下だったのかは話逸らし
マイクロソフトが評価してGUIに向ていないと結論出したのが大きいよ
なんの情報もない前置き、プロンプトエンジニアリングで消したいわ
最後の一文もRustからWinUI直呼び出来るのに、なんでRust却下だったのかは話逸らし
マイクロソフトが評価してGUIに向ていないと結論出したのが大きいよ
484デフォルトの名無しさん
2023/06/20(火) 21:30:35.90ID:SQUZYpcX >>483
ちゃんと理解できているか?
元々C++で本体を書いていてGUI部分がElectronだったのをWinUIへ切り替えた話だぞ
当然C++による本体部分はそのままなのだからWinUI呼び出しにRustを使うわけがない
もし仮に元々Rustで本体を書いていてGUI部分がTauriだったのをWinUIへ切り替えるならばそこだけC++を使うわけないのと同じだ
ちゃんと理解できているか?
元々C++で本体を書いていてGUI部分がElectronだったのをWinUIへ切り替えた話だぞ
当然C++による本体部分はそのままなのだからWinUI呼び出しにRustを使うわけがない
もし仮に元々Rustで本体を書いていてGUI部分がTauriだったのをWinUIへ切り替えるならばそこだけC++を使うわけないのと同じだ
485デフォルトの名無しさん
2023/06/20(火) 21:50:52.83ID:yTQuVHz5 え?>>484はelectornアプリ書いたこと無いんかwww
旧Teamsのnative部分なんてほんのわずかだったと思うぞ
その僅かな部分さえRustに置き換えるメリットがないと
マイクロソフトが評価した
という事から目を逸らすなよ
旧Teamsのnative部分なんてほんのわずかだったと思うぞ
その僅かな部分さえRustに置き換えるメリットがないと
マイクロソフトが評価した
という事から目を逸らすなよ
486デフォルトの名無しさん
2023/06/20(火) 21:59:22.19ID:06Fb/Gz+ 本体のソースが僅かでもビルドツールを変えるのが超面倒くさそう
487デフォルトの名無しさん
2023/06/20(火) 22:05:38.07ID:yTQuVHz5 マイクロソフトが評価した:
ビルドツールを変えるメリットもなし
ビルドツールを変えるメリットもなし
488デフォルトの名無しさん
2023/06/20(火) 22:15:37.37ID:yTQuVHz5 >>471は大丈夫か?ちょっと心配になるレベル
489デフォルトの名無しさん
2023/06/20(火) 22:43:42.63ID:Z2DS3pTa >>485
GUIがメインのおもちゃなプログラムだとネイティブ部分がごく僅かもあるかもしれないけど
普通のプログラムならネイティブ部分が主要部だよ
もしGUI部分にはGUI以外も記述しているなら酷いよ
GUIがメインのおもちゃなプログラムだとネイティブ部分がごく僅かもあるかもしれないけど
普通のプログラムならネイティブ部分が主要部だよ
もしGUI部分にはGUI以外も記述しているなら酷いよ
490デフォルトの名無しさん
2023/06/20(火) 22:54:00.81ID:yTQuVHz5 >>489
一言だけ言うけどvscode最適化のblog見た方が良いよ
一言だけ言うけどvscode最適化のblog見た方が良いよ
491デフォルトの名無しさん
2023/06/21(水) 00:54:28.81ID:yg4jaQpK492デフォルトの名無しさん
2023/06/21(水) 01:34:53.97ID:9X2c1iiY デストラクタが呼ばれないバグまたは仕様が大量にありそう
2回呼ぶより0回の方がマシだから呼ばない
0回を1回に改善する度胸はC++には無さそうだ
2回呼ぶより0回の方がマシだから呼ばない
0回を1回に改善する度胸はC++には無さそうだ
493デフォルトの名無しさん
2023/06/21(水) 01:40:34.87ID:CWKUsltc494デフォルトの名無しさん
2023/06/21(水) 01:41:22.60ID:CWKUsltc >>492
???
???
495デフォルトの名無しさん
2023/06/21(水) 01:44:16.17ID:yg4jaQpK496デフォルトの名無しさん
2023/06/21(水) 01:48:00.26ID:hIXW3K+V497デフォルトの名無しさん
2023/06/21(水) 01:57:47.17ID:CWKUsltc498デフォルトの名無しさん
2023/06/21(水) 01:58:43.32ID:CWKUsltc >>492
ひょっとしてC++のデストラクタは手動で呼んでると思ってる?
ひょっとしてC++のデストラクタは手動で呼んでると思ってる?
499デフォルトの名無しさん
2023/06/21(水) 02:07:24.26ID:9X2c1iiY >>498
古いコードの互換性を切り捨てていないならそうなると思ってる
古いコードの互換性を切り捨てていないならそうなると思ってる
500デフォルトの名無しさん
2023/06/21(水) 02:09:24.33ID:CWKUsltc501デフォルトの名無しさん
2023/06/21(水) 02:10:15.27ID:yg4jaQpK >>497
どうせお前反応しないから書くわけないだろ
どうせお前反応しないから書くわけないだろ
502デフォルトの名無しさん
2023/06/21(水) 02:10:48.86ID:CWKUsltc >>501
反応するよ
反応するよ
503デフォルトの名無しさん
2023/06/21(水) 02:14:26.08ID:yg4jaQpK わかったから
何も理解してないのだから大人しくしとけ
何も理解してないのだから大人しくしとけ
504デフォルトの名無しさん
2023/06/21(水) 02:16:55.88ID:hIXW3K+V 理解と信頼を得るために、Rustを使う。いい判断だ
俺はC++でたくさんだ
俺はC++でたくさんだ
505デフォルトの名無しさん
2023/06/21(水) 02:24:38.85ID:CWKUsltc >>503
議論にならんだろ? 具体的に書けよ
議論にならんだろ? 具体的に書けよ
506デフォルトの名無しさん
2023/06/21(水) 02:26:49.12ID:yg4jaQpK 別にC++がダメとは思わない
最近の機能を駆使すれば相当安全なプログラムは書けると思う
ただあまりにもバッドパーツが多いのよ
最近の機能を駆使すれば相当安全なプログラムは書けると思う
ただあまりにもバッドパーツが多いのよ
507デフォルトの名無しさん
2023/06/21(水) 02:27:24.03ID:yg4jaQpK >>505
ヒント:オブジェクトのコピー時に起きることは?
ヒント:オブジェクトのコピー時に起きることは?
508デフォルトの名無しさん
2023/06/21(水) 02:33:04.46ID:hIXW3K+V509デフォルトの名無しさん
2023/06/21(水) 02:34:56.87ID:hIXW3K+V >>507
ヒント:オブジェクトのコピー時に実装者の脳内に起きることは?
ヒント:オブジェクトのコピー時に実装者の脳内に起きることは?
510デフォルトの名無しさん
2023/06/21(水) 02:35:56.67ID:CWKUsltc >>507
議論するならちゃんと書け
議論するならちゃんと書け
511デフォルトの名無しさん
2023/06/21(水) 02:38:30.13ID:yg4jaQpK ほら反応しないw
予想通りすぎてワラケテクル
予想通りすぎてワラケテクル
512デフォルトの名無しさん
2023/06/21(水) 02:39:26.43ID:yg4jaQpK513デフォルトの名無しさん
2023/06/21(水) 02:41:29.54ID:yg4jaQpK 結局発狂で終わるいつもの彼だった
514デフォルトの名無しさん
2023/06/21(水) 02:41:57.81ID:yg4jaQpK 寝る前におちょくれたから満足
おやすみー
おやすみー
515デフォルトの名無しさん
2023/06/21(水) 02:44:23.21ID:hIXW3K+V ちな俺も言い返せて満足したので寝る またな
516デフォルトの名無しさん
2023/06/21(水) 02:45:00.13ID:CWKUsltc517デフォルトの名無しさん
2023/06/21(水) 07:51:59.20ID:BoU8Mg0d 初めて書き込む者ですが
結局メモリ管理をプログラム言語に任せるか自分でやるかって差だと思うのですよ
メモリ管理でバグは出ると言う人はじゃあ言語にメモリ管理を任せてもバグは出るって事になるじゃないですか
最終的にメモリ管理をきっちできるかどうかできっちりできる人は自分で管理できるんですよ
結局メモリ管理をプログラム言語に任せるか自分でやるかって差だと思うのですよ
メモリ管理でバグは出ると言う人はじゃあ言語にメモリ管理を任せてもバグは出るって事になるじゃないですか
最終的にメモリ管理をきっちできるかどうかできっちりできる人は自分で管理できるんですよ
518デフォルトの名無しさん
2023/06/21(水) 08:16:06.70ID:SwjUevsl >>517
GoogleやMicrosoftやAmazonなどライバル同士のIT大手が手を取り合ってRust Foundationを設立しRustへ移行しつつある理由はメモリ管理だけでなくあらゆる点でRustが優れているためです
まずはRustも使いこなせるようになってみましょう
他のプログラミング言語と比べて優れていることを誰でも理解できるでしょう
食わず嫌いの人はこのスレに参加する権利がありません
GoogleやMicrosoftやAmazonなどライバル同士のIT大手が手を取り合ってRust Foundationを設立しRustへ移行しつつある理由はメモリ管理だけでなくあらゆる点でRustが優れているためです
まずはRustも使いこなせるようになってみましょう
他のプログラミング言語と比べて優れていることを誰でも理解できるでしょう
食わず嫌いの人はこのスレに参加する権利がありません
519デフォルトの名無しさん
2023/06/21(水) 08:42:12.23ID:uufs1S4J メモリ管理の事を言っただけで好き嫌いがあるという事にされて書く権利とか何故か自分に権利があるか如く言う人がいるのがrustなんですね
520デフォルトの名無しさん
2023/06/21(水) 08:46:53.83ID:PH1LdoZ4 まぁしかしこれが流行るかどうかのキモでもある
要は正解はひとつじゃないのに何でお前の見つけた正解だけでオレの流儀の正解は正解にしてもらえないの?オレの流儀でもうまく行ってるんだからほっといてくれや、小難しい言葉ばっかり使いやがって、ほっとけや‥となる
「コンパイラが間違いを見つけるチャンスを増やす」=「今までどうでも好きにできたものを“こっちにしろ”と強要される」わけでしかもそれで何か「今まで出来なかった事が何か新しくできるようになる」感じはほとんどないからな
使わない人は永遠に使わない気もする
要は正解はひとつじゃないのに何でお前の見つけた正解だけでオレの流儀の正解は正解にしてもらえないの?オレの流儀でもうまく行ってるんだからほっといてくれや、小難しい言葉ばっかり使いやがって、ほっとけや‥となる
「コンパイラが間違いを見つけるチャンスを増やす」=「今までどうでも好きにできたものを“こっちにしろ”と強要される」わけでしかもそれで何か「今まで出来なかった事が何か新しくできるようになる」感じはほとんどないからな
使わない人は永遠に使わない気もする
521デフォルトの名無しさん
2023/06/21(水) 08:55:22.51ID:/+I3kGvO > 食わず嫌いの人はこのスレに参加する権利がありません
ダウトw 食わず嫌いで愚痴ってる俺も混じってるぜw
>>1 のとおり、マなら、やれといわれたらやるんだが
自分用はねえ
あ、Rustのメモリ管理がC++にも来るのが前提な あれはいいものだ
ダウトw 食わず嫌いで愚痴ってる俺も混じってるぜw
>>1 のとおり、マなら、やれといわれたらやるんだが
自分用はねえ
あ、Rustのメモリ管理がC++にも来るのが前提な あれはいいものだ
522デフォルトの名無しさん
2023/06/21(水) 09:06:03.20ID:tOHaDLj+ メモリ管理もいいけどそれはオマケだな
Rustは各言語で育った最新のプログラミングパラダイムが有機的に洗練されて採り入れられていて書きやすい
C++にもそのうち一部はあるが継ぎ接ぎ増築のせいで使いにくく普及していない機能が多い
快適さが天と地ほど異なりC++には戻りたくない
Rustは各言語で育った最新のプログラミングパラダイムが有機的に洗練されて採り入れられていて書きやすい
C++にもそのうち一部はあるが継ぎ接ぎ増築のせいで使いにくく普及していない機能が多い
快適さが天と地ほど異なりC++には戻りたくない
523デフォルトの名無しさん
2023/06/21(水) 09:37:22.69ID:0qOyuZMD そうね
今からキメラCやるよりRustの方が合理的
今からキメラCやるよりRustの方が合理的
524デフォルトの名無しさん
2023/06/21(水) 10:22:22.83ID:3v7xwtLO Rustの独習本でたら買おうと待ってるんだが出ないな
需要がないのかな?
需要がないのかな?
525デフォルトの名無しさん
2023/06/21(水) 10:43:34.18ID:aGqo09sZ そう言えばRustメインでWebアプリを製作してるって日本の企業があった気がする。
526デフォルトの名無しさん
2023/06/21(水) 10:48:44.70ID:tOHaDLj+ このネット時代にどのプログラミング言語を学習するにしても書籍は不要だろう
どうしても書籍がいいなら本屋に何種類もRust本が並んでいるから好みのを買えばよい
おすすめはオライリーの『プログラミングRust 第2版』だがもっと入門に徹したものが欲しいなら立ち読みで探せ
どうしても書籍がいいなら本屋に何種類もRust本が並んでいるから好みのを買えばよい
おすすめはオライリーの『プログラミングRust 第2版』だがもっと入門に徹したものが欲しいなら立ち読みで探せ
527デフォルトの名無しさん
2023/06/21(水) 10:56:40.50ID:0qOyuZMD TRPLを日本語以外で読む
528デフォルトの名無しさん
2023/06/21(水) 11:09:23.56ID:LnEQtJHf >>520
Effective C++ってのを購入しないとC++の正解には到達できないんだろ?
Effective C++ってのを購入しないとC++の正解には到達できないんだろ?
529デフォルトの名無しさん
2023/06/21(水) 11:48:15.03ID:/+I3kGvO そのへんは教科書だし、そもそも仕様書が頭に入ってないとダメ
認めてもらおうと思ったらね
まあ図書館に置いてあればいっぺん目を通しとけ
認めてもらおうと思ったらね
まあ図書館に置いてあればいっぺん目を通しとけ
530デフォルトの名無しさん
2023/06/21(水) 12:06:18.55ID:aGqo09sZ Rustは以外とWeb系のバックエンドのライブラリ(例えばactix-webとか)はしっかりしてる印象がある。GUI,部分を担うTauriがもうちょい進化すれば、RustオンリーでWeb系は完結するようになるかも。
531デフォルトの名無しさん
2023/06/21(水) 12:56:03.51ID:iHjwZZoe532デフォルトの名無しさん
2023/06/21(水) 13:08:01.81ID:LnEQtJHf 強要しているのはRustでも数学でもないんだよなあ
生物学が色々なことを強要して炎上している
生物学が色々なことを強要して炎上している
533デフォルトの名無しさん
2023/06/21(水) 13:53:29.27ID:wPpPRD11 まぁメモリ管理に対しては一応納得いく強要かなとは思う
プログラマにメモリの確保、解放をさせない、データをコンストラクトした時点でメモリ確保、参照が終わった時点で解放
しかし一つのデータを複数の変数が参照しているとどの参照が無効になった時点で解放していいのか決定できないから“所有権”なる概念を導入する、いつ参照が終了したのか確定するために“ライフタイム”という概念の設定
もちろんどちらの概念もないとコンパイラはいつメモリを確保していつ解放していいかわからない、なのでプログラマはこの概念を理解して所有権とは何か、ライフタイムとは何か、どのように決まるのか理解しないといけない
まぁ鬱陶しいのはその概念を“全変数全クラス一律統一”のルールにしてるので“整数型”とか“プール型”みたいな“メモリの確保”もへったくれもない変数についてもそのルールが適用されるとこかな
すると極めて簡単なHellow Worldレベルのプログラムでさえ怒られる時があって“うぜー!ぎー!”とはなるな、確かに
なので学習コスト高めの批評につながる
プログラマにメモリの確保、解放をさせない、データをコンストラクトした時点でメモリ確保、参照が終わった時点で解放
しかし一つのデータを複数の変数が参照しているとどの参照が無効になった時点で解放していいのか決定できないから“所有権”なる概念を導入する、いつ参照が終了したのか確定するために“ライフタイム”という概念の設定
もちろんどちらの概念もないとコンパイラはいつメモリを確保していつ解放していいかわからない、なのでプログラマはこの概念を理解して所有権とは何か、ライフタイムとは何か、どのように決まるのか理解しないといけない
まぁ鬱陶しいのはその概念を“全変数全クラス一律統一”のルールにしてるので“整数型”とか“プール型”みたいな“メモリの確保”もへったくれもない変数についてもそのルールが適用されるとこかな
すると極めて簡単なHellow Worldレベルのプログラムでさえ怒られる時があって“うぜー!ぎー!”とはなるな、確かに
なので学習コスト高めの批評につながる
534デフォルトの名無しさん
2023/06/21(水) 17:26:07.24ID:1S9Lzf4M >>533
所有権も参照もC++にある概念でRust特有の話ではないだろ
ライフタイムはC++にないがプログラマーは意識していないとダングリング等を引き起こしかねないので意識してるだろ
>> “整数型”とか“プール型”みたいな“メモリの確保”もへったくれもない変数
この部分は意味がわからない
整数型でもブール型でもメモリの確保は必要だろ
型が違うとサイズが同じでも突然にメモリ確保が必要になったり不要になったりするのか?
それとも例えばサイズが4バイトだとメモリ確保が不要だが16バイトだとメモリ確保が必要とかそんな世界があるのか??(サイズ0は除く)
>> 極めて簡単なHellow Worldレベルのプログラムでさえ怒られる時があって“うぜー!ぎー!”
これは何を指しているか曖昧でよくわからんが
コンパイルエラーか何かでそこまで短気なやつはいないし
どんな機能でも使い方を数回間違えれば覚えるだろ
そんなことで詰まる人はどんな言語でもどんなシステムでもどんな機能でも対応無理だ
所有権も参照もC++にある概念でRust特有の話ではないだろ
ライフタイムはC++にないがプログラマーは意識していないとダングリング等を引き起こしかねないので意識してるだろ
>> “整数型”とか“プール型”みたいな“メモリの確保”もへったくれもない変数
この部分は意味がわからない
整数型でもブール型でもメモリの確保は必要だろ
型が違うとサイズが同じでも突然にメモリ確保が必要になったり不要になったりするのか?
それとも例えばサイズが4バイトだとメモリ確保が不要だが16バイトだとメモリ確保が必要とかそんな世界があるのか??(サイズ0は除く)
>> 極めて簡単なHellow Worldレベルのプログラムでさえ怒られる時があって“うぜー!ぎー!”
これは何を指しているか曖昧でよくわからんが
コンパイルエラーか何かでそこまで短気なやつはいないし
どんな機能でも使い方を数回間違えれば覚えるだろ
そんなことで詰まる人はどんな言語でもどんなシステムでもどんな機能でも対応無理だ
535デフォルトの名無しさん
2023/06/21(水) 17:45:46.05ID:gSq+Wc2A >>534
まぁ、そこらへんは多分ほんとにコンパイラ自分で作ってみるくらいの事しないと分かりにくいかもな
ここがわからないとそもそもopy treitとは何かの意味がわからんからな
意味がわからなくても「これはcopy trait、これは違う、何故か、わからなくても全部暗記」でも乗り越えられなくはないけど
まぁ、そこらへんは多分ほんとにコンパイラ自分で作ってみるくらいの事しないと分かりにくいかもな
ここがわからないとそもそもopy treitとは何かの意味がわからんからな
意味がわからなくても「これはcopy trait、これは違う、何故か、わからなくても全部暗記」でも乗り越えられなくはないけど
536デフォルトの名無しさん
2023/06/21(水) 18:06:26.11ID:pPTmuDvO >>535
根本的な理解ができていないようだな
Copyトレイトを実装しているか否かに関わらず当然どちらもメモリの確保が必要
例えば
// Copy非実装型
struct Foo(i32);
// Copy実装型
#[derive(Copy,Clone)]
struct Bar(i32);
型Fooも型Barも当然どちらもメモリの確保が必要
根本的な理解ができていないようだな
Copyトレイトを実装しているか否かに関わらず当然どちらもメモリの確保が必要
例えば
// Copy非実装型
struct Foo(i32);
// Copy実装型
#[derive(Copy,Clone)]
struct Bar(i32);
型Fooも型Barも当然どちらもメモリの確保が必要
537デフォルトの名無しさん
2023/06/21(水) 18:07:23.44ID:iHjwZZoe まぁ、基本は
スタック is GOD.
再帰構造 is GOD.
という話なんですけどね。
型厳密なFORCEとかできんかね。
スタック is GOD.
再帰構造 is GOD.
という話なんですけどね。
型厳密なFORCEとかできんかね。
538デフォルトの名無しさん
2023/06/21(水) 18:09:14.14ID:gSq+Wc2A あぁ根本的にわかってなかったわオレ
539デフォルトの名無しさん
2023/06/21(水) 18:12:04.35ID:Ak6ZR8qs 普通にRustの仕組みを誤解してるんだと思うわ
一番問題なのは借用と値渡しを混同してると思うところ
一番問題なのは借用と値渡しを混同してると思うところ
540デフォルトの名無しさん
2023/06/21(水) 18:29:37.38ID:pPTmuDvO というか言語に関係なく
サイズ0でなければメモリの確保が必要
これはメモリを使うコンピュータの基本常識
もちろんコンパイル最適化によって生成コードレベルではレジスタ利用のみに成りうる場合もあるが
それは環境依存であるとともに言語レベルでは関係ない話
サイズ0でなければメモリの確保が必要
これはメモリを使うコンピュータの基本常識
もちろんコンパイル最適化によって生成コードレベルではレジスタ利用のみに成りうる場合もあるが
それは環境依存であるとともに言語レベルでは関係ない話
541デフォルトの名無しさん
2023/06/21(水) 18:34:15.18ID:NExILAZp TがCopyならば&Tを渡されても全く問題ない、とは言い切れない
呼び出し直前にコピーし参照が消滅してから値渡しすれば&mut Tを得られる可能性がある
呼び出し直前にコピーし参照が消滅してから値渡しすれば&mut Tを得られる可能性がある
542デフォルトの名無しさん
2023/06/21(水) 18:43:06.10ID:pPTmuDvO543デフォルトの名無しさん
2023/06/21(水) 19:02:31.10ID:Ak6ZR8qs なんで借用が使われてるか分かってない人が書いてるから
そこに乗っかって言いたいことを言い続けても話が長引くだけで不毛だから
そこに乗っかって言いたいことを言い続けても話が長引くだけで不毛だから
544デフォルトの名無しさん
2023/06/21(水) 19:58:12.70ID:Vhws5a0p 借用とは参照の受け渡しに過ぎず
参照とはライフタイム付きのポインタ(アドレス)に過ぎないから
C言語のポインタさえ理解している人ならば理解に困らない
その上でデータ競合防止のための単純な借用制限ルールを把握すれば基本は完了
ここはすぐに学習が終わるところ
混乱ないように補足しておくと
単体の参照はアドレスのみだか
連続体の参照はアドレス+長さの対
dynの参照はアドレス+vtableアドレスの対
参照は以上3種類
ちなみに例えばVecがアドレス+長さ+キャパシティを持つのは参照とは無関係でVecの構造体データ自体
それを&Vec<T>として参照すらならその構造体データを指すアドレスとなるし
&[T]として参照するならばVecの構造体データを指さずに中身のアドレス+長さの対の参照となる
その違いまでを理解できたら終わり
参照とはライフタイム付きのポインタ(アドレス)に過ぎないから
C言語のポインタさえ理解している人ならば理解に困らない
その上でデータ競合防止のための単純な借用制限ルールを把握すれば基本は完了
ここはすぐに学習が終わるところ
混乱ないように補足しておくと
単体の参照はアドレスのみだか
連続体の参照はアドレス+長さの対
dynの参照はアドレス+vtableアドレスの対
参照は以上3種類
ちなみに例えばVecがアドレス+長さ+キャパシティを持つのは参照とは無関係でVecの構造体データ自体
それを&Vec<T>として参照すらならその構造体データを指すアドレスとなるし
&[T]として参照するならばVecの構造体データを指さずに中身のアドレス+長さの対の参照となる
その違いまでを理解できたら終わり
545デフォルトの名無しさん
2023/06/21(水) 20:01:59.11ID:NExILAZp なぜコードを出さないかというと強要されてないから
まさか強要が好きな人はいないよね
まさか強要が好きな人はいないよね
546デフォルトの名無しさん
2023/06/21(水) 20:27:21.64ID:Ak6ZR8qs この件にとやかく言うつもりないけど
ずっとレジスタに乗ったままの変数ならメモリは確保しなくてもいいんじゃないかと思うけど
xorの後カウントとか何かの値をレジスタに入れてそれを使って判定してそのまま消えるとか
関数抜けるときレジスタに入れっぱなしとか
検証する気もないが
ずっとレジスタに乗ったままの変数ならメモリは確保しなくてもいいんじゃないかと思うけど
xorの後カウントとか何かの値をレジスタに入れてそれを使って判定してそのまま消えるとか
関数抜けるときレジスタに入れっぱなしとか
検証する気もないが
547デフォルトの名無しさん
2023/06/21(水) 20:28:47.54ID:RAQbywAa C/C++理解してたらそんなゴミみたいな質問は出てこないのだけどな
いきなりrustやってもわからんというのが俺の持論
いきなりrustやってもわからんというのが俺の持論
548デフォルトの名無しさん
2023/06/21(水) 20:33:13.90ID:RAQbywAa >>546
レジスタに乗せるのはメモリからだよ?
レジスタに乗せるのはメモリからだよ?
549デフォルトの名無しさん
2023/06/21(水) 20:34:50.23ID:Ak6ZR8qs xorの後の意味が分かってなさそう
gcc -Sでアセンブリに変えてみてるとそういう挙動に見えるんだから
gcc -Sでアセンブリに変えてみてるとそういう挙動に見えるんだから
550デフォルトの名無しさん
2023/06/21(水) 20:51:37.32ID:W7d/0xn7 >>546
最終的にレジスタ演算のみで完結したとしてもそれは各CPU等のアーキテクチャ毎に最適化したコード生成レベルの話
プログラミング言語レベルの話ではない
例えばレジスタを持たない仮想機械でも動かせる
最終的にレジスタ演算のみで完結したとしてもそれは各CPU等のアーキテクチャ毎に最適化したコード生成レベルの話
プログラミング言語レベルの話ではない
例えばレジスタを持たない仮想機械でも動かせる
551デフォルトの名無しさん
2023/06/21(水) 21:50:11.61ID:fcVVYIqb ほんとこのスレのレベルときたらww
552デフォルトの名無しさん
2023/06/21(水) 22:00:07.36ID:yg4jaQpK 無知なのは仕方ないが積み重ねてる感じが一切ないんだよな
まっっっっっったく学習してないというかなんというか
まっっっっっったく学習してないというかなんというか
553デフォルトの名無しさん
2023/06/21(水) 22:32:22.16ID:96H1cmJ1 【プログラミング言語】企業が求めるエンジニア言語ランキング 2位「R」、3位「Go」 1位は? 企業DB運営会社が発表 [すらいむ★]
https://egg.5ch.net/test/read.cgi/scienceplus/1687350694/
Rustがランキング入りしてない
https://egg.5ch.net/test/read.cgi/scienceplus/1687350694/
Rustがランキング入りしてない
554デフォルトの名無しさん
2023/06/21(水) 22:39:28.03ID:LxMKpynY RustaceanはMicrosoftで働くんで
555デフォルトの名無しさん
2023/06/21(水) 23:08:25.74ID:ZJTVCC4y コンパイル先で使えるレジスタが0本か100本かわからないので全てメモリ上に確保して進められる
参照を渡すならばレジスタが余っていようとレジスタへの最適化はできない
しかし参照渡しを値渡しに最適化してしまいレジスタを使う可能性もありうる
いずれにせよレジスタの存在は忘れてプログラミングすることになる
参照を渡すならばレジスタが余っていようとレジスタへの最適化はできない
しかし参照渡しを値渡しに最適化してしまいレジスタを使う可能性もありうる
いずれにせよレジスタの存在は忘れてプログラミングすることになる
556デフォルトの名無しさん
2023/06/21(水) 23:27:01.13ID:NExILAZp 要するに物理的事情で強要されるのは許せるが数学的に強要されるのは許せないと
557デフォルトの名無しさん
2023/06/22(木) 00:08:59.97ID:rxgTyL0O■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか… [BFU★]
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 中国国営メディア「沖縄は日本ではない」…★7 [BFU★]
- バービー、 台湾有事の発言の波紋で「たまったもんじゃない」「高市さんに真意は聞きたい」「国民に向けて説明してほしい」 [muffin★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【悲報】ゼレンスキー「高市早苗は生命を守り、国際的なルールに基づく秩序を擁護し、国家間の相互尊重を促している」 [616817505]
- 高市早苗、岸田政権(当時)に「台湾有事は日本の有事か」という質問をしていた [175344491]
- 【悲報】中国→日本行きの航空チケット、高市有事の影響で50万人分がキャンセルされる [834922174]
- 青椒肉絲、牛肉ではなく豚肉を使うのが本物だった
- ケンタッキーの○○○バーガーという予告がアレを想起すると話題に [523957489]
