「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
269あぼーん
NGNGあぼーん
270デフォルトの名無しさん
2023/11/11(土) 12:33:28.67ID:8FSI241M >>269
サンキュー試してみる
サンキュー試してみる
271デフォルトの名無しさん
2023/11/11(土) 17:06:47.94ID:rVvrsmp3272デフォルトの名無しさん
2023/11/11(土) 17:17:53.08ID:rVvrsmp3 というか、型ごとにクラスであるか否かが決まるのか?
C++のclass C: public D {};はクラスだが、class C {};はクラスではないということになるのか?
動的型付け言語なら「値がクラスであるための条件」を定義することで何がクラスであるか定義する言語もあるが
(にしたって継承に依存しないだろうが)
静的型付け言語も含めた一般的な定義としては使えなさそうだ
C++のclass C: public D {};はクラスだが、class C {};はクラスではないということになるのか?
動的型付け言語なら「値がクラスであるための条件」を定義することで何がクラスであるか定義する言語もあるが
(にしたって継承に依存しないだろうが)
静的型付け言語も含めた一般的な定義としては使えなさそうだ
273デフォルトの名無しさん
2023/11/11(土) 17:56:27.75ID:8uzQmIun カプセル化などはクラス以外にも存在しクラスの固有機能ではない
クラスをクラスたらしめている要素は継承
Javaの生みの親が>>102で「Javaを作り直すとしたらクラスを除外したい」と発言した意図も、
その後に付加説明しているように「クラスを除外」とは「継承を除外」の意味としている
継承を使わないならクラスである必要はない
それがクラスごと除外した各モダン言語の意図だろう
クラスをクラスたらしめている要素は継承
Javaの生みの親が>>102で「Javaを作り直すとしたらクラスを除外したい」と発言した意図も、
その後に付加説明しているように「クラスを除外」とは「継承を除外」の意味としている
継承を使わないならクラスである必要はない
それがクラスごと除外した各モダン言語の意図だろう
274デフォルトの名無しさん
2023/11/11(土) 18:18:11.36ID:rtkZqGR9 >>269
友達にも教えてあげる
友達にも教えてあげる
275デフォルトの名無しさん
2023/11/11(土) 18:19:47.08ID:Mzt4UIrv 実装継承は菱形継承の問題もある
276デフォルトの名無しさん
2023/11/11(土) 18:28:45.74ID:mn5CSVOj 菱形は無理になくてもいい
…といいつつ、あとになって菱形になっちゃいましたもありうるんだろうしな
まあ積極的には使わん 人智を超えるw
…といいつつ、あとになって菱形になっちゃいましたもありうるんだろうしな
まあ積極的には使わん 人智を超えるw
277デフォルトの名無しさん
2023/11/11(土) 19:45:32.60ID:2HJkyP1v >>272
javascriptのprototypeに近いものをclassと思ってるんじゃないかな
javascriptのprototypeに近いものをclassと思ってるんじゃないかな
278デフォルトの名無しさん
2023/11/11(土) 20:07:27.33ID:Ig0qHM6i JavaScriptもC++と同じく実装継承だからアウトだろ
279デフォルトの名無しさん
2023/11/12(日) 00:15:34.52ID:EWqnRvOH >>268
Githubとかはまだ使ってるみたいだけど明らかに減ってきてる感あるね
Githubとかはまだ使ってるみたいだけど明らかに減ってきてる感あるね
280デフォルトの名無しさん
2023/11/12(日) 00:36:55.65ID:E93HrjVI >>267
ユーザー数と継承機能の有無は関係無いぞ
ユーザー数と継承機能の有無は関係無いぞ
281デフォルトの名無しさん
2023/11/12(日) 01:09:33.43ID:l8rhUXJt282デフォルトの名無しさん
2023/11/12(日) 01:59:57.74ID:daW7Mc+n エンジニアなら作ったもので勝負しろ
283デフォルトの名無しさん
2023/11/12(日) 02:41:28.74ID:E93HrjVI >>281
元になった言語があるかどうかじゃん。継承関係ねーじゃん。
元になった言語があるかどうかじゃん。継承関係ねーじゃん。
284デフォルトの名無しさん
2023/11/12(日) 04:42:06.75ID:yMP0yjCE >>281
全部ドマイナー
全部ドマイナー
285デフォルトの名無しさん
2023/11/12(日) 08:54:04.31ID:TrDrLjQN モダン言語=関数型ベースにボクの考えた似非オブジェクト指向追加するのが流行ってるだけって感じで終わってる
286デフォルトの名無しさん
2023/11/12(日) 09:00:27.54ID:EWqnRvOH とは言っても俺らより遥かに頭いい人が考えた結果だからな
287デフォルトの名無しさん
2023/11/12(日) 09:53:11.34ID:l8rhUXJt288デフォルトの名無しさん
2023/11/12(日) 09:57:24.71ID:l8rhUXJt289デフォルトの名無しさん
2023/11/12(日) 10:10:01.41ID:nDYms+cf ロゴがVAIOっぽくて草ァ
290デフォルトの名無しさん
2023/11/12(日) 10:24:30.80ID:l8rhUXJt 本家は英語のページがない
https://blueos.vivo.com/
https://blueos.vivo.com/
291デフォルトの名無しさん
2023/11/12(日) 11:24:34.62ID:yMP0yjCE292デフォルトの名無しさん
2023/11/12(日) 11:25:51.39ID:yMP0yjCE どうでもいいけど
ドマイナーってCmのことだね
ドマイナーってCmのことだね
293デフォルトの名無しさん
2023/11/12(日) 11:31:15.41ID:yMP0yjCE294デフォルトの名無しさん
2023/11/12(日) 11:32:56.85ID:CMeM7fMz 情熱的な曲ってCmベース多いよ
ドマイナーはドマイナーじゃない(豆
# そのギャグどっかで使おうっと
ドマイナーはドマイナーじゃない(豆
# そのギャグどっかで使おうっと
295デフォルトの名無しさん
2023/11/12(日) 11:34:44.94ID:CMeM7fMz 母数でかいし、まだまだ金回りいいしね cnをなめちゃだめだw
296デフォルトの名無しさん
2023/11/12(日) 11:39:24.18ID:l8rhUXJt297デフォルトの名無しさん
2023/11/12(日) 11:56:22.44ID:TjUPxwN+298デフォルトの名無しさん
2023/11/12(日) 12:50:23.87ID:gR0aPFqO Rustが浸透する可能性としてAIライブラリの充実がカギのような気がする。
ライブラリが充実すればマイコンへのAI実装が加速するかもしれないんじゃないかな?
ライブラリが充実すればマイコンへのAI実装が加速するかもしれないんじゃないかな?
299デフォルトの名無しさん
2023/11/12(日) 13:00:10.14ID:E93HrjVI300デフォルトの名無しさん
2023/11/12(日) 13:24:47.44ID:yMP0yjCE どうみても結果論で
Java に class も継承も無くて interface だけだったら
普及も糞も無かったはず
今の Rust より地位低かっただろう
Java に class も継承も無くて interface だけだったら
普及も糞も無かったはず
今の Rust より地位低かっただろう
301デフォルトの名無しさん
2023/11/12(日) 13:42:28.02ID:l8rhUXJt JavaはC++と文法を似せたことが初期でのユーザ獲得に効いたんだよ
ある程度ユーザ数を獲得したら
ユーザ数の多さがユーザ数の増加につながる
正のスパイラルが始まった
Rustはこの先生きのこれるかな?
ある程度ユーザ数を獲得したら
ユーザ数の多さがユーザ数の増加につながる
正のスパイラルが始まった
Rustはこの先生きのこれるかな?
302デフォルトの名無しさん
2023/11/12(日) 15:04:17.66ID:2kP6dQwH GoogleのC++スタイルガイドでも継承より合成が適切とあり
特に実装の多重継承は強く非推奨とある
C++には継承があるから積極的に使おうなんて話はない
特に実装の多重継承は強く非推奨とある
C++には継承があるから積極的に使おうなんて話はない
303デフォルトの名無しさん
2023/11/12(日) 15:10:39.48ID:BtB8NmKb インターフェースの多重実装は?
俺的にはアリだが
俺的にはアリだが
304デフォルトの名無しさん
2023/11/12(日) 15:12:06.22ID:FXO/G2ox アリというかそれは普通だろ
305デフォルトの名無しさん
2023/11/12(日) 17:22:10.37ID:fcqBe9ye たとえアンチでも、それは過去資産という位置づけでは
306デフォルトの名無しさん
2023/11/12(日) 19:58:58.70ID:UMFi1GHl307デフォルトの名無しさん
2023/11/12(日) 20:22:32.82ID:EWqnRvOH 合成とか言うのか昔(2000年代前半頃)C++勉強してた頃には合成とかいう言葉なかった気がする
308デフォルトの名無しさん
2023/11/12(日) 20:32:20.30ID:EyVQy8uj compositionでしょ?
309デフォルトの名無しさん
2023/11/12(日) 20:54:38.02ID:oa0+ZaPS composition over inheritanceの文脈で
compositionを合成と訳すのば明らかに誤訳
compositionを合成と訳すのば明らかに誤訳
310デフォルトの名無しさん
2023/11/12(日) 21:10:07.68ID:uw3vvLb2 チンポジション推奨はわかるがひたすらデリゲード書く羽目になるのはだるい
文法的にサポートすべき
文法的にサポートすべき
311デフォルトの名無しさん
2023/11/12(日) 22:58:36.87ID:OO+koJ2d >>307
継承が濫用されまくった反省から…っていう認識でいいのかな
継承とくらべてコンポジはフットプリントのコストがかかるけど(個人の感想です)、
そのくらいいいから、もっとわかりやすく書かないとって気運は確かに感じた
継承が濫用されまくった反省から…っていう認識でいいのかな
継承とくらべてコンポジはフットプリントのコストがかかるけど(個人の感想です)、
そのくらいいいから、もっとわかりやすく書かないとって気運は確かに感じた
312デフォルトの名無しさん
2023/11/12(日) 23:24:53.52ID:R2fa8NnH James Goslingがクラスを無くすという話で警鐘を鳴らしたかったのはimplementation inheritanceのマイナス面
クラスがなくてもGoやRustにもimplementation inheritanceは存在していてそのマイナス面も全部ではないが継承してる
大事なのはプラス面とマイナス面の両面を把握した上で適宜使い分けるということ
クラスがなくてもGoやRustにもimplementation inheritanceは存在していてそのマイナス面も全部ではないが継承してる
大事なのはプラス面とマイナス面の両面を把握した上で適宜使い分けるということ
313デフォルトの名無しさん
2023/11/12(日) 23:29:45.60ID:p1tJuVOt ちなみにRustは単純なクラス継承相当はないからコードの再利用がやりにくいという弱みがある
言語開発者もそれはかなり昔から認識してて機能追加をあれこれ検討してるが実現には至ってないためマクロを使ってコードを複製することが多い
言語開発者もそれはかなり昔から認識してて機能追加をあれこれ検討してるが実現には至ってないためマクロを使ってコードを複製することが多い
314デフォルトの名無しさん
2023/11/12(日) 23:33:34.84ID:kGZwhVgb そのためのクレートでは(エアプ
315デフォルトの名無しさん
2023/11/13(月) 00:43:02.47ID:AJp6/mRY オブシコの綻び
継承無くしてオブシコ厨の大好きだった動物犬猫ニンゲンはどう表現するんですか
継承無くしてオブシコ厨の大好きだった動物犬猫ニンゲンはどう表現するんですか
316デフォルトの名無しさん
2023/11/13(月) 01:10:29.96ID:uWfytJAu みんな違ってみんないい
ってか、おまえらが自分らと同じクラスなど、不遜にもほどがあるニャ
ってか、おまえらが自分らと同じクラスなど、不遜にもほどがあるニャ
317デフォルトの名無しさん
2023/11/13(月) 02:50:04.87ID:SmGbt3Rc トレイトって仕組みわりと便利だけどな
PHPでもこの仕組み取り入れられててわりと重宝する
PHPでもこの仕組み取り入れられててわりと重宝する
318デフォルトの名無しさん
2023/11/13(月) 07:32:53.84ID:tgErF0Wq 基本はアダプタパターンで、本来はインターフェイスに代入するときに自動で適合してくれるのがいいのよ。
継承はクラスの親子関係でやらなきゃいけないから依存が強すぎるし、合成も実装とインターフェイスが切り離せないから密結合しすぎる。
継承はクラスの親子関係でやらなきゃいけないから依存が強すぎるし、合成も実装とインターフェイスが切り離せないから密結合しすぎる。
319デフォルトの名無しさん
2023/11/13(月) 08:45:58.99ID:nbPiM1Pw リファクタリングするときに
Rustの「親切設計」が思考の邪魔をしてくる
どうにかならんか?
Rustの「親切設計」が思考の邪魔をしてくる
どうにかならんか?
320デフォルトの名無しさん
2023/11/13(月) 08:47:34.93ID:nbPiM1Pw >>298
小池AIなら要らないぞ
小池AIなら要らないぞ
321デフォルトの名無しさん
2023/11/13(月) 08:49:35.17ID:nbPiM1Pw322デフォルトの名無しさん
2023/11/13(月) 09:10:04.39ID:y0V48+mZ >>318
それがcomだな
それがcomだな
323デフォルトの名無しさん
2023/11/13(月) 11:10:08.61ID:mdWiRvuj >>319
どんなコード?
どんなコード?
324デフォルトの名無しさん
2023/11/13(月) 11:24:38.37ID:Ex26ICxs >>322
継承無しのcomで、インターフェイスはコンパイル時に検証する感じがいい。
継承無しのcomで、インターフェイスはコンパイル時に検証する感じがいい。
325デフォルトの名無しさん
2023/11/13(月) 18:01:25.01ID:QMjdC+SV 新たなゲームエンジン「Arete Engine」発表
https://automaton-media.com/articles/newsjp/20231113-271841/
Rustベースとのこと
対応言語として、C++, C#ほか
https://automaton-media.com/articles/newsjp/20231113-271841/
Rustベースとのこと
対応言語として、C++, C#ほか
326デフォルトの名無しさん
2023/11/13(月) 19:27:32.88ID:eizg6Llc なんか良さげじゃないか
これブレークしたらRust大発展場、ワンチャンありそう
これブレークしたらRust大発展場、ワンチャンありそう
327デフォルトの名無しさん
2023/11/13(月) 22:14:58.07ID:vy9Jjh7g 6.x以降サポートされてLinuxカーネルコンパイルできるんだね。知らんかった。
Cから置き換わるか?
まだ、メジャーバージョンアップはありそうな気がするが
Cから置き換わるか?
まだ、メジャーバージョンアップはありそうな気がするが
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万行だね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★6 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- ナイツ塙が指摘のローソンコーヒーカップ、ロゴ「L」で誤解生みデザイン変更へ 在庫使い切る3か月後にリニューアル [muffin★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 清涼飲料水から麻薬成分東京都が注意喚起 [おっさん友の会★]
- 生活保護廃止、公務員の給与に最低賃金を適用⇦これをやるだけで国民の9割の不満が解消されるのにやらない理由 [218488394]
- 【悲報】早速高市首相のせいで全国の民泊でキャンセルラッシュwwwwwwwwwwww 経営者も嘆き「こんな事は初めてだ…」😲 [871926377]
- 【動画】男女混合レスリングのガチ試合の様子がこちら [738130642]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 【日刊】暇空茜、また敗訴🥸 [359965264]
- 台湾政党が高市首相「存立危機事態」発言に感謝の書簡「我々の心を強く奮い立たせるものでした」 [834922174]
