パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

C言語は滅びるべきか」記事へのコメント

  • by Anonymous Coward

    全然知らないけどOSやデバドラ書くのに使えるんですか?

    • Re: (スコア:3, 参考になる)

      Redox OS [github.com]とか、Reenix [github.com] (論文) [github.io]とか、色々ありますね。

      このへん [github.com]に比較が載っています。

      • by Anonymous Coward

        GC が入っている言語で書かれたプログラムは,プログラムが時間制約を守ることを保証できず,ハードリアルタイムシステムには使えないって習ったので,ハードリアルタイムシステムを制御するプログラムを Rust などで書けたら,C言語にはご退場いただけると思う.

        もう書けていたら浅学御免.

        • by Anonymous Coward

          GCを入れるかどうかを言語依存にしない方がいいと思うけどな。スタックとヒープを使い分けるように、プログラマが、スタック・ヒープ・GC付きメモリ、の3つから選べるようにすりゃ済む話だと思うけど。

          • by Anonymous Coward on 2017年07月20日 10時52分 (#3247261)

            Rustには、そういう意味でのGCは入ってないよ。

            >プログラマが、スタック・ヒープ・GC付きメモリ、の3つから選べるようにすりゃ

            まず、この流れで言ってるGCとは厳密には違うものだけど、C++がそんな感じしようと頑張ってる。shared_ptrとか。
            その辺を使うと、ソースコードを解析した時点で、ここで確保したヒープメモリはここで開放される
            (あるいは後で確実に開放してくれる関数かなにかに渡される)と、決定されるから、deleteは明示的に書かなくても良い。

            参照してる変数の寿命が尽きた時点で自動で開放されるという点ではGCと似たような楽が出来る機能を、
            実行時コスト(いつGC処理が始まってプログラムの実行が停止してしまうか分からない)無しに使える便利な仕組み。

            ただ、C++の場合は、後付けでそういう便利機能をライブラリとして載せた経緯がある
            (というか、Cからの伝統の、どこまででも危険なプログラムが書けてしまうという特性もある)
            ので、「どういう性質を持った機能なのかをきちんと把握した上で、正しく書いた場合は」GC付き言語のような楽が出来る、
            というような条件付きの仕組みにならざるを得ない。

            そこを改良したのがRustで、C++のshared_ptrなどだと出来た危険な操作が全くできないような言語仕様になってる。
            結果として、色々窮屈ではあるけど、実行時無しでヒープも含めて綺麗なメモリ管理がされているプログラムが書ける(というかそれしか書けない)。

            Rustは、まさにハードリアルタイムシステムを安全に書くために作られたような言語。
            ハードウェアを直接叩くような部分は、メモリが生で見えてるC系で無理矢理書いた方が性能が良いかもしれないけど。

            親コメント

未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー

処理中...