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

■ このスレッドは過去ログ倉庫に格納されています
2023/08/31(木) 12:16:53.23ID:dCL063sE
C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」

っていう雑談スレ。

前スレ: 結局C++とRustってどっちが良いの? 6traits
http://mevius.5ch.net/test/read.cgi/tech/1690610746/

関連スレ(マ板): Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理ミス。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
2023/10/10(火) 09:36:58.44ID:EiwVEjcJ
>>781
読み込みはキャッシュを返して書き込みはオリジンサーバーへ送るというのは至極当たり前のことだと思うんだが何を問題視してるの?
2023/10/13(金) 02:26:55.97ID:p/8ps3Wy
今まで倒したラスボスが復活してきた
2023/10/13(金) 14:43:54.78ID:SKnf/8eA
「ベアメタル」環境でもRustを採用 Googleが「Android 14」での取り組みを解説
安全性と生産性の両面でC/C++よりも大幅に改善
https://forest.watch.impress.co.jp/docs/news/1538800.html
2023/10/13(金) 15:34:18.04ID:csQt26bs
「ベアメタル」って初めて聞いたぞ
また新たな造語(というか用語の借用)かな?
2023/10/13(金) 15:35:07.68ID:rGkD59dF
悲惨だな
2023/10/13(金) 15:42:30.75ID:/J5gxlvX
くっさ
2023/10/13(金) 16:08:23.39ID:SHBwjSJn
ベアメタルは10年どころじゃなく結構昔からある用語たよ
2023/10/13(金) 16:17:32.95ID:ecw+PvM/
金属熊が錆を採用
アカンがな
2023/10/13(金) 16:30:35.41ID:OQgjQxPp
bareでんがな
2023/10/13(金) 17:14:50.11ID:efprJohv
こんなアホがRust叩きしていたのか
2023/10/13(金) 17:21:16.01ID:rGkD59dF
馬鹿って自分が知ってることを知らない人がいるとめっちゃイキっちゃいんだよな
2023/10/13(金) 18:03:26.77ID:XDSKle+A
>>792
「メタルベアーがあらわれた」

その発想はなかった
2023/10/13(金) 19:58:06.90ID:XRtI83wm
>>787
そのRustで生産性が向上な点がいいよな
まわりでも採用理由がそれ
2023/10/13(金) 20:36:43.33ID:/dCAMAz5
その、生産性が向上するってのは直感に反するんよなあ

・言語が安全を担保してくれるから、そこんとこをコーダーは考えなくていい
・マクロまみれのCからの解脱
・C++はともかく、Cにはasyncとかない

あたり?
799デフォルトの名無しさん
垢版 |
2023/10/13(金) 20:59:51.40ID:csQt26bs
後半はRustの問題点もしっかり指摘してあるよ
unsafeで囲めば良いんだろうけどそれでは意味がない
2023/10/13(金) 21:08:40.09ID:p2gW+gfL
何にしても言えるのはc++を書き換えるならRustだけではなくC++の知識もいる
新規だけなら分かるがそうもいかない

今後数十年ずっとそのターンが続く
2023/10/13(金) 21:10:15.68ID:/dCAMAz5
対応してるチップが少ないのは、極端な話、Rust2Cみたいなトランスパイラができれば解決する
汗とおなじで、Cは直接かくからいけないんであって、機械が吐く分には問題がない
フットプリントも、おそらく、現状で220KBかそこらが倍になったくらいで…人間が比較研究できるレベル
出力を比較すれば、Rust側の最適化がもっと進むんじゃないか

unsafe{ } が存在することで、unsafe{ }をうまく極小化する気運が生まれる
これは裏山 C++にも欲しい
2023/10/13(金) 21:28:20.87ID:p2gW+gfL
今後Rustプログラマーに求められるのはc++のコードを読んでRustに書き換える能力
これが一番要求されると思う
2023/10/13(金) 22:30:46.91ID:EB28SOmZ
C++は使ったことがなくてC専門だったけどRust便利で使ってる
2023/10/14(土) 00:04:33.45ID:LiWYFiO+
ベアメタル知らないってマジ?
仕事したことないんだな
805デフォルトの名無しさん
垢版 |
2023/10/14(土) 00:32:43.08ID:up3P3K8x
>>804
知らんな
ICTとか使われ始めたときの違和感を感じた
検索すると>>787とも微妙に違う意味で使われているのが多少ヒットするね
2023/10/14(土) 00:42:42.15ID:+/hMSCLI
まあソース(ぐぐるの英文ページ)みたら、何をもってベアメタルって言ったかはわかる
2023/10/14(土) 01:41:50.44ID:1qwcOEeO
自作OS作ろうとしたことがあるならベアメタルって言葉は当然知ってる
というかその過程で覚える
まぁベアメタルって言葉知りませんってのは低レイヤーわかりませんって白状してるようなもんだわな

ただベアメタル環境の仕事なんてほぼない
いくら小規模な組み込みでもOSは使う
仕事したことないとかほざいてるやつこそ仕事なんかしてない
2023/10/14(土) 01:51:28.67ID:+/hMSCLI
「仕事したことある」ってのは、CもC++もRustも、汗でも、なんなら好きな石ならダンプでちったあ読めるレベル

そんなヤツばっかりじゃねえって
俺はRustできないからアウツww

いやまあ、なんで急にベアメタル(って単語)? とは思ったけど
2023/10/14(土) 02:06:48.87ID:SW/1sd3P
>>792
ベアメタルのベアはbear (熊)ではなくbare (裸の)だよ
記事の原文はこのGoogleセキュリティブログね

Bare-metal Rust in Android
https://security.googleblog.com/2023/10/bare-metal-rust-in-android.html
810デフォルトの名無しさん
垢版 |
2023/10/14(土) 02:10:46.65ID:up3P3K8x
>>807
kernel2.1くらいから追ってるけど使わないなぁ
最近は確かにご無沙汰だけども
2023/10/14(土) 02:58:36.29ID:LiWYFiO+
🐻
812デフォルトの名無しさん
垢版 |
2023/10/14(土) 03:57:16.89ID:1qwcOEeO
https://i.imgur.com/zAFg8dl.png
2023/10/14(土) 09:14:34.24ID:OJsAV5J3
>>807
小規模な組み込みでOSを使わない仕事はまだあるよ
PICとかまだ使ってるとこもあるだろうし
自分はSTM32で最近OSなしの仕事をやった
2023/10/14(土) 11:51:13.93ID:PfTUf5qg
Javaもpythonと比べたら十分早い
ただcはjavaよりさらに10倍速いからなぁ…
815デフォルトの名無しさん
垢版 |
2023/10/14(土) 12:25:49.95ID:x03gZ5vc
C++と比べるのが間違ってる
template使いまくりのC++からRustに描き替えるのは至難の業
CとRust比べたりCからRustに移行しようって話ならまあ判る
C++からRustに乗り換え煽ってる香具師はただの無知馬鹿
816デフォルトの名無しさん
垢版 |
2023/10/14(土) 12:31:10.29ID:x03gZ5vc
>>801 みたいに
前半はCで話してるのに
最後の結論はC++の話になってる
こういうのが一番誤解の元
817デフォルトの名無しさん
垢版 |
2023/10/14(土) 12:38:39.71ID:up3P3K8x
横スレだけども段落分けてるから良いのでは?
C++はRustと違ってCを丸呑みしたから別言語って感じとはちょっと違う
818デフォルトの名無しさん
垢版 |
2023/10/14(土) 14:08:56.90ID:AN8oWevu
>>808
>いやまあ、なんで急にベアメタル(って単語)? とは思ったけど

>787 の記事に書いてるからだろ。
レスの流れ読まないで脊髄反射するタイプか?
2023/10/14(土) 14:40:04.14ID:1qwcOEeO
>>813
ないない
仕事ならpicだろうが普通にベンダーの指定する開発環境使ってるだろ
Toolchainがそろっててランタイムは用意されてる
OSと呼んでないだけ
仕事でそこを自作する意味がない
2023/10/14(土) 14:52:44.68ID:OJsAV5J3
>>819
ランタイムをOSというのですか?
組み込みでOSといったらRTOSだと思いますが
ArduinoとかもOSとか言い張ります?
2023/10/14(土) 15:15:43.92ID:OJsAV5J3
今時の開発環境は初期化や各ペリフェラル用のライブラリも用意されてはいますが割り込み処理とかは自分で全部実装する必要があります
RTOSにあるタスク制御用の機能も用意されてません
OSとよぶのは無理があります
2023/10/14(土) 15:18:56.63ID:Mj0MR0Y1
まーた実務経験無いオジの言い訳スレになってるw
823デフォルトの名無しさん
垢版 |
2023/10/14(土) 15:51:22.06ID:2zOW9g7d
ITRONが出てこない組み込みスレ
まるでアベノミクス
824デフォルトの名無しさん
垢版 |
2023/10/14(土) 15:51:34.07ID:2zOW9g7d
ITRONが出てこない組み込みスレ
まるでアベノミクス
2023/10/14(土) 15:53:53.81ID:rhYFx/Vj
>>820
OSかどうかの話はしてない
ベアメタルか否か
826デフォルトの名無しさん
垢版 |
2023/10/14(土) 16:02:00.82ID:Nq1/ZdDg
Kotlinしかだめ
Kotlinしか使うな
827デフォルトの名無しさん
垢版 |
2023/10/14(土) 16:17:52.08ID:up3P3K8x
Wikipediaの初出を見ると日本語で2017年
英語で2011年くらい
https://ja.wikipedia.org/w/index.php?title=%E3%83%99%E3%82%A2%E3%83%A1%E3%82%BF%E3%83%AB&action=history
https://en.wikipedia.org/w/index.php?title=Bare_machine&action=history&dir=prev
俺は新しい用語だと感じるが新しいと感じない人もいるかな?
2023/10/14(土) 16:38:21.00ID:rhYFx/Vj
まぁマイコンでベアメタルとどやるやつはいないだろな
単純すぎる
プロテクションやページングとかまでやらないと面白くならない
2023/10/14(土) 16:47:52.58ID:lkFW8Ijv
>>825
裏でOSが走ってなきゃベアメタルでいいんじゃね?
830デフォルトの名無しさん
垢版 |
2023/10/14(土) 16:54:50.86ID:x03gZ5vc
ベアメタルは20世紀から使われてる業界用語だ
831デフォルトの名無しさん
垢版 |
2023/10/14(土) 16:58:16.19ID:x03gZ5vc
「Widipediaに描かれてないからそれ以前は使われてない(キリっ)」とか無知過ぎる
2023/10/14(土) 17:07:45.75ID:mlytxooF
>>827
そんなに新しくない
1991年出版のThe Hacker’s Jargon Fileには既に掲載されてる
もっと古い版でも載ってるかもしれないが少なくとも2000年代前半には聞けば意味がわかる程度には浸透してた
833デフォルトの名無しさん
垢版 |
2023/10/14(土) 17:17:04.27ID:KjHwkSYg
速度が重要なVMやメモリ管理系はC++で書いて他はRustで書くことにした
2023/10/14(土) 17:17:09.25ID:1igk1Jd+
>>829
ベアメタルってのはようするにブラックボックスを排除して全部自分でハードを叩いてみるというスタイル
OSを自分で書くならそれはベアメタル
2023/10/14(土) 17:57:33.14ID:lkFW8Ijv
>>834
ハード叩いてないライブラリならOKってルールなの?
2023/10/14(土) 17:58:17.56ID:oq+4WFJq
>>831
Wikipediaで取り上げられるほどには
使われていなかったとは言えるね
2023/10/14(土) 18:01:14.19ID:VHbVocpf
しょーもない話だな
ウルトラマンがシリーズ化して最初のウルトラマンを初代ウルトラマンと呼んでるのと変わらない
2023/10/14(土) 18:19:42.28ID:1qwcOEeO
>>835
厳密な定義あると思うか?
CPUのマニュアルとか見ながら1から作っていハードを全部理解したわぁって気になるのが面白さなわけ
どこまで拘るかは好きにしろや
2023/10/14(土) 18:22:28.75ID:lkFW8Ijv
>>838
じゃあ裏でOS走ってなきゃOKじゃんw
840デフォルトの名無しさん
垢版 |
2023/10/14(土) 18:59:27.73ID:jN/3kcJQ
CDN知らないとかベアメタル知らないとか世の中いろんな人がいるわな。
知らなきゃこれを機に勉強すれば良いだけ。
841デフォルトの名無しさん
垢版 |
2023/10/14(土) 19:17:54.67ID:up3P3K8x
>>840
珍妙な名前で呼び出したなって思うだけで
中身は昔から馴染みあるよ
842デフォルトの名無しさん
垢版 |
2023/10/14(土) 19:21:31.37ID:up3P3K8x
「ICT」も突然使い出して
まぁ意味は分かるけど自身では未だに使わないし
最近だと「生成AI」も気持ち悪い
2023/10/14(土) 19:52:01.05ID:1qwcOEeO
>>839
文盲だなお前は
OSが裏で走ってるかどうかじゃない
loaderやstartupがありもの使ってたらベアメタルとは言えないだろ
そういう的外れなことを堂々と言ってくるのはどうせユーザーランドでわちゃわちゃするプログラミングしか経験ないんだろ
しったかすんな
2023/10/14(土) 20:08:13.45ID:VHbVocpf
>>842
ITだと英語のitと紛らわしいから使い分けてるだけなの
生成AIは英語を訳しただけなの
2023/10/14(土) 20:09:37.06ID:VHbVocpf
>>843
文盲とは文字などを知らず読めない人のことで意味が取れない人じゃない
使うと恥ずかしいレベルなので得意になって使うと馬鹿がバレる

と言うかお前もう馬鹿をさらした
2023/10/14(土) 20:12:16.59ID:sFltIz1c
rustをやることでc++の勉強にもなってる
2023/10/14(土) 20:14:44.81ID:VHbVocpf
プログラムしてるだけの馬鹿

増えてきましたね
848デフォルトの名無しさん
垢版 |
2023/10/14(土) 20:16:35.26ID:7vC8BExG
gradleしか勝たん
2023/10/14(土) 22:04:47.29ID:WAxI+T9w
>>844
ICTは通信会社が頑張って流行らせた略語
itと紛らわしいから使われるようになったなんてのは真っ赤な嘘
ITではなくICTを使うのは官公庁・教育・通信セグメント及びそれらに媚びへつらう必要のある業界のみ
2023/10/14(土) 23:59:30.70ID:lkFW8Ijv
>>843
お前が思ってるベアメタルの定義が知りたいだけなんだけど
なんでそんなに興奮するの?
851デフォルトの名無しさん
垢版 |
2023/10/15(日) 00:44:28.11ID:nxXe1h39
>>843
もう構うな。
ベアメタル初めて聞いた( >>788 )とか言うようなやつだぞ。

>>827 で無知を晒して
>>831 、832 で返されて、

ミドル・アプリレイヤーしか触ったことない奴だよ。
その後も >>845 で必死に話題変えて誤魔化してる可哀想な奴だよ。

おそらく今度はそれらのレスは俺じゃないとか言って、誰も証明できないどうでもいいことで誤魔化そうとするんじゃねーのかな。
これ以上構うのは時間の無駄だよ。
852デフォルトの名無しさん
垢版 |
2023/10/15(日) 00:45:00.45ID:nxXe1h39
>>843
もう構うな。
ベアメタル初めて聞いた( >>788 )とか言うようなやつだぞ。

>>827 で無知を晒して
831 、832 で返されて、

ミドル・アプリレイヤーしか触ったことない奴だよ。
その後も >>845 で必死に話題変えて誤魔化してる可哀想な奴だよ。

おそらく今度はそれらのレスは俺じゃないとか言って、誰も証明できないどうでもいいことで誤魔化そうとするんじゃねーのかな。
これ以上構うのは時間の無駄だよ。
2023/10/15(日) 00:47:44.48ID:HpP3d9Ly
GCをRustで実装しようかと思ったらいきなりハマった
やはりポインタ書き換えまくる処理には向いてないんかな
2023/10/15(日) 02:09:15.16ID:jNCstmUG
TiobeランキングでRustは9月の17位から10月には20位に戻った。
2023/10/15(日) 05:33:15.17ID:2RtZyNYP
>>853
まずは既存のgcクレートなどを見てみたら?
2023/10/15(日) 10:38:16.98ID:tU7p0HuK
>>852
急にどうしたの?
なんでみんな同一人物だと妄想しちゃうの?
857デフォルトの名無しさん
垢版 |
2023/10/15(日) 11:41:55.70ID:S1qRngxA
>>852
一緒にするな
以前も俺を他人といっしょくたにしてくれてたがw
思い込み強い方だと思うよ
858デフォルトの名無しさん
垢版 |
2023/10/15(日) 12:31:35.13ID:MbTcJx+r
同レベルのレスを一緒くたに扱っただけで大差なさそうではある
859デフォルトの名無しさん
垢版 |
2023/10/15(日) 12:34:15.68ID:S1qRngxA
統合失調症の傾向があるんだと思うよ
日常でも思い当たることがあるんじゃないかな?
2023/10/15(日) 13:35:29.35ID:oOvBEg/r
>>845
文盲って本来は非識字の意味だけじゃないんだよ
英語のilliterateとほぼ同じで「無学でものを知らない/教養がない/本質をわきまえない」というような意味もあって昭和の古い辞書とかにはその意味も掲載されてる
それが差別用語だのなんだので広く使われない言葉になって本来の意味が多くの辞書には載らなくなっただけ

ただ5chではその本来の意味を把握してるというよりも辞書的意味とは違うと認識しつつ「おまえ文字の読み書きもできないのかよ」くらいの煽り文句として使ってる人が大半
まあガイシュツみたいな扱いだね

ということで>>845みたいなツッコミは逆に恥をかくのでやめたほうがいいよ
2023/10/15(日) 13:36:56.74ID:oOvBEg/r
それと文盲を非識字の意味で使う場合でも読みだけじゃなく書く能力も含まれてるから注意しようね
2023/10/15(日) 14:00:38.64ID:VomVWNRK
>>860
それは違うんじゃない?
ガイシュツはネタとして認識されてる

誤用してることを知らないで誤用してるんだからさ?つまり馬鹿と言う線は超えてない
2023/10/15(日) 14:05:27.20ID:VomVWNRK
どこか狭いコミュニティで誤用されて使われてる言葉を一般人が間違えていると指摘すると
お前の方が馬鹿だと言うのは常識的におかしい
どういう人生を送って来たのか?

狭いコミュニティでしか通用しない間違った言葉使いを一般人が知らないのは当然
指摘された側が間違った使い方をしていると知らず、指摘されて初めてそれが誤用だと知ったんだろうけどまあ頭悪いね
2023/10/15(日) 14:15:06.06ID:0qrY+8Ri
文盲で揚げ足取ろうとしてる時点で負け犬
2023/10/15(日) 14:22:36.31ID:VomVWNRK
> 「おまえ文字の読み書きもできないのかよ」くらいの煽り文句
自分で書いてるこの定義すら逸脱した使い方
というかこの説明がまちがってるだろ
自信たっぷりに書いてコレ
2023/10/15(日) 14:30:44.06ID:S1qRngxA
「文盲」論争で思い出しだが最近「リテラシー」を
「倫理規範」くらいの意味で用いてる輩もやたら多くなった
2023/10/15(日) 14:34:48.66ID:VomVWNRK
文盲
逆張り
王道
2023/10/15(日) 14:53:29.19ID:+NMvV4uk
争え……もっと争え……
2023/10/15(日) 15:11:48.92ID:c88qFvIM
真正の文盲ちゃんで草ww
2023/10/15(日) 16:21:51.53ID:eF/s90Au
>>866
例えばインターネットリテラシーという言葉に
インターネットを使うために必要な倫理規範やセキュリティ意識などもリテラシーの一部として含んでいたとしても特段おかしくはない
文脈次第
871デフォルトの名無しさん
垢版 |
2023/10/15(日) 16:39:13.45ID:S1qRngxA
>>870
わざわざボケてくれて有難うw
2023/10/15(日) 17:01:27.91ID:0RP0JV9q
課金ってほんとはおかしい、みたいな

架金、みたいな感じで言うよね
そんな言葉ないけど
873デフォルトの名無しさん
垢版 |
2023/10/15(日) 18:22:42.18ID:WKE8aOa0
おまえらいくら5chだからと言って一線を超えているんじゃないか?
ネットだから匿名とか勘違いも甚だしい、
マジ取り返しのつかないことになるよ?
2023/10/15(日) 19:37:38.22ID:wZAYm65l
>>855
とりあえずいくつか見たんだけどひげぽんのこれが1番わかりやすかった
https://github.com/higepon/mosh/blob/master/rmosh/src/gc.rs

しかし世代別GCやコピーGCみたいにアドレスが変わるようなものだとこの実装は無理なんだよね
やはりオブジェクト参照にもう1つ間接参照を挟んでインデックスでデータを持つようにしなきゃダメかなあ
2023/10/15(日) 23:51:26.45ID:kCrxTQBL
>>113
mapぐらい自作しろよ……ってのがC
俺もわざわざ書いた
2023/10/16(月) 00:47:06.48ID:M+xIYepE
ややもすると、mapぐらい…に時間溶かしちまうんだなあ

で、オブジェクトのやりとりでメモリバグ出してまた時間が溶ける
これだからCは

はよC/C++にもunsafe{ } こい
877デフォルトの名無しさん
垢版 |
2023/10/16(月) 10:26:06.97ID:kgcCjrnK
>>833
>速度が重要なVMやメモリ管理系はC++で書いて他はRustで書くことにした

逆だろ
速度が重要なVMやメモリ管理系はRustで書いて他はC++以外で書くことにした
C++の出番は無いよ
878デフォルトの名無しさん
垢版 |
2023/10/16(月) 10:31:34.02ID:kgcCjrnK
>>845
じゃあ池沼って自白してる訳?
879デフォルトの名無しさん
垢版 |
2023/10/16(月) 12:00:24.66ID:kgcCjrnK
>>113
tcl/tk から流用出来る
なんなら cpython でも良い
2023/10/16(月) 16:51:26.30ID:ljfW0hVQ
さっきみたら、Linux板の本日の投稿数は 6 だって。
板のサーバーの何かのファイルが紛失していてが
投稿出来ない様になっているようだが。
2023/10/16(月) 16:51:37.58ID:ljfW0hVQ
さっきみたら、Linux板の本日の投稿数は 6 だって。
板のサーバーの何かのファイルが紛失していてが
投稿出来ない様になっているようだが。
882デフォルトの名無しさん
垢版 |
2023/10/16(月) 20:28:36.96ID:XYN/RYqW
>>113
http://tech.voyagegroup.com/archives/6819729.html
2023/10/16(月) 22:29:58.91ID:MXkJIU8L
>>113
khashを使ってる
多分現時点で一番速いMapライブラリ
何とヘッダファイルだけで使える
gitやmrubyでも使われてるからお墨付き
2023/10/16(月) 23:46:10.65ID:kMVjuNDZ
>>113
msgpack
2023/10/17(火) 13:26:18.74ID:ZxIrQntk
C++できる人にRust教えた
C++教えてもらおうとしたら「は?なんで?」って拒否された
「は?なんで?」
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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