アカウント名:
パスワード:
C++11がでて7年も経つのにCとC++はどうして一緒にされてしまうのか。
C++もCと同じように書けるから一纏め。
でも、JavaからC++への乗り換えはまだ容易だが、JavaからCへの乗り換えは、C++からCへの乗り換えのように絶望的なので、ここでは一緒くたにするべきではないよな。
JavaとC++にあってCにないものはクラスと例外くらいで、それ以外はJavaとC++とCでそれぞれ大きく異なるが、C++はやはりCのほうにずっと近いクラスをCでエミュレートするのは面倒なだけで考えるようなことはなにもないJavaの例外を見た目でC++に移植するのは困難で、適切なライブラリさえあればC++の例外をCでエミュレートするほうが易しい(ただしポータブルなライブラリにはならないだろう)これは主にGCの有無に起因する
いやこの手の議論で「できること」を議論してはダメでしょう。極論、あらゆるプログラミング言語の機能は面倒なだけで考えるようなことはなにもなく機械語で実現できますよ。
そしていわゆるGCとは区別すべきですが、C++11以降ではスマートポインタを使います。
乗り換えの話に限定しているのですがね
なんでこんなに反発するやつがいるのかわからないが、自分に理解できない高度な話をされてムカつくということ?Exceptional C++に書いてある話でみんな知ってることなのだがJavaではオブジェクトがGCで回収されるときにファイナライザーが呼ばれるが(近頃ではファイナライザーはよくない慣習だとされている)、C++ではスタック上のオブジェクトはスコープを抜けるときに(例外で一気に抜けるときを含む)デストラクタが呼ばれ、この違いが移植・乗り換えの大きな障害にになるということなんだけど例外的な事象の扱いはExceptional C++にも書かれている通り最初に設計するべきことで、JavaもC++もメソッドが例外を投げる見た目が似ているからといって考えなしに考えなしに移植するとロクなことにはならない
考えなしに移植するとロクなことにはならないのはC++に限った話ではないし、この投票においてC/C++を別候補に分けるべきであったかに関して何の示唆も含まない。
# そもそもJavaの例外は欠陥品なので自分ならそのまま移植しようと思わない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
身近な人の偉大さは半減する -- あるアレゲ人
C/C++ (スコア:0)
C++11がでて7年も経つのに
CとC++はどうして一緒にされてしまうのか。
Re: (スコア:0)
C++もCと同じように書けるから一纏め。
でも、JavaからC++への乗り換えはまだ容易だが、JavaからCへの乗り換えは、C++からCへの乗り換えのように絶望的なので、ここでは一緒くたにするべきではないよな。
Re: (スコア:0)
JavaとC++にあってCにないものはクラスと例外くらいで、それ以外はJavaとC++とCでそれぞれ大きく異なるが、C++はやはりCのほうにずっと近い
クラスをCでエミュレートするのは面倒なだけで考えるようなことはなにもない
Javaの例外を見た目でC++に移植するのは困難で、適切なライブラリさえあればC++の例外をCでエミュレートするほうが易しい(ただしポータブルなライブラリにはならないだろう)
これは主にGCの有無に起因する
Re: (スコア:0)
いやこの手の議論で「できること」を議論してはダメでしょう。
極論、あらゆるプログラミング言語の機能は
面倒なだけで考えるようなことはなにもなく機械語で実現できますよ。
そしていわゆるGCとは区別すべきですが、C++11以降ではスマートポインタを使います。
Re: (スコア:0)
乗り換えの話に限定しているのですがね
Re:C/C++ (スコア:0)
なんでこんなに反発するやつがいるのかわからないが、自分に理解できない高度な話をされてムカつくということ?Exceptional C++に書いてある話でみんな知ってることなのだが
JavaではオブジェクトがGCで回収されるときにファイナライザーが呼ばれるが(近頃ではファイナライザーはよくない慣習だとされている)、C++ではスタック上のオブジェクトはスコープを抜けるときに(例外で一気に抜けるときを含む)デストラクタが呼ばれ、この違いが移植・乗り換えの大きな障害にになるということなんだけど
例外的な事象の扱いはExceptional C++にも書かれている通り最初に設計するべきことで、JavaもC++もメソッドが例外を投げる見た目が似ているからといって考えなしに考えなしに移植するとロクなことにはならない
Re: (スコア:0)
考えなしに移植するとロクなことにはならないのはC++に限った話ではないし、
この投票においてC/C++を別候補に分けるべきであったかに関して何の示唆も含まない。
# そもそもJavaの例外は欠陥品なので自分ならそのまま移植しようと思わない。