アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ソースを見ろ -- ある4桁UID
やはりCなんですね (スコア:0)
本気で取り組むと色々面倒ですが、ベターCとして使っても
1.1倍くらいは便利な気がするのに。
Re:やはりCなんですね (スコア:0)
Re:やはりCなんですね (スコア:1)
MS世界だと、MSがMFCなるものをババーンと出してしまってからこっち、
避けて通りにくくなってるんでしょうね。
MFC以外(以降)もC++の出番はしばしば明示的に与えられてる。
翻ってUnixだと、「C++で何をラップするか?」ってのが問題かな。
本当はOOPはGUI以外の場面でも大いに役立つんだけど、
煽り(笑)としては、GUI(しかも万世一系の)が標準装備じゃないと、
「いらねーんでねーの?」という認識が世間的に強いかも。
まあそれ以前に、前述したようにC++以外のOOP言語のほうが
もっとマシ(快適&綺麗)にOOP出来るんで、C++はバイパスしちゃえるわけで。
>C++から他言語へのバインディングが不得意
「(Cの意味での)関数」はバインディングの仕方に定番が有るわけですが、
クラスとかをどうするよ?っていう話は、なかなか大変でしょうね。
OOPは具体的なアーキテクチャの名じゃなくて、実際にOOPと名のつくアーキテクチャは無数に有るので、
妥当なリンク用バイナリのフォーマットは、控えめに言っても「言語ごとに」制定する羽目になっちゃう。
#最大公約数を取ることで、複数言語をサポートするという手も有るが、Naitve屋さんには嬉しくない選択だろな。
だから、JavaやDelphi(^^;がやったみたいに、クラスとかの情報を綺麗に格納できるフォーマットを
自前で別途制定するってのが良いわけで。
*.oは所詮はC関数の格納にしか使えんぞと見なすってことで。
#動的な言語なら、C関数しか記録できないという制約の元でも、「クラス」とかを実現できるんですけどね。
#つまり「クラス(InstanceじゃなくClassそのもの)を生成するC関数」に相当するコードを記録しちゃえば済むので。
#rubyしかり、Max/PureData(ぉぃ)しかり。
#動的に作れないものって、結局扱いに困るんですよね。
あ。そうか。「Windowsになっても*.exeをやめなかった」MSと、
「C以外用に*.oの代替物(ってのかな)を制定しなかった」Unixは、
その点において似ているのかも。
>コンパイラが劇的に遅い(特にテンプレートが)
あはは…(^^;。あれはC++の無茶の一つですねぃ。
もうちょっと動的な方向に歩み寄り(譲歩)をすれば、随分と楽な世界が拓けているというのに、そうしなかったC++。
Re:やはりCなんですね (スコア:1)
>クラスとかをどうするよ?っていう話は、なかなか大変でしょうね。
そのひとつの解として.Net Framework(次世代WinAPIであるWinFXの基礎)があるのだと思います。オープンソースではMono [go-mono.com]とか有名ですかね。
Managed C++という拡張(制限?)されたC++ではC#などの他の言語と互換性のある中間コードを生成できます。
Microsoft主導ではありますが、試みのひとつとしては興味深いと思います。言語の垣根、OS・プラットフォームの垣根を取り払う試みとして。