Rustに合わせて設計から見直さないとメリットを活かせないようですがそこまでする意味があるのかどうかですかね
組み込みに向いてないのねん!!!!!!!、
コンパイラが裏でやってくれるような事(実行モジュールやら変数の初期値やらをストレージからRAMにロードするとか)も自前でやる必要がある(ハードの構成に応じカスタム出来ないと困る)のでRustは高級過ぎる。
CはRustと違って、hello worldコンパイルして生成されるバイナリサイズが30MBとかにならないからでは?
色々理屈は捏ねるが結局は怠惰さとそれに結び付いた病的な保守性が原因じゃないの。あの業界はまったく信用できないね
ArduinoでLチカぐらいしたことしかないからよく分からん。昔、ソシャゲのギルメンで院卒して組み込み系就職した人いたけど、部長から一人前になるのに5年待つとか言われたとか
こうやって改めて比較するとC言語すごいな。誕生から何十年なのに。アセンブラのような存在として生きながらえそうね。昔PSの開発でmalloc使って苦労してる勇気あるプログラマがいたのを思い出した。結局使うのやめた。
過去からの互換性が重要になるから……。極端なことを言えば、既存のソフトを全く新しく同じに書き直しても、それだけなら無価値。機能強化等しても、既存のものの低コストに見合うことはあまりない。
かなりAI記事ぽさがあるな
ISOやIECの問題は安全性が開発初期段階から、下部の組織から上部の承認までずっと求められる要素なので、ここをクリアするとなると結構なハードルではあるんだよなぁ。
ITが情報技術なのに、その後ろに技術をつけるのが気に入らない。
今問題なく動いているCのコードを書き替えて事故が起きたらどうするんだ?事故が起きない保証はできるか?お前のコードにバグがなくてもバイトコードが変わるだけで挙動が変わり事故になるかもしれない。と言われた
色々理屈は捏ねるが結局Rustは組み込みでは解決されている問題を、ずっと言われながら怠惰だか病的だかで改善できないので必要だったものという認識。安全性を重視する業界から見るとあの業界はまったく信用できない
その業界はそこに挙がってる各ツールの他、MW社やV社等々が下地整えつつ、誰が何を保証するのか決まってないと量産は厳しいよね~。あとROMも小さければ小さいほど製品価格も下げられる正義。
組み込みでもLinuxが動くような環境なら別だろうけど、マイコンに近いレベルの環境や車載系はなかなか難しそうだなってイメージは分かる。
米国CISAは今年1月改訂の"Product Security Bad Practices"の中で、OTや組込み機器を含めて新規ではC/C++を使うべきではない、既存製品に対してはメモリ安全脆弱性を排除するロードマップを2025年末までに公開すべきと言ってる
へー組み込みってCつこてるんか。Javaやとばかり思ってたわ
CやC++前提のエコシステムや制度に組み入れる、あるいはRustのエコシステムに移行するのが難しい、と。
はてブがヒドすぎる。低レイヤも言語処理系もかすったことすらなさそうな連中が受け売りの知識だけでイキったコメントに星がつくとか,どんな底辺集落だよ。
モダン言語の便利機能は高級CPUとOSが前提なので組み込みでは使えないケースが多い。C/C++ですらmallocや例外処理はCPUがサポートしてないので使えなかったりする。極端な話テレビのリモコンをLinuxで動かしてどうすると
組み込みでわざわざRust使うメリットが見えない……けど今後は変わっていくんだろか。勉強しなきゃな
そりゃそうっすねという話だった
6.7.が致命的では。
組み込み系も多岐に渡るけど、動的なメモリー/リソースマネジメントを行わない傾向にあるからRustはソリューションになり難いかと。CのシンプルさとHWとの親和性は手堅いよ。
さらにいうなら、Rustが対応してるのはLLVMターゲット全部じゃなくて、そのごくサブセットにすぎないからね。流行る流行らない以前の問題
言語の移行って、どれであっても時間がかかると思うのだが / AIっぽい記事だな
自動車などは例外として比較的小規模のプログラムが多く見通しの良い言語が好まれるのと、専用にカスタムされたコンパイラやライブラリを用意することもよくあるので言語処理系自体もシンプルであることが求められる
rustは全く知らないのですがほぼICやAVR、8051みたいなマイクロコントローラ(マイクロプロセッサではない)に対応するとしたらどのようになるのでしょう。関数呼ぶのですら憚られる様なスペックですけど。
はてぶ名物の、分野の知識がない人の思い込みに基づく間違いコメントばかり並んでいますよ。Rustはbare metalな環境(no_std)もターゲットにしています。 no_stdはOSもmallocも利用できない、まさに組み込みがターゲットですよ。
UIがリッチである必要があるが安全性がそこまで重要ではない分野(ソフトがクラッシュしても人が死なない分野)だとAndroidが採用されてたりしてKotlinでアプリを書いたりするので、Rustが入らないんですよね
コンパイラ書き直さなきゃならないからでしょ
後で
Rustの採用がメリットばかりならlinuxカーネルであれだけ揉めることもないでしょと思う
むずかしいことはよくわかんないにゃ!でも、C言語さん、がんばってるにゃ!
一番の理由は、皆がRustを使えるほど賢くないってこと。RustはMISRA-Cみたいなクソルールを強制されないのでとてもいいです。どう書けばどれくらいメモリ使うかがいまいちわかりづらいのはちょっと課題。C++使うならRust
4と5が支配的で各マイコン(not CPUアーキテクチャ)に対応したビルド環境がないんで移行も何も無い。5大マイコンメーカーあたりが周辺回路にまで対応した奴を出して初めて始まる議論。組込みは周辺回路が動いてナンボ
1~7まで具体的な事例や合理的な理由を述べているのに「 色々理屈は捏ねるが~まったく信用できないね」でまとめられる作者かわいそ過ぎる
Rustはアロケータ無しで使うことができるように設計されているしベアメタルでもCの代替となり得る部分はある。実際RP2040とかではかなり使える/がこの記事の内容自体はおおよそ正しいと思う。AIっぽいけど。
まあ C++ ですら主流ではないのに Rust とはならないよなぁとは
言語自体の習得のハードルが高いという話がなかった(C++と比べれば一長一短だけどCと比べればまあCのほうが圧倒的に学びやすいですよね)
https://support.google.com/phoneapp/thread/332825459?hl=en&sjid=6271534824745473762-NC
https://support.google.com/phoneapp/thread/332833253?hl=en&sjid=1244515745310725742-NC
色々な物がC言語かアセンブラを前提にしていて一企業のソフト屋がRust覚えればいいだけですむ話ではない。海外含めて色々なメーカーが足並揃えて採用とかサポートとかにならないと入り込む余地が無さげ
私はRustに興味があり独習しています。 組込みが主の業務ですが、くだらない不具合に悩まされ無い言語かと感じています。 堅牢性の確保にコストを余り掛けなくて良いような気がします
この記事 Deep Research が書いたやつだろ
組み込みはソフトというより製造業の一部だもんねえ。ソフトウェアで完結できる分野より変更を納得してもらわなきゃいけない人達が多いし資産も歴史も深い、言語仕様が適するかよりも難易度が高い。
学習コストと人員確保の楽さじゃないすかね(´-`)知らんけど
それはそう
IAR EWARMが対応してくれたら考える。ターゲット環境でまともに使えるデバッガがない環境で開発する気にならない。printfデバッグとかしたくない。
“組み込み”って幅広いので(Windowsを使ってるプリクラだって組み込みの一種)、C言語ばかりではないと思うけど、ハードのスペックが限定的ならC言語以外の選択肢はあまりないだろうなあ。
C++で自分の足を撃った人以外はめんどくさいだけで、あんまりありがたみを感じないよね。
“Rustの公式コンパイラ(rustc)はオープンソースであり、これらの規格への適合が保証されていないため、機能安全が必須の分野では採用が難しい”/これがなんとかなれば…
少し前まで車載やってたけど、RustがCにとってかわらないのは4〜7が主要因だと思う。マイコンやデバッカがRustに対応してないと話にならないし、ISO26262対応のRustのコンパイラがないんじゃそもそも採用できない。
ベターCとしてRustは有望か?所有権の可視化は将来的にIDEの支援で可能?
“MISRA-CやCERT-Cが普及している”ここら書いてくるのが、さすが車載エンジニア。とは置いておいて、尋常ない金額払ってやってるから、一時お金頂いた身としては頭上がりません。
4567が主要因だろうね。既にArmやこれからRISC-Vが通る道だけど、共通のマイコンプラットフォーム、開発環境、その他エコシステムができないと安全性が求められるターゲットをRustで開発するのは難しい
自動車業界の業界標準が厳しいのはわかるんだけど、各社の自動運転プログラムって何で書かれてるんだろ。まさかC使ってるとは思えんのだが。
Zigとの棲み分けの部分なのかなー
オーディオプラグインのDSP界隈でもだいたい似たような感じ(メモリ確保/静的リンク/C++資産ばかり)なのでわかりみが深い。/ ベアメタル云々で難癖つけてる連中はstd「相当」の資産がなくてもできると思ってるだろ
組み込み系やってくれるRustエンジニアって多分ほとんど居ないのでは……。
現場によっちゃC言語すら流行っていない。ラダーシーケンスが主流
"当面はC言語が主流であり続けますが"の当面は思ったより短いとは思う。Ferroceneの登場やこの辺読んでピンとこないなら流石に感度低い<https://indico.esa.int/event/528/attachments/5988/10197/Bringing_Rust_to_Safety_Critical_Systems_in_Space.pdf>
goと勘違いしてる(あるいは区別ついてない)奴がようけおるなここのブコメ
既存のプログラムをCからRustに置き換えようとするとDRBFMが大変すぎて死人が出ます。
まだ時期尚早では
MISRA-Cに準拠してる組み込みの現場なんてもう淘汰されるべきだろう。CERT-CやAUTOSARならわからんでもないが。組み込みRustで論点に挙げるべき点は、no_stdが吐き出すバイナリが過去の実績・基準に沿っているかじゃないかな。
組み込み業界といっても情報系システムもあるわけで、そういう分野ならRustという解もありそう。既存資産の対応は諦めて、新規はRustと行きたいが、これも厳しそうだなあ。
トヨタ/WovenのAreneってどうなったんだろ?
クリティカルな分野にはまだまだ尚早でしょ
新規開発はともかく派生流用開発で [Rust導入コスト]<[Cを使い続けるコスト] になるには相当の環境整備が必要。/せめて新規案件向けにArduinoのような試作キットでRustが使えるようになると良いんだけど。pi pico+Rust流行れ
IT技術解説③:なぜ、組み込み業界ではRustが流行らず、未だC言語が主流なのか?
Rustに合わせて設計から見直さないとメリットを活かせないようですがそこまでする意味があるのかどうかですかね
組み込みに向いてないのねん!!!!!!!、
コンパイラが裏でやってくれるような事(実行モジュールやら変数の初期値やらをストレージからRAMにロードするとか)も自前でやる必要がある(ハードの構成に応じカスタム出来ないと困る)のでRustは高級過ぎる。
CはRustと違って、hello worldコンパイルして生成されるバイナリサイズが30MBとかにならないからでは?
色々理屈は捏ねるが結局は怠惰さとそれに結び付いた病的な保守性が原因じゃないの。あの業界はまったく信用できないね
ArduinoでLチカぐらいしたことしかないからよく分からん。昔、ソシャゲのギルメンで院卒して組み込み系就職した人いたけど、部長から一人前になるのに5年待つとか言われたとか
こうやって改めて比較するとC言語すごいな。誕生から何十年なのに。アセンブラのような存在として生きながらえそうね。昔PSの開発でmalloc使って苦労してる勇気あるプログラマがいたのを思い出した。結局使うのやめた。
過去からの互換性が重要になるから……。極端なことを言えば、既存のソフトを全く新しく同じに書き直しても、それだけなら無価値。機能強化等しても、既存のものの低コストに見合うことはあまりない。
かなりAI記事ぽさがあるな
ISOやIECの問題は安全性が開発初期段階から、下部の組織から上部の承認までずっと求められる要素なので、ここをクリアするとなると結構なハードルではあるんだよなぁ。
ITが情報技術なのに、その後ろに技術をつけるのが気に入らない。
今問題なく動いているCのコードを書き替えて事故が起きたらどうするんだ?事故が起きない保証はできるか?お前のコードにバグがなくてもバイトコードが変わるだけで挙動が変わり事故になるかもしれない。と言われた
色々理屈は捏ねるが結局Rustは組み込みでは解決されている問題を、ずっと言われながら怠惰だか病的だかで改善できないので必要だったものという認識。安全性を重視する業界から見るとあの業界はまったく信用できない
その業界はそこに挙がってる各ツールの他、MW社やV社等々が下地整えつつ、誰が何を保証するのか決まってないと量産は厳しいよね~。あとROMも小さければ小さいほど製品価格も下げられる正義。
組み込みでもLinuxが動くような環境なら別だろうけど、マイコンに近いレベルの環境や車載系はなかなか難しそうだなってイメージは分かる。
米国CISAは今年1月改訂の"Product Security Bad Practices"の中で、OTや組込み機器を含めて新規ではC/C++を使うべきではない、既存製品に対してはメモリ安全脆弱性を排除するロードマップを2025年末までに公開すべきと言ってる
へー組み込みってCつこてるんか。Javaやとばかり思ってたわ
CやC++前提のエコシステムや制度に組み入れる、あるいはRustのエコシステムに移行するのが難しい、と。
はてブがヒドすぎる。低レイヤも言語処理系もかすったことすらなさそうな連中が受け売りの知識だけでイキったコメントに星がつくとか,どんな底辺集落だよ。
モダン言語の便利機能は高級CPUとOSが前提なので組み込みでは使えないケースが多い。C/C++ですらmallocや例外処理はCPUがサポートしてないので使えなかったりする。極端な話テレビのリモコンをLinuxで動かしてどうすると
組み込みでわざわざRust使うメリットが見えない……けど今後は変わっていくんだろか。勉強しなきゃな
そりゃそうっすねという話だった
6.7.が致命的では。
組み込み系も多岐に渡るけど、動的なメモリー/リソースマネジメントを行わない傾向にあるからRustはソリューションになり難いかと。CのシンプルさとHWとの親和性は手堅いよ。
さらにいうなら、Rustが対応してるのはLLVMターゲット全部じゃなくて、そのごくサブセットにすぎないからね。流行る流行らない以前の問題
言語の移行って、どれであっても時間がかかると思うのだが / AIっぽい記事だな
自動車などは例外として比較的小規模のプログラムが多く見通しの良い言語が好まれるのと、専用にカスタムされたコンパイラやライブラリを用意することもよくあるので言語処理系自体もシンプルであることが求められる
rustは全く知らないのですがほぼICやAVR、8051みたいなマイクロコントローラ(マイクロプロセッサではない)に対応するとしたらどのようになるのでしょう。関数呼ぶのですら憚られる様なスペックですけど。
はてぶ名物の、分野の知識がない人の思い込みに基づく間違いコメントばかり並んでいますよ。Rustはbare metalな環境(no_std)もターゲットにしています。 no_stdはOSもmallocも利用できない、まさに組み込みがターゲットですよ。
UIがリッチである必要があるが安全性がそこまで重要ではない分野(ソフトがクラッシュしても人が死なない分野)だとAndroidが採用されてたりしてKotlinでアプリを書いたりするので、Rustが入らないんですよね
コンパイラ書き直さなきゃならないからでしょ
後で
Rustの採用がメリットばかりならlinuxカーネルであれだけ揉めることもないでしょと思う
むずかしいことはよくわかんないにゃ!でも、C言語さん、がんばってるにゃ!
一番の理由は、皆がRustを使えるほど賢くないってこと。RustはMISRA-Cみたいなクソルールを強制されないのでとてもいいです。どう書けばどれくらいメモリ使うかがいまいちわかりづらいのはちょっと課題。C++使うならRust
4と5が支配的で各マイコン(not CPUアーキテクチャ)に対応したビルド環境がないんで移行も何も無い。5大マイコンメーカーあたりが周辺回路にまで対応した奴を出して初めて始まる議論。組込みは周辺回路が動いてナンボ
1~7まで具体的な事例や合理的な理由を述べているのに「 色々理屈は捏ねるが~まったく信用できないね」でまとめられる作者かわいそ過ぎる
Rustはアロケータ無しで使うことができるように設計されているしベアメタルでもCの代替となり得る部分はある。実際RP2040とかではかなり使える/がこの記事の内容自体はおおよそ正しいと思う。AIっぽいけど。
まあ C++ ですら主流ではないのに Rust とはならないよなぁとは
言語自体の習得のハードルが高いという話がなかった(C++と比べれば一長一短だけどCと比べればまあCのほうが圧倒的に学びやすいですよね)
https://support.google.com/phoneapp/thread/332825459?hl=en&sjid=6271534824745473762-NC
https://support.google.com/phoneapp/thread/332833253?hl=en&sjid=1244515745310725742-NC
色々な物がC言語かアセンブラを前提にしていて一企業のソフト屋がRust覚えればいいだけですむ話ではない。海外含めて色々なメーカーが足並揃えて採用とかサポートとかにならないと入り込む余地が無さげ
私はRustに興味があり独習しています。 組込みが主の業務ですが、くだらない不具合に悩まされ無い言語かと感じています。 堅牢性の確保にコストを余り掛けなくて良いような気がします
この記事 Deep Research が書いたやつだろ
組み込みはソフトというより製造業の一部だもんねえ。ソフトウェアで完結できる分野より変更を納得してもらわなきゃいけない人達が多いし資産も歴史も深い、言語仕様が適するかよりも難易度が高い。
学習コストと人員確保の楽さじゃないすかね(´-`)知らんけど
それはそう
IAR EWARMが対応してくれたら考える。ターゲット環境でまともに使えるデバッガがない環境で開発する気にならない。printfデバッグとかしたくない。
“組み込み”って幅広いので(Windowsを使ってるプリクラだって組み込みの一種)、C言語ばかりではないと思うけど、ハードのスペックが限定的ならC言語以外の選択肢はあまりないだろうなあ。
C++で自分の足を撃った人以外はめんどくさいだけで、あんまりありがたみを感じないよね。
“Rustの公式コンパイラ(rustc)はオープンソースであり、これらの規格への適合が保証されていないため、機能安全が必須の分野では採用が難しい”/これがなんとかなれば…
少し前まで車載やってたけど、RustがCにとってかわらないのは4〜7が主要因だと思う。マイコンやデバッカがRustに対応してないと話にならないし、ISO26262対応のRustのコンパイラがないんじゃそもそも採用できない。
ベターCとしてRustは有望か?所有権の可視化は将来的にIDEの支援で可能?
“MISRA-CやCERT-Cが普及している”ここら書いてくるのが、さすが車載エンジニア。とは置いておいて、尋常ない金額払ってやってるから、一時お金頂いた身としては頭上がりません。
4567が主要因だろうね。既にArmやこれからRISC-Vが通る道だけど、共通のマイコンプラットフォーム、開発環境、その他エコシステムができないと安全性が求められるターゲットをRustで開発するのは難しい
自動車業界の業界標準が厳しいのはわかるんだけど、各社の自動運転プログラムって何で書かれてるんだろ。まさかC使ってるとは思えんのだが。
Zigとの棲み分けの部分なのかなー
オーディオプラグインのDSP界隈でもだいたい似たような感じ(メモリ確保/静的リンク/C++資産ばかり)なのでわかりみが深い。/ ベアメタル云々で難癖つけてる連中はstd「相当」の資産がなくてもできると思ってるだろ
組み込み系やってくれるRustエンジニアって多分ほとんど居ないのでは……。
現場によっちゃC言語すら流行っていない。ラダーシーケンスが主流
"当面はC言語が主流であり続けますが"の当面は思ったより短いとは思う。Ferroceneの登場やこの辺読んでピンとこないなら流石に感度低い<https://indico.esa.int/event/528/attachments/5988/10197/Bringing_Rust_to_Safety_Critical_Systems_in_Space.pdf>
goと勘違いしてる(あるいは区別ついてない)奴がようけおるなここのブコメ
既存のプログラムをCからRustに置き換えようとするとDRBFMが大変すぎて死人が出ます。
まだ時期尚早では
MISRA-Cに準拠してる組み込みの現場なんてもう淘汰されるべきだろう。CERT-CやAUTOSARならわからんでもないが。組み込みRustで論点に挙げるべき点は、no_stdが吐き出すバイナリが過去の実績・基準に沿っているかじゃないかな。
組み込み業界といっても情報系システムもあるわけで、そういう分野ならRustという解もありそう。既存資産の対応は諦めて、新規はRustと行きたいが、これも厳しそうだなあ。
トヨタ/WovenのAreneってどうなったんだろ?
クリティカルな分野にはまだまだ尚早でしょ
新規開発はともかく派生流用開発で [Rust導入コスト]<[Cを使い続けるコスト] になるには相当の環境整備が必要。/せめて新規案件向けにArduinoのような試作キットでRustが使えるようになると良いんだけど。pi pico+Rust流行れ