アカウント名:
パスワード:
俺が知らないだけだろうけど、Better Cといえば、C++だったり、さらにそれから派生したJavaはあるけど、オブジェクト指向に走らずに、Cと同じコンセプトのBetter Cって提案されているんだろうか。Modula-2とか?
今回のChecked CはCと互換性があるみたいだけど、互換性のないBetter Cも見てみたかったり。
RustとかGoとかSwiftとか。MSは新言語ではなくCの拡張で行くつもりなのかもしれない
MFCとかのフレームワーク見ると継承とかポリモーフィズムとかを意識してコードいじらないといけないOOP臭ぷんぷんなんだけど、最近のC++1xとかboostとかはOOPの機能は使われているんだけどOOP臭がしない。
C++はOOP以外の何かに進化しつつある。
オブジェクト指向は並列処理に向かないからなぁ、C++のクラスは組み込み型定義構文というのが近いスレッド単位の並列ならスレッドと対応したアクターモデル、データ単位の並列ならSoA(配列の構造体)全てがオブジェクトなオブジェクト指向よりも、アクター(処理の主体)とデータ(処理の対象)を明確に分離した方が効率がいい。
オブジェクトを排他制御の単位とすべきかメソッド単位にすべきか明示的にすべきかについては昔から議論されていたが、どうでもいいというのが結論だった気がするとくにimmutableなデータ構造の重要性が認識されている今日では
STLが世に出てから一体何年経っていると…C++はずっと昔から先に行っていたよ。
はっきり言ってC++はOOPを目的とはしているとは言えない。割合で言えばOOPのための言語仕様は一部に過ぎないし、OOP論者からはOOP言語としては否定されることも多かった。
Modula-2を嫌がって(?)C言語風のスパイスをまぶしたModula-3を作った人たちがいるくらいだから、今更Modula-2は受けないでしょうPascal系の言語のクラシックな処理系はarrayの境界チェックがデフォルトでオンになってたりするけど、モダンな(?)処理系ではオーバヘッドを嫌ってそういうチェックはしない流儀
D とかいうのはどこ行ったん?(よく知らんけど)
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
身近な人の偉大さは半減する -- あるアレゲ人
C++ではないBetter C (スコア:0)
俺が知らないだけだろうけど、Better Cといえば、C++だったり、さらにそれから派生したJavaはあるけど、オブジェクト指向に走らずに、Cと同じコンセプトのBetter Cって提案されているんだろうか。
Modula-2とか?
今回のChecked CはCと互換性があるみたいだけど、互換性のないBetter Cも見てみたかったり。
Re: (スコア:0)
RustとかGoとかSwiftとか。MSは新言語ではなくCの拡張で行くつもりなのかもしれない
Re: (スコア:0)
MFCとかのフレームワーク見ると継承とかポリモーフィズムとかを意識して
コードいじらないといけないOOP臭ぷんぷんなんだけど、
最近のC++1xとかboostとかはOOPの機能は使われているんだけどOOP臭がしない。
C++はOOP以外の何かに進化しつつある。
Re:C++ではないBetter C (スコア:1)
オブジェクト指向は並列処理に向かないからなぁ、C++のクラスは組み込み型定義構文というのが近い
スレッド単位の並列ならスレッドと対応したアクターモデル、データ単位の並列ならSoA(配列の構造体)
全てがオブジェクトなオブジェクト指向よりも、アクター(処理の主体)とデータ(処理の対象)を明確に分離した方が効率がいい。
Re: (スコア:0)
オブジェクトを排他制御の単位とすべきかメソッド単位にすべきか明示的にすべきかについては昔から議論されていたが、どうでもいいというのが結論だった気がする
とくにimmutableなデータ構造の重要性が認識されている今日では
Re: (スコア:0)
STLが世に出てから一体何年経っていると…
C++はずっと昔から先に行っていたよ。
Re: (スコア:0)
はっきり言ってC++はOOPを目的とはしているとは言えない。
割合で言えばOOPのための言語仕様は一部に過ぎないし、
OOP論者からはOOP言語としては否定されることも多かった。
Re: (スコア:0)
開発者は、利用したい部分を利用すればよくて、言語側から強制されるものがほとんどない。
OOPに限らないけど、純粋さを綺麗とする考え方とは真逆
このあたりの思想って C# もガッチリ受け継いでるよな。
Re: (スコア:0)
Modula-2を嫌がって(?)C言語風のスパイスをまぶしたModula-3を作った人たちがいるくらいだから、今更Modula-2は受けないでしょう
Pascal系の言語のクラシックな処理系はarrayの境界チェックがデフォルトでオンになってたりするけど、モダンな(?)処理系ではオーバヘッドを嫌ってそういうチェックはしない流儀
Re: (スコア:0)
D とかいうのはどこ行ったん?(よく知らんけど)