SSブログ

Java の本当の発明について [Java]

Java が登場してその良さが何かにつけて喧伝されていた頃によく「彼らがあたかも Java の発明であるかのように言っていることは C++ と比べた場合の Java の特徴ではあるかもしれないが、その起源は Java ではなく、ずっと昔からあるものだ」というような反論も合わせて耳にした。

それはいいとして、本当に Java の発明になるものがないかといえば実はあって、「チェック例外」というものがそうだ、と思ったのだけどこれは間違ってるでしょうか。

もうひとつ、Java 以降に現れた言語で Java のチェック例外を真似した言語はない、という気もするのだけど、これは本当でしょうか。(C# には?)
nice!(0)  コメント(1)  トラックバック(0) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 1

Egtra

チェック例外のようなものはC++にもありました(例外指定)。ただ、そのチェックは実行時であったため、コンパイル時の処理が好まれるC++では受けませんでした。今では全くと言って良いほど使われていません。

Javaのチェック例外はこの進化形と言えます。

C++はというと、結局、bool値で投げない or 投げると指定するだけのnoexceptという新しい表記が導入されることとなりました。「投げない」保証は、C++コーディング上でも重要視される上、コードの最適化にも使える(そのため、投げない指定はVC++やg++などいくつものコンパイラが独自構文で用意していた)ので、これなら受け入れられるだろうとふんだわけです。
by Egtra (2011-10-01 14:32) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。