
Linuxのバージョン6.1でRustを導入へ。トーバルス氏が明言 83
ストーリー by nagazou
導入 部門より
導入 部門より
ZDNetの記事によると、Linus Torvalds氏がLinuxカーネルの記述言語としてプログラミング言語Rustを導入する方針を明言したという。Torvalds氏はZDNetとのインタビューの中で「何かおかしなことが発生しない限り、それ(Rust)は6.1で導入される」と述べたとしている。記事によるとRustを導入するかどうかという議論は、かなり前から存在していたとされる(ZDNet Japan)。
気にしないのか? (スコア:1, 興味深い)
唯一の実装が規格~みたいなコミュニティーベースの発展途上のプログラミング言語を採用することを気にしないのか......
#気にする業界・気にする分野の仕事をしている人は凄く気にする
Linusの回答 (スコア:2, 参考になる)
https://japan.zdnet.com/article/35193521/2/ [zdnet.com]
Re: (スコア:0)
気にする人が別実装を用意すれば良いのでは?
# Rustはメモリの取り扱いに起因するセキュリティーホールが一掃されるので大歓迎
Re: (スコア:0)
参考までにお聞きしたいのですが、気にする業界・気にする分野というのは例えばどういうところなのでしょうか?
工場では一度入れたら何十年も使い続けるそうですがそういうところでしょうか。
Re:気にしないのか? (スコア:2, 興味深い)
自分の知ってる範囲だと、自動車業界はかなり気にする。
コンパイラのバグで不具合とか、過去にもあったし。
ASIL-D相当だと、コンパイラもバージョン毎に認定が必要なんで、
RUSTみたいに、頻繁にバージョンアップする言語は大変。
Re:気にしないのか? (スコア:1)
自分の知ってる範囲だと、自動車業界はかなり気にする。
TOYOTA が 2025 に実用化するとする Arene は Rust だし、
新規案件は以前とは事情が変わってきてるような。
RUSTみたいに、頻繁にバージョンアップする言語は大変。
Rust はプロジェクトディレクトリ下の rust-toolchain ファイルで
コンパイラだけでなくツールチェインのバージョンを指定できる分
他の言語より開発者全体で開発環境を統一するのは簡単では。
Rust の採用が増えているのって、言語仕様もあるけど
rustup + cargo の存在が大きいんじゃないかと思う。
Re:気にしないのか? (スコア:2, おもしろおかしい)
医療機器業界も気にするよ。
IEC62304って規格があって、医療機器も使用するソフトウェア(コンパイラや開発環境)
を自社の製品開発に使用する為に、検証した上でSOUPとして社内規格に登録し、
それを使用した開発を行なう事になるから、開発環境に不具合があって更新なんてなったら、
自社開発のソフトウェアだけでも検証が大変なのに、開発環境の検証も再度行なう必要があるんで、
結果的に開発期間の遅れに繋がるよ。
なので、最新版が出たとしても、出来上がったソフトウェアに問題がない限り、
開発環境は古いものを使い続けるよ。
Re:気にしないのか? (スコア:1)
Re: (スコア:0)
金融業界じゃないの? サグラダ・ファミリア建設中に前提がコロコロ変わったら困るわけで
Re: (スコア:0)
そもそも、オープンソースと商用ソフトを同列に論じちゃダメだと思う。
オープンソースは少なくとも作ってる人たちは無保証でやってるんでしょ。
Re: (スコア:0)
基本的に産業系・組込系はみんなそうでしょ
例えば、原発の安全性保証に関わる業界標準になるようなシミュレーション・コードを書くのにどのような処理系を選びますか?
webアプリケーション開発だとかで定期的にスクラッチからの作り直しは想定内/計画済み、コンパイラなんてその時に切り替えても問題なしという開発とは違う
(真面目にそういう質問をされるのが驚き)
Re: (スコア:0)
元ACです。皆さま回答どうもありがとうございました。
勉強になりました。
Re: (スコア:0)
現状のLinuxが純粋なC言語じゃなくてgccの拡張機能にバリバリ依存した書き方されてんのに何言ってんの??
Re: (スコア:0)
最近はclangでもビルドできるようになったんだっけ
Re: (スコア:0)
それってclang側が頑張ってgcc相当の機能を実装したからでは。
昔GPL3で新しいgccを利用できなかったFreeBSDの貢献も大きいかもしれません。
Rustを使えば、単純にメモリ安全になるわけじゃない。
正しくRustを使えば、その範囲でメモリ安全になる。危険な使い方をしたRustは、Cと変わらない。
Rustは言語規格以外に、分野・用途別の共通のコーディング規約が定まらないと、お堅い業界では利用しづらいだろう。
Linuxがその辺を自ら定めて利用するようなら、他分野に対し実績として十分な説得材料になりそう。
Re: (スコア:0)
CLang でコンパイルしたカーネル楽しいかも。
ベンチマーク見ると、最適化は gcc と似たり寄ったりみたいだけど。
Re: (スコア:0)
それってclang側が頑張ってgcc相当の機能を実装したからでは。
そんなこたない [blogspot.com]
Re:気にしないのか? (スコア:1)
#4331028です。知らなかったので勉強になりました。
ちょっと古い記事だったので、VLAISをキーワードにその後どうなったのかググってみた。
AndroidがClangだから、Karnelもgccを使わないで済むよう取り組んでいるという記事
https://lwn.net/Articles/734071/ [lwn.net]
その結果、Karnel4.20でVLA自体を使用しないよう書き換え完了したという記事
https://linux.slashdot.org/story/18/10/29/1935253/the-linux-kernel-is-... [slashdot.org]
4年も前の話なのか。アンテナ低すぎだろ、俺。
Re: (スコア:0)
gccの拡張機能はかなりの数がclangに取り込まれているのは事実と思うが、僅かな例外があったとして「そんなこたない」と否定できるもんかな?
Re: (スコア:0)
C11規格ではオプションに後退してるけど、大きな違いだと思う。
Re: (スコア:0)
「そんなこたない」というのはC99規格標準の可変長配列のことですよ。
可変長配列はclangで普通に使えますよ。VLAISを誤解されてるのでは。
Re: (スコア:0)
「そんなこたない」というのはC99規格標準の可変長配列のことですよ。
void hoge(int size)
{
int array[size];
}
↑こーゆーのなら結構前のclangからサポートしてますね。
https://godbolt.org/z/5d6Ed3861 [godbolt.org]
Re: (スコア:0)
C11規格で後退したのは、マイコンとかではコンパイラの実装や利用が厳しいことを考慮したのかな。
PIC16Fとか、ただの配列ですら実用的とはいいがたいコードを吐く。
Re: (スコア:0)
Linus「こんな事もあろうかとLinuxコンパイル用のRustを自ら作っておいた」
Re: (スコア:0)
たぶんこういうことだと思う。6.1には、対応する特定ブランチのRustが付くんだろう。
Re: (スコア:0)
Linuxを一からビルドしようとすると、まずRustのコンパイラをビルドするところから始めるようになるのでは
Re: (スコア:0)
気にする人は古いカーネルを使うから問題ないんじゃない?元々バグがゼロになることはあり得ない分野だし。
Re: (スコア:0)
それを言うなら、Cも発展途上。
linuxカーネルで長年使われてきたC89と最新の最終草案が出たばかりのC23では別物だよ。
Re: (スコア:0)
30年以上前から標準規格が度々更新されてるC言語と現状標準規格に類するものが存在しないRustはぜんぜん違うよアホか
Re: (スコア:0)
Linuxカーネルが依存してるGNU89って標準規格あんの?
Re: (スコア:0)
C23を例に挙げてCも発展途上だという話となんか関係ある話かな? >GNU89
Re: (スコア:0)
とっくにC11だが
Re: (スコア:0)
なんの言語でも発展途上の時代はあったでしょ
そんなこと言ってたら一生古いものを使い続けなきゃいけなくなる
継ぎはぎと1から新しく作るのでは全然違うし
Re: (スコア:0)
時代が違う。今、Linux全部を発展途上なクオリティに下げると世界がひっくり返るぞ。
Rustを牛耳ってる面子を囲い込んだらLinuxに多大な影響を与えられる、というのは影響力がお買い得に過ぎる。
他の枝でも出てるようにLinux開発メンバーがRustをフォークするか、同等のクオリティ・信頼度になるよう支えるか。
あるいは、Rustの影響が無いCのままのLinuxがフォークされるか。
Re: (スコア:0)
Rustを牛耳ってる面子を囲い込んだらLinuxに多大な影響を与えられる、というのは影響力がお買い得に過ぎる。
Linux に多大な影響を与える他の方法よりも
Rustを牛耳ってる面子 [rust-lang.org]を囲い込む方が難しいんとちゃうやろか。
Re: (スコア:0)
> Rustを牛耳ってる面子
日本にはもうTOYOTAしか残ってないという残酷な事実 (´・ω・`)
Re: (スコア:0)
> Rustを牛耳ってる面子
日本にはもうTOYOTAしか残ってないという残酷な事実 (´・ω・`)
でもそこの TOYOTA Connected [toyotaconnected.com] って
Headquarters
5905 Legacy Dr Ste. 210 Plano Tex [google.com]
Re: (スコア:0)
Javaがグズグズ規格の話し合いしてる間にMSの実装が規格みたいな勢いのC#が抜けていきましたね
Re: (スコア:0)
国家が採用するにはJISやISOで規格化されることが重要とか言われたのを真に受けて頑張ってJIS化したのに、JISでもISOでもECMAでも規格化されていないPythonを採用されるという梯子外しをくらったRubyとかいう言語がありましてね
C++嫌われてるんたな (スコア:0)
という感想
Re:C++嫌われてるんたな (スコア:2, 参考になる)
https://lwn.net/Articles/249460/ [lwn.net]
過去にリーナスがこう言っている。
even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C.
C++プログラマーを排除することができるというだけでCを選択する意味はある。
I've come to the conclusion that any programmer that would prefer the project to be in C++ over C is likely a programmer that I really *would* prefer to piss off
プロジェクトにおいてCではなくC++を好むようなやつは私が追い出したいクソ野郎だという結論に達した。
Re: (スコア:0)
C++は嫌われているとは思うがBeOSには使われてたし蓼食う虫も好き好きとも言うし
Re: (スコア:0)
1990年代はVisual C++ / C++ Builderで輝いていたのに
Re: (スコア:0)
それを言うなら、今はQtだねえ。よく見かける。鈍く輝いてる。
Re: (スコア:0)
QtはQtの世界に引き篭もれちゃうので、C++でコード書いているという感覚をあまり感じられないんですよねー。
Re: (スコア:0)
大手各社のディスプレイドライバが、フットプリントGB超えの肥大っぷり。
C++を認めるということは、現状、ああいう世界になるということ。
C++は貪欲だ。Rustの知見がC++に流れ込んでくることに、正直期待している。
Re: (スコア:0)
フットプリントGB超えの肥大っぷり。
開発期間(開発速度)とのトレードオフなんでしょうね。
適材適所ということで、Linuxカーネルには向かないんじゃないの。
Re: (スコア:0)
リーナスがC++が嫌いと公言してるし
結構前の発言だから意見が変わってる可能性もあるけど
この感じだとまだ嫌ってるみたいだな
Re: Re:C++嫌われてるんたな (スコア:0)
だってC++の嫌ってる部分が何も変わってないし
Re: (スコア:0)
とはいえ、現状C++に変わるものがないからなぁ。
今後はRustがそれになるのかね?
わが社でもRust信者が徐々に増殖してるようなので、そろそろ真面目に勉強してみるか。