アカウント名:
パスワード:
Cではバッファーエラー(CWE-119)・領域外読み込み(CWE-125)・NULLポインター参照(CWE-476)の順になっている。
他の言語ではそもそも脆弱性になりえないから…と思ったが、ここではC++も「他の言語」なのか。みんな意外とC++の機能をちゃんと使っているということか
ちなみに python ruby php などはC言語で実装されています
C言語が滅ぶことは当面無いと思われます
セルフホスティングできるようになれば解決!?
話を矮小化するなセルフホスティング可能云々じゃないだろまずOSもなにもない全くの新しいプロセッサを開発したとしてそのプロセッサ用にC言語用のクロス環境を作ることは容易いだろうがそれ以外の言語で同じことが可能な言語があるのか?って話よ
C以外のほぼすべての言語がそうした状態での使用をそもそも想定できておらず勘違いも甚だしいことになぜかCコンパイラとそのビルドツール一式が存在しているという前提の元にすべてが設計されてんじゃねーの?
PythonでもRubyでもRustでもJavaでもC#でもなんでもいいがCのクロス環境さえない状態でいきなり自身のクロス環境を構築できんの?
Cより普及させたいという願望があるのならそうした願望を持った言語は自身とアセンブラのみですべて記述され容易にクロス環境の構築が可能な程度の移植性は備えていないと話にもならないよCよりも安全性の高いコードの記述が可能か否かなんてのはその後の話
あらゆる言語の中で最もCに近いであろうC++ですらLinusに移植性が低いと何度も切って捨てられてることからもわかるようにそういった用途ではC以外の選択肢がないのが現状CコンパイラをC++で記述してるgccですらその1stステージxg++の記述に使われているのはC言語あなたが認めようと認めまいとね
RustはバックエンドがLLVMだから新規CPUに対応させるのはCとあまり変わらないのではないかと
LLVMがCで書かれているという反論が来そう。実際のところの実装が容易なのはCが他の高級言語に依存しないからというより仕様が単純な上コンパイラ開発になれた人が多いからってだけの話。
ピュアなセルフホスティング目指すならLLVM書き直すんでしょうね
クロス環境は容易に作れるか?から始まったのに長文書いてるうちにセルフホスティングの話に戻っちゃった感じ
> LLVMがCで書かれているという反論が来そう。LLVM以外のバックエンド(Cranelisftのような)でRustのビルドができてようやくセルフホストと言える、のかな。まだあるかな
FORTHなら自身のクロス環境の構築はそれほど難しくない。実際>Cより普及させたいという願望があるのなら>そうした願望を持った言語は自身とアセンブラのみですべて記述されFIG-FORTHなんぞまさにこの形の実装だし。
# せめてANSI FORTHの話をしろよ、という異論は認める
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
にわかな奴ほど語りたがる -- あるハッカー
ともあれC言語は滅びるべきである (スコア:0)
他の言語ではそもそも脆弱性になりえないから…と思ったが、ここではC++も「他の言語」なのか。みんな意外とC++の機能をちゃんと使っているということか
Re: (スコア:1)
ちなみに python ruby php などはC言語で実装されています
C言語が滅ぶことは当面無いと思われます
Re: (スコア:0)
セルフホスティングできるようになれば解決!?
Re:ともあれC言語は滅びるべきである (スコア:2, 参考になる)
話を矮小化するな
セルフホスティング可能云々じゃないだろ
まずOSもなにもない全くの新しいプロセッサを開発したとして
そのプロセッサ用にC言語用のクロス環境を作ることは容易いだろうが
それ以外の言語で同じことが可能な言語があるのか?って話よ
C以外のほぼすべての言語がそうした状態での使用をそもそも想定できておらず
勘違いも甚だしいことになぜかCコンパイラとそのビルドツール一式が存在している
という前提の元にすべてが設計されてんじゃねーの?
PythonでもRubyでもRustでもJavaでもC#でもなんでもいいが
Cのクロス環境さえない状態でいきなり自身のクロス環境を構築できんの?
Cより普及させたいという願望があるのなら
そうした願望を持った言語は自身とアセンブラのみですべて記述され
容易にクロス環境の構築が可能な程度の移植性は備えていないと話にもならないよ
Cよりも安全性の高いコードの記述が可能か否かなんてのはその後の話
あらゆる言語の中で最もCに近いであろうC++ですら
Linusに移植性が低いと何度も切って捨てられてることからもわかるように
そういった用途ではC以外の選択肢がないのが現状
CコンパイラをC++で記述してるgccですらその1stステージxg++の記述に使われているのはC言語
あなたが認めようと認めまいとね
Re: (スコア:0)
RustはバックエンドがLLVMだから新規CPUに対応させるのはCとあまり変わらないのではないかと
Re: (スコア:0)
LLVMがCで書かれているという反論が来そう。
実際のところの実装が容易なのはCが他の高級言語に依存しないからというより仕様が単純な上コンパイラ開発になれた人が多いからってだけの話。
Re: (スコア:0)
ピュアなセルフホスティング目指すならLLVM書き直すんでしょうね
クロス環境は容易に作れるか?から始まったのに長文書いてるうちにセルフホスティングの話に戻っちゃった感じ
Re: (スコア:0)
> LLVMがCで書かれているという反論が来そう。
LLVM以外のバックエンド(Cranelisftのような)でRustのビルドができてようやくセルフホストと言える、のかな。まだあるかな
Re: (スコア:0)
FORTHなら自身のクロス環境の構築はそれほど難しくない。実際
>Cより普及させたいという願望があるのなら
>そうした願望を持った言語は自身とアセンブラのみですべて記述され
FIG-FORTHなんぞまさにこの形の実装だし。
# せめてANSI FORTHの話をしろよ、という異論は認める