「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていう雑談スレ。
・C/C++ <=> Rust いまさら聞けない移行質問なども適当にどぞ
・レスバはじめんのは勝手だけど、面白いこと・へぇなこと書いたヤツが優勝
・マな話は、マのスレもご活用ください↓
前スレ: 結局C++とRustってどっちが良いの? 7traits
http://mevius.5ch.net/test/read.cgi/tech/1693451813/
関連スレ(マ板): Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理ミス。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
結局C++とRustってどっちが良いの? 8traits
■ このスレッドは過去ログ倉庫に格納されています
2023/10/28(土) 13:45:00.38ID:fh9BWjjr
328デフォルトの名無しさん
2023/11/13(月) 22:30:02.31ID:VKpgHGcI329デフォルトの名無しさん
2023/11/14(火) 00:08:42.55ID:elb2YwUG330デフォルトの名無しさん
2023/11/14(火) 07:56:37.32ID:NHwXNMzQ >>327
ドライバだけに使われることあっても置き換わることはありえない
ドライバだけに使われることあっても置き換わることはありえない
331デフォルトの名無しさん
2023/11/14(火) 08:35:51.95ID:DoXgoJ+r 置き換えになる前に、Cが強化される方に期待
やっぱり、クリティカル用のCってあったほうがいい
やっぱり、クリティカル用のCってあったほうがいい
332デフォルトの名無しさん
2023/11/14(火) 10:15:35.52ID:XadOWBX2 Cは進化を前提としたABIではないから
シンタックスシュガー的な強化しかできない
モダンな機能を求めるならCにトランスパイルする言語を使うことになる
シンタックスシュガー的な強化しかできない
モダンな機能を求めるならCにトランスパイルする言語を使うことになる
333デフォルトの名無しさん
2023/11/14(火) 12:09:27.81ID:SRCspH78 fn main(){
println!("{}", 111111111*111111111);
println!("{}", 111111111u64*111111111u64);
}
1653732529
12345678987654321
警告もコンパイルエラーも出ないんだが
Rustってあほなんか?
println!("{}", 111111111*111111111);
println!("{}", 111111111u64*111111111u64);
}
1653732529
12345678987654321
警告もコンパイルエラーも出ないんだが
Rustってあほなんか?
334デフォルトの名無しさん
2023/11/14(火) 13:48:38.27ID:CBni7tLT C++の唯一の得意分野だったゲームまでRustに置き換わりそう
335デフォルトの名無しさん
2023/11/14(火) 15:16:56.57ID:XhCdgplR >>333
書いてるやつがアホなだけだろw
書いてるやつがアホなだけだろw
336デフォルトの名無しさん
2023/11/14(火) 16:14:21.75ID:SRCspH78 あほが間違ったのを指摘できるのがRustのメリットじゃなかったんか
337デフォルトの名無しさん
2023/11/14(火) 16:25:51.54ID:B1tltd4R 程度による
338デフォルトの名無しさん
2023/11/14(火) 16:28:06.37ID:Z/oEWqNB >>333
そのままやってみたらエラー出た
error: this arithmetic operation will overflow
--> src/main.rs:2:18
|
2 | println!("{}", 111111111*111111111);
| ^^^^^^^^^^^^^^^^^^^ attempt to compute `111111111_i32 * 111111111_i32`, which would overflow
|
= note: `#[deny(arithmetic_overflow)]` on by default
型を全く指定しないとi32型とみなされるようだ
エラーも丁寧に出るから初心者にもやさしいな
そのままやってみたらエラー出た
error: this arithmetic operation will overflow
--> src/main.rs:2:18
|
2 | println!("{}", 111111111*111111111);
| ^^^^^^^^^^^^^^^^^^^ attempt to compute `111111111_i32 * 111111111_i32`, which would overflow
|
= note: `#[deny(arithmetic_overflow)]` on by default
型を全く指定しないとi32型とみなされるようだ
エラーも丁寧に出るから初心者にもやさしいな
339デフォルトの名無しさん
2023/11/14(火) 18:34:48.03ID:hryaTN3D >>330
言い切るのはいいが、その根拠を示さないとな。
言い切るのはいいが、その根拠を示さないとな。
340デフォルトの名無しさん
2023/11/14(火) 18:48:47.69ID:do91JJab ドライバ開発用の環境しかないから
知らんのか
知らんのか
341デフォルトの名無しさん
2023/11/14(火) 19:23:59.78ID:hryaTN3D 現状はそうだけど
それでは、未来永劫置き換わらないと言えないのでは?
sudoとか置き換わってるよ
それでは、未来永劫置き換わらないと言えないのでは?
sudoとか置き換わってるよ
342デフォルトの名無しさん
2023/11/14(火) 20:26:23.93ID:QUrDO32K343デフォルトの名無しさん
2023/11/14(火) 21:16:27.35ID:K+bD5cJ/ オーバーフローチェックがどういう時に働くか把握してないならThe Bookからやり直しましょう
344デフォルトの名無しさん
2023/11/14(火) 21:54:16.75ID:sG8x0H9f >>341
置き換わってねーよw
置き換わってねーよw
345デフォルトの名無しさん
2023/11/14(火) 22:10:44.82ID:elb2YwUG346デフォルトの名無しさん
2023/11/14(火) 22:30:39.73ID:e1z7sXs7 >>341
未来永劫とか言い出すのはガキ
今から置き換えるメリットがない
せいぜいcの黒魔術マクロを排除できるぐらいだろ
カーネルサイズ大きくなりました
ちょっと遅くなりました
気持ちメモリ安全になった気がします
どうせこういう結果になる
未来永劫とか言い出すのはガキ
今から置き換えるメリットがない
せいぜいcの黒魔術マクロを排除できるぐらいだろ
カーネルサイズ大きくなりました
ちょっと遅くなりました
気持ちメモリ安全になった気がします
どうせこういう結果になる
347デフォルトの名無しさん
2023/11/14(火) 23:19:38.77ID:hryaTN3D もちついて。
きき方が悪かったんだけどさ、LinuxカーネルをRust置き換えがありえないってのはなぜ?
これが聞きたかっただけですよ。
現状からの置き換えコストがかかるからという理由は置いといて、すでになにかあるの?
ケンカしたいんじゃないぞ
>>344 sudoは置き換わってないね
きき方が悪かったんだけどさ、LinuxカーネルをRust置き換えがありえないってのはなぜ?
これが聞きたかっただけですよ。
現状からの置き換えコストがかかるからという理由は置いといて、すでになにかあるの?
ケンカしたいんじゃないぞ
>>344 sudoは置き換わってないね
348デフォルトの名無しさん
2023/11/14(火) 23:52:26.09ID:5RSSAN+/ LinuxのカーネルのソースコードをすべてRustに置き換えたときそれはLinuxと呼べるのだろうか
(テセウスのパラドックス)
(テセウスのパラドックス)
349デフォルトの名無しさん
2023/11/15(水) 00:44:03.25ID:aoVQj80M Rustの道具立てが揃ってきたら
スケジューラとかネットワークスタックなど
コアな部分をRustで書き直そうぜとか
言い出す人は確実にでると思うけど
POSIX互換(Linux互換)カーネルを
Rustでゼロから書いた方が早いとかなるのかどうか
スケジューラとかネットワークスタックなど
コアな部分をRustで書き直そうぜとか
言い出す人は確実にでると思うけど
POSIX互換(Linux互換)カーネルを
Rustでゼロから書いた方が早いとかなるのかどうか
350デフォルトの名無しさん
2023/11/15(水) 00:55:26.57ID:ywV5GNL0 残念ながらレビューできる人がいない
351デフォルトの名無しさん
2023/11/15(水) 01:32:50.34ID:ywV5GNL0352デフォルトの名無しさん
2023/11/15(水) 02:15:41.37ID:1U/J6vOE 口から出任せばっかりのRust宣教師
それに付き合う暇人
それに付き合う暇人
353デフォルトの名無しさん
2023/11/15(水) 05:50:02.33ID:y8SxX7I2 カーネルをコンパイルできるか、ってのは、ひとつのベンチマークになるらしい(どっかで見た
C2Rustみたいな翻案ツールができたら、Linuxで試されるようには思う
C2Rustみたいな翻案ツールができたら、Linuxで試されるようには思う
354デフォルトの名無しさん
2023/11/15(水) 08:24:44.15ID:yd8/VhXj Linusの気持ちは?
355デフォルトの名無しさん
2023/11/15(水) 08:28:35.87ID:L9zXFwKt 「その頃」のLinusはカス嫌いだったんだろうから、アウトプットがよければどうでもいい、だろ
C++は百花繚乱感があって、後から考えたらあれは嫌われるわけだ
C++は百花繚乱感があって、後から考えたらあれは嫌われるわけだ
356デフォルトの名無しさん
2023/11/15(水) 09:41:39.61ID:pZco8j8P Linuxはもう枯れたと言える技術分野であって
エッジな人々が集まるところではないからな
エンタープライズ分野でたとえれば汎用機システムのメンテナンスしてるようなもの
エッジな人々が集まるところではないからな
エンタープライズ分野でたとえれば汎用機システムのメンテナンスしてるようなもの
357デフォルトの名無しさん
2023/11/15(水) 10:46:32.75ID:PvDO1mrU >>351
wiki見るとAndroidは置き換わってるように書いてあるね。
アマゾンのAWSのLinux?とか
カーネルは6.6.1でfind -name '*.rs' で引っかけるとmallocとかCのライブラリ関係かな?ほかいろいろ
LLTM=1スイッチで置き換わるようだが。
すぐに全体が置き換わるわけではないだろうけど、コアで脆弱性なところから始まってる感じに思えるね。
wiki見るとAndroidは置き換わってるように書いてあるね。
アマゾンのAWSのLinux?とか
カーネルは6.6.1でfind -name '*.rs' で引っかけるとmallocとかCのライブラリ関係かな?ほかいろいろ
LLTM=1スイッチで置き換わるようだが。
すぐに全体が置き換わるわけではないだろうけど、コアで脆弱性なところから始まってる感じに思えるね。
358デフォルトの名無しさん
2023/11/15(水) 11:16:22.78ID:ywV5GNL0 最新の安定版カーネルは11月8日にリリースされたV. 6.6.1
$ curl 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.1.tar.xz' -o - | tar xJf -
$ find linux-6.6.1 -name *.rs | xargs cat | wc -l
19033
$ find linux-6.6.1 -name *.c -o -name *.h | xargs cat | wc -l
32601643
19033 / (19033 + 32601643) = 0.05834643034374886
Rustのソースは僅か0.058%
$ curl 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.6.1.tar.xz' -o - | tar xJf -
$ find linux-6.6.1 -name *.rs | xargs cat | wc -l
19033
$ find linux-6.6.1 -name *.c -o -name *.h | xargs cat | wc -l
32601643
19033 / (19033 + 32601643) = 0.05834643034374886
Rustのソースは僅か0.058%
359デフォルトの名無しさん
2023/11/15(水) 11:18:06.72ID:ywV5GNL0 Rustがlinuxに取り込まれたのが昨年12月でV. 6.1
$ curl 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.tar.xz' -o - | tar xJf -
$ find linux-6.1 -name *.rs | xargs cat | wc -l
10359
$ find linux-6.1 -name *.c -o -name *.h | xargs cat | wc -l
31476383
この11ヶ月にCで書かれたのは32601643 - 31476383 = 1125260ステップ
その間にRustで書かれたソースは19033 - 10359 = 8674ステップ
増分を比較すると
8674 / 1125260 = 0.007708440715923431
Rustで書こうって人はCの0.8%未満ってことだ
C開発者が100人いたらRust開発者は1人もいないくらい
Linuxカーネルのプロジェクトで
Rustに存在感は全くない
少なくとも最初の11ヶ月間の事実
$ curl 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.tar.xz' -o - | tar xJf -
$ find linux-6.1 -name *.rs | xargs cat | wc -l
10359
$ find linux-6.1 -name *.c -o -name *.h | xargs cat | wc -l
31476383
この11ヶ月にCで書かれたのは32601643 - 31476383 = 1125260ステップ
その間にRustで書かれたソースは19033 - 10359 = 8674ステップ
増分を比較すると
8674 / 1125260 = 0.007708440715923431
Rustで書こうって人はCの0.8%未満ってことだ
C開発者が100人いたらRust開発者は1人もいないくらい
Linuxカーネルのプロジェクトで
Rustに存在感は全くない
少なくとも最初の11ヶ月間の事実
360デフォルトの名無しさん
2023/11/15(水) 11:20:10.48ID:ywV5GNL0361デフォルトの名無しさん
2023/11/15(水) 11:25:52.06ID:7t1hSBTd このスレの半分は複オジのウソで出来ています。
用法・用量を守って正しくご使用下さい。
用法・用量を守って正しくご使用下さい。
362デフォルトの名無しさん
2023/11/15(水) 11:35:20.23ID:PvDO1mrU363デフォルトの名無しさん
2023/11/15(水) 12:21:37.48ID:no7PoE7H364デフォルトの名無しさん
2023/11/15(水) 12:27:36.50ID:teqcURmf >>347
「コスト」が最大の理由だろ。
コードをRustに置き換えるだけでも膨大な手間と時間がかかる。
そもそもLinusとかのメンテナがRustを使いこなすのに何年費やすかね。そんな時間があったら現環境で機能強化するわな。
「コスト」が最大の理由だろ。
コードをRustに置き換えるだけでも膨大な手間と時間がかかる。
そもそもLinusとかのメンテナがRustを使いこなすのに何年費やすかね。そんな時間があったら現環境で機能強化するわな。
365デフォルトの名無しさん
2023/11/15(水) 13:00:57.66ID:no7PoE7H clangでのビルドにも慎重なのにrustで置き換えなんか進むわけない
そもそも書き換える行為に生産性がないのだから
せいぜい新しく書くところで部分的に使っていきましょうとなる
だからドライバでとなる
そもそも書き換える行為に生産性がないのだから
せいぜい新しく書くところで部分的に使っていきましょうとなる
だからドライバでとなる
366デフォルトの名無しさん
2023/11/15(水) 13:19:00.88ID:ywV5GNL0 Rustの本家本元のfirefoxのソースコードでも
Debianの115.4.0esr-1~deb12u1を調べると以下の通りだよ
Rust(*.rs) 15%
JS(*.js) 35%
C++/C(*.cpp *.cxx *.c *.h) 50%
LinuxでRustがCを置き換えるなんてことは
>>341の言葉を借りて「未来永劫」ないとないと言い切ってやろう
Debianの115.4.0esr-1~deb12u1を調べると以下の通りだよ
Rust(*.rs) 15%
JS(*.js) 35%
C++/C(*.cpp *.cxx *.c *.h) 50%
LinuxでRustがCを置き換えるなんてことは
>>341の言葉を借りて「未来永劫」ないとないと言い切ってやろう
367デフォルトの名無しさん
2023/11/15(水) 14:07:32.56ID:g71OGRWz368デフォルトの名無しさん
2023/11/15(水) 14:11:39.36ID:ywV5GNL0 >>367
ざっと2千500万行だね
ざっと2千500万行だね
369デフォルトの名無しさん
2023/11/15(水) 14:24:01.47ID:kSRDfKJq 30年の積み重ねを置き換えるのに30年…
とまでは行かなくても5年で大部分書き換え
とかはならんだろう
とまでは行かなくても5年で大部分書き換え
とかはならんだろう
370デフォルトの名無しさん
2023/11/15(水) 14:51:21.03ID:6FugGo49 元々Cで造られたプロジェクトを一部だけRustに置き換えなんて面倒なだけでメリット無い
どうせRustでやるんだったら全部描き治しの方が良いに決まってる
Rustで置き換えと言うよりRustで新たにLinux互換プロジェクトが出来上がるだけ
どうせRustでやるんだったら全部描き治しの方が良いに決まってる
Rustで置き換えと言うよりRustで新たにLinux互換プロジェクトが出来上がるだけ
371デフォルトの名無しさん
2023/11/15(水) 14:56:46.34ID:/tSVEj7/ >>368
ひぇっ
ひぇっ
372デフォルトの名無しさん
2023/11/15(水) 15:12:05.87ID:PvDO1mrU Andoroidは置き換え比較的進んでるよ、事実だしこれは否定しようがない。
>>356が言うようにLinuxはメンテナーが少なくなってきてるという記事を読んだことがある。
Cを本当に使える人が減ってきてるんだってさ。AIとかに流出してるのかもね。
Linuxは長い実績で堅牢なんだろうけどまだ脆弱性を含んでいるのは間違いないし。
メンテナーのレベルが落ちると長年で培った堅牢性がゆらいでいくんじゃない?
時間かけてじわじわいくよ。
>>356が言うようにLinuxはメンテナーが少なくなってきてるという記事を読んだことがある。
Cを本当に使える人が減ってきてるんだってさ。AIとかに流出してるのかもね。
Linuxは長い実績で堅牢なんだろうけどまだ脆弱性を含んでいるのは間違いないし。
メンテナーのレベルが落ちると長年で培った堅牢性がゆらいでいくんじゃない?
時間かけてじわじわいくよ。
373デフォルトの名無しさん
2023/11/15(水) 16:57:42.00ID:HubpN1/i374デフォルトの名無しさん
2023/11/15(水) 18:15:25.04ID:/tSVEj7/ >>372
富士通の社員がやってるんじゃないの?
富士通の社員がやってるんじゃないの?
375デフォルトの名無しさん
2023/11/15(水) 18:31:31.15ID:c9l3XMad GoogleがAndroid OSのRust化を進めている
376デフォルトの名無しさん
2023/11/15(水) 19:02:01.02ID:V2KbO/sW 都合の悪い話されるとすぐそうやって話題変える
377デフォルトの名無しさん
2023/11/15(水) 21:13:40.04ID:ywV5GNL0 >>372,375
プログラマなんだから話は定量的にどうぞ
プログラマなんだから話は定量的にどうぞ
378デフォルトの名無しさん
2023/11/15(水) 21:36:10.57ID:2QF9cM/v トランスレータ作ればいいのにね
379デフォルトの名無しさん
2023/11/15(水) 21:48:13.78ID:FmmLZXFq Linux Kernelコードの70%はドライバー
こいつらは基本的にデバイス屋さんが書いてる
こいつらは基本的にデバイス屋さんが書いてる
380デフォルトの名無しさん
2023/11/15(水) 23:20:59.98ID:9Wll1i1V381デフォルトの名無しさん
2023/11/15(水) 23:25:45.67ID:/tSVEj7/ Linusは自分がいなくなっても継続できるようにしてると言ってたけどホントかいな
382デフォルトの名無しさん
2023/11/16(木) 02:20:43.10ID:YE0GrThs ああいうワンマン強引タイプの周辺はだいたい
イエスマン(しかも心中はそのうち取って代ってやると思ってる野心家)ばっかりになってて
本人は継続できるようなつもりになってるけどいざ倒れると急におかしな方向いったり弱体化したりしがち
イエスマン(しかも心中はそのうち取って代ってやると思ってる野心家)ばっかりになってて
本人は継続できるようなつもりになってるけどいざ倒れると急におかしな方向いったり弱体化したりしがち
383デフォルトの名無しさん
2023/11/16(木) 07:32:35.40ID:nbKqUUuT >>381
もう本人コード書いてないし
もう本人コード書いてないし
384デフォルトの名無しさん
2023/11/16(木) 09:47:18.38ID:wNLmB51s カーネルの話にAndroidを出してくる奴
385デフォルトの名無しさん
2023/11/16(木) 10:24:39.57ID:csSKyxVc >>383
リーナス氏はカーネルを書いただけの人で、Linuxはgnuの周辺が無ければ成立しないんだよなぁ
リーナス氏はカーネルを書いただけの人で、Linuxはgnuの周辺が無ければ成立しないんだよなぁ
386デフォルトの名無しさん
2023/11/16(木) 10:36:18.81ID:c22vQqL3 ニュース記事を斜め読みしただけで
プログラム書いてなさそう人が参入してるな
プログラム書いてなさそう人が参入してるな
387デフォルトの名無しさん
2023/11/16(木) 10:58:48.69ID:oAo4ftxR 複おじのことやん
388デフォルトの名無しさん
2023/11/16(木) 11:04:24.85ID:JqwSNCs1 >>384
GoogleがAndroid用にforkしたLinuxカーネルへ加えた変更がアップストリームにも適用されることが多々あるから別におかしい話じゃないぞ
Androidと関係なくてもGoogle自体がLinuxカーネルを進化させてるメジャープレイヤーでもある
GoogleがAndroid用にforkしたLinuxカーネルへ加えた変更がアップストリームにも適用されることが多々あるから別におかしい話じゃないぞ
Androidと関係なくてもGoogle自体がLinuxカーネルを進化させてるメジャープレイヤーでもある
389デフォルトの名無しさん
2023/11/16(木) 11:05:25.04ID:wNLmB51s rustサポートって何してるのか気になってコミットログ読んでみたけどこんなもんか
390デフォルトの名無しさん
2023/11/16(木) 11:15:44.45ID:cWrKpE+4392デフォルトの名無しさん
2023/11/16(木) 11:23:05.99ID:5W7eUxhr 既存の枯れた部分を移行するメリットは低くそこに興味を持っているのはおまえらだけ
全く新たに作られていってるシステムなどに使われていく言語が世間での焦点
全く新たに作られていってるシステムなどに使われていく言語が世間での焦点
393デフォルトの名無しさん
2023/11/16(木) 11:36:03.27ID:oAo4ftxR394デフォルトの名無しさん
2023/11/16(木) 11:40:52.68ID:5W7eUxhr 既存の枯れた安定してるものを他言語で置き換えなんてムダなことをするバカはいない
>>5のような新たなシステムがどの言語で書かれているかが全て
>>5のような新たなシステムがどの言語で書かれているかが全て
395デフォルトの名無しさん
2023/11/16(木) 11:44:41.17ID:c22vQqL3396デフォルトの名無しさん
2023/11/16(木) 11:52:51.95ID:nxuWB9A/397デフォルトの名無しさん
2023/11/16(木) 11:59:45.29ID:oAo4ftxR >CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
>>394「C言語製の枯れて安定してるnginxをわざわざRustで置き換えるCloudflareはムダなことをするバカ」
>>394「C言語製の枯れて安定してるnginxをわざわざRustで置き換えるCloudflareはムダなことをするバカ」
398デフォルトの名無しさん
2023/11/16(木) 12:24:14.05ID:AwpJQf7l >>397
Pingoraの話じゃないの?
Pingoraの話じゃないの?
399デフォルトの名無しさん
2023/11/16(木) 12:31:03.07ID:1vSd70Wx >>397
記事読めてる?
nginxでは機能が不十分で様々な検討をして新たに作ることになったとある
そしてRust製のPingoraを開発して以下の性能を出したと記事に書かれている
>Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。
記事読めてる?
nginxでは機能が不十分で様々な検討をして新たに作ることになったとある
そしてRust製のPingoraを開発して以下の性能を出したと記事に書かれている
>Pingoraはすでに同社のCDNに採用され、毎日1兆回以上のリクエストを処理し、性能向上や数多くの新機能の提供を実現しつつ、従来と比較してCPUとメモリリソースの消費はいずれも3分の1程度に収まっているとのこと。
400デフォルトの名無しさん
2023/11/16(木) 12:42:36.36ID:c22vQqL3401デフォルトの名無しさん
2023/11/16(木) 12:47:30.32ID:QXdh7keC APIがRustになってないとRust採用する意味が無い
402デフォルトの名無しさん
2023/11/16(木) 12:53:18.79ID:1vSd70Wx403デフォルトの名無しさん
2023/11/16(木) 12:53:44.43ID:oAo4ftxR404デフォルトの名無しさん
2023/11/16(木) 13:04:58.32ID:1vSd70Wx たとえ後発のより良い新言語(ex. Rust)であっても
システムそのままで新言語への置き換えはコスト的に意味がなく
新たなシステムへ置き換える時に新言語の採用は大いに意味があるという実例だろう
システムそのままで新言語への置き換えはコスト的に意味がなく
新たなシステムへ置き換える時に新言語の採用は大いに意味があるという実例だろう
405デフォルトの名無しさん
2023/11/16(木) 13:27:53.62ID:6XhGio1W 403 は言葉使いからして感情でしか物事をみれない
406デフォルトの名無しさん
2023/11/16(木) 13:37:39.61ID:GrubNHks >>383
一応メールの中でコードを書いてるって言ってたけどね
一応メールの中でコードを書いてるって言ってたけどね
407デフォルトの名無しさん
2023/11/16(木) 13:40:47.78ID:GrubNHks408デフォルトの名無しさん
2023/11/16(木) 14:28:52.70ID:U5aa+aRa >>394
置き換えがしたいという意志があるとは誰も言ってない
そもそも修正と新規作成をどうしても区別したいという意志がない
ただ、ミクロな意志と無関係なマクロな現象として
置き換えが自然発生するかも知れないという謎の空気はある
置き換えがしたいという意志があるとは誰も言ってない
そもそも修正と新規作成をどうしても区別したいという意志がない
ただ、ミクロな意志と無関係なマクロな現象として
置き換えが自然発生するかも知れないという謎の空気はある
409デフォルトの名無しさん
2023/11/16(木) 15:09:24.13ID:IFD1cI+g early adoptersやearly majorityになるのは
Linuxのperipheralとしてビジネスをしている企業ではなく
Linuxをperipheralとしたビジネスをしている企業
前者の大半はゲームのルールを他者に支配されている立場であり裁量の余地が小さいためマインドセットが保守的
純粋なコストベネフィット以外に低いリスク選好度からくる心理的抵抗が強いためearly adoptersやearly majorityにはなりにくい
複オジがいつも事例であげてるAndroid、Cloudflare、AWSなどが全て後者なのは偶然ではなく構造上の特性から生じる必然
新しい技術というのはゲームのルールを自らコントロールできるこちら側の企業によって牽引される
Linuxのperipheralとしてビジネスをしている企業ではなく
Linuxをperipheralとしたビジネスをしている企業
前者の大半はゲームのルールを他者に支配されている立場であり裁量の余地が小さいためマインドセットが保守的
純粋なコストベネフィット以外に低いリスク選好度からくる心理的抵抗が強いためearly adoptersやearly majorityにはなりにくい
複オジがいつも事例であげてるAndroid、Cloudflare、AWSなどが全て後者なのは偶然ではなく構造上の特性から生じる必然
新しい技術というのはゲームのルールを自らコントロールできるこちら側の企業によって牽引される
410デフォルトの名無しさん
2023/11/16(木) 15:14:00.47ID:IFD1cI+g つまり何が言いたかったかというと
Linux KernelにおけるRustの採用率というのは
技術採用ライフサイクルの観点で見た場合
late majorityやluggardsのRust採用率の目安だということ
Linux KernelにおけるRustの採用率というのは
技術採用ライフサイクルの観点で見た場合
late majorityやluggardsのRust採用率の目安だということ
411デフォルトの名無しさん
2023/11/16(木) 15:14:30.69ID:QXdh7keC adaptor だと思ってたけど adopter なんか
412デフォルトの名無しさん
2023/11/16(木) 15:24:27.23ID:JRjQuxlT413デフォルトの名無しさん
2023/11/16(木) 15:29:19.80ID:FRf+5dUd early adopter とは
https://dictionary.goo.ne.jp/word/en/early+adopter/
アーリーアダプター,(新製品の)初期受容者
adopter とは
https://dictionary.goo.ne.jp/word/en/adopter/
1 採用[採択]者
2 養い親,里親
https://dictionary.goo.ne.jp/word/en/early+adopter/
アーリーアダプター,(新製品の)初期受容者
adopter とは
https://dictionary.goo.ne.jp/word/en/adopter/
1 採用[採択]者
2 養い親,里親
414デフォルトの名無しさん
2023/11/16(木) 16:41:51.84ID:cWrKpE+4415デフォルトの名無しさん
2023/11/16(木) 17:06:23.69ID:DQsCMcKm それぞれのケースで大きく異なるから区別が必要
(1) 新規に作るもの
CloudflareやAWSの例やゲームの新フレームワークやLinuxの新たなデバドラ等すべてこれ
これらは100% Rustが有利
(2) 既存のソフトの言語のみの置き換え
(2)-a. スクリプト言語などからの言語の置き換え
CPUやメモリの使用リソース削減が目的ならばRust化は有利
(2)-b. C/C++からの言語の置き換え
セキュリティやメモリ管理の不安定で困ってる時にRust化が有利
一般的に可能なら(2)の単なる言語間の移植よりも
設計を見直して(1)の新規作成とした方が好ましい
>>399でCloudflareがCPUメモリリソース消費1/3にできた例も
単なるC→Rustへの(2)移植ではなく
新たな設計での(1)新規作成だからであろう
(1) 新規に作るもの
CloudflareやAWSの例やゲームの新フレームワークやLinuxの新たなデバドラ等すべてこれ
これらは100% Rustが有利
(2) 既存のソフトの言語のみの置き換え
(2)-a. スクリプト言語などからの言語の置き換え
CPUやメモリの使用リソース削減が目的ならばRust化は有利
(2)-b. C/C++からの言語の置き換え
セキュリティやメモリ管理の不安定で困ってる時にRust化が有利
一般的に可能なら(2)の単なる言語間の移植よりも
設計を見直して(1)の新規作成とした方が好ましい
>>399でCloudflareがCPUメモリリソース消費1/3にできた例も
単なるC→Rustへの(2)移植ではなく
新たな設計での(1)新規作成だからであろう
416デフォルトの名無しさん
2023/11/16(木) 17:13:48.99ID:GrubNHks C/C++から書き直すにしても設計をそのまま使えないことが多いから
かなり大変なんだよな
とくに参照やポインタだらけで全部ヒープアロケーションしまくってる場合とか
C++でもその辺りポインタを多用せずスマポやスタック割り当てをうまく使って書いてあるソフトは移植しやすい
かなり大変なんだよな
とくに参照やポインタだらけで全部ヒープアロケーションしまくってる場合とか
C++でもその辺りポインタを多用せずスマポやスタック割り当てをうまく使って書いてあるソフトは移植しやすい
417デフォルトの名無しさん
2023/11/16(木) 17:41:46.11ID:cVeFFprT どの言語からでもいいけどRustに移行するのにプログラム設計もそのまま引き継いだ自動コンバージョン的な移行を想定するほうがおかしいやろ
そんなんありえんよ
そんなんありえんよ
418デフォルトの名無しさん
2023/11/16(木) 17:41:52.36ID:nV/QBQ73 C/C++にRust世代の知見が流入してくることに賭けて、待ってる勢はあるはず 自分はそう
それもあるけど、いまあるRustから前線で知見を得ようという勢もあるはず
それもあるけど、いまあるRustから前線で知見を得ようという勢もあるはず
419デフォルトの名無しさん
2023/11/16(木) 17:47:05.98ID:nV/QBQ73 >>417
C/C++もclangがいったん咀嚼してLLVMにしてる
Rustにトランスパイルするのは非現実的とまではいえないはず
うまくいけば、Linuxは一夜にしてpure Rustになる
Rust派の誰かがやるんじゃないかと思ってる
C/C++もclangがいったん咀嚼してLLVMにしてる
Rustにトランスパイルするのは非現実的とまではいえないはず
うまくいけば、Linuxは一夜にしてpure Rustになる
Rust派の誰かがやるんじゃないかと思ってる
420デフォルトの名無しさん
2023/11/16(木) 17:51:33.13ID:xS+g93Tz421デフォルトの名無しさん
2023/11/16(木) 17:55:14.82ID:GrubNHks 全てスタック変数で割り当てる
コピー時に適切なムーブをする
ヒープが必要なところはスマポを使う
これをちゃんとやればC++をrustに置き換えることは可能
しかしこれをやってるC++プロジェクトはない
コピー時に適切なムーブをする
ヒープが必要なところはスマポを使う
これをちゃんとやればC++をrustに置き換えることは可能
しかしこれをやってるC++プロジェクトはない
422デフォルトの名無しさん
2023/11/16(木) 17:56:48.64ID:GrubNHks >>420
そいつの意見を真面目に考えてて草
そいつの意見を真面目に考えてて草
423デフォルトの名無しさん
2023/11/16(木) 18:05:24.97ID:nV/QBQ73 ま、雑談だから
ストローマンは愚痴
一頃のC++はなんでもかんでもヒープに置きすぎだったよね
まあ、お膝元のスタックがそんなでかくない石・スレッドも少なくないけど
ストローマンは愚痴
一頃のC++はなんでもかんでもヒープに置きすぎだったよね
まあ、お膝元のスタックがそんなでかくない石・スレッドも少なくないけど
424デフォルトの名無しさん
2023/11/16(木) 18:12:37.43ID:C/58Cd2m425デフォルトの名無しさん
2023/11/16(木) 18:27:30.00ID:nV/QBQ73 c2rustの出力をあんまり手直しばっかりしなくていいように、
入力のCにアノテーションを加えていこう、みたいな動きは必ず出ると思うんだよね
良くも悪くもCはマクロ世界だから、当面関わってない人には影響ゼロなようにも書けるはず
そのアノテーションが、そのまま、safe C の礎になればいいんだよ
入力のCにアノテーションを加えていこう、みたいな動きは必ず出ると思うんだよね
良くも悪くもCはマクロ世界だから、当面関わってない人には影響ゼロなようにも書けるはず
そのアノテーションが、そのまま、safe C の礎になればいいんだよ
426デフォルトの名無しさん
2023/11/16(木) 18:28:02.28ID:jjq/yUIi ああ、ストローマンは自動コンバージョンに反応したのか
“的な”の意味が通じなかったんだな
“的な”の意味が通じなかったんだな
427デフォルトの名無しさん
2023/11/16(木) 18:39:53.99ID:RH2XyDS1 >>397
記事を読めてないバカを晒すスレはここですか?
記事を読めてないバカを晒すスレはここですか?
■ このスレッドは過去ログ倉庫に格納されています
