アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
コンピュータは旧約聖書の神に似ている、規則は多く、慈悲は無い -- Joseph Campbell
言語仕様は? (スコア:1, 興味深い)
とりあえず、おいらはC#は悪くないと思う。
JavaがそのままC#に置換されても不幸じゃないね。
JavaはC++へのアンチテーゼ的な仕様が多々あるけど、
C#は「なにもそこまで極端に振ることはないんじゃない?」って感じで、
Javaで捨てられたC++のいいところをかなり復活させてる。
syntax sugarが多いので書いていて結構快感だよ。
C#に慣れてからJavaに戻ると不便で「ウガー」と叫びたくなる。
enumがあったり、enumを文字にcastできたり、caseに文字列が使えたり、
intがclass(ほんとはstructだが)にシームレスに変換できたりと、
結構痒いところに手が届いていい感じ。
# ただdelegateキーワードは糞だな。
Re:言語仕様は? (スコア:1)
Javaに演算子オーバーロードさえあればそっちのほうが全然綺麗だなぁ、と。
もうちょっと文法を洗練させて出した方が良かったんじゃないかなぁ、とか思ってしまいました。
Re:言語仕様は? (スコア:0)
ざっと見た印象で語り始める馬鹿。
# ざっと見た印象で最悪だったのはC++なのでAC
Re:言語仕様は? (スコア:1)
Re:言語仕様は? (スコア:0)
Re:言語仕様は? (スコア:1)
#わざわざBitmap処理のメソッド作ったりしてるし(苦笑)
後、setter, getterね。それと読み出しpublic, 書き込みprotectedな変数。C#にはあるんだよなぁ。
まあ言語のISO, ANSI規格もいいけど、言語だけでなく標準ライブラリも是非ISOやANSIで規格化して欲しい。
#その時規格化されるのは、POSIXだろうか?Win32APIだろうか?
Re:言語仕様は? (スコア:1, 興味深い)
> #わざわざBitmap処理のメソッド作ったりしてるし(苦笑)
> 後、setter, getterね。それと読み出しpublic, 書き込みprotectedな変数。C#にはあるんだよなぁ。
そしてC#になる、、、というのは置いといて、JavaではCにあるenumやunsignedはあえて外したはずですよね。
# そのためのクラスを作ればいいだけの気がするが。
Re:言語仕様は? (スコア:1)
画像処理のプログラムをJavaで書いたことあります?
クラス作るってことは、処理がそれだけ重くなるということなんですよ。
enumがあるなら、RGB32bitからR,G,B各8bitを一発で取り出し、入れ戻しができるけど、ないためにどれくらいの命令数が必要か。
しかもその操作もunsigned intがないために、どれだけ面倒なことか。
JavaのGUI画面が異様に遅い、重い原因の主たるものはこれじゃないかと思えるくらいです。
Re:言語仕様は? (スコア:0)
どうでしょう。gimpなどで行っているようにフィルタの組み合わせで画像処理を行えば中間バッファが入らないのでバッファに何度も出し入れする必要なんて無いですよね。
Re:言語仕様は? (スコア:0)
enumじゃなしにunionです m(_ _)m
#会社からなのでACですんません。
##いやログインしようとしてらパスワード忘れちゃってて (- -;;;
Re:言語仕様は? (スコア:1)
unsigned は欲しいですね。 あと演算するときに int にキャストしちまうのもちと苦しい。
AWT, Swing 使わないコンソールアプリ作るときの Core API が貧弱すぎるのも泣ける。 DOS や UNIX のコマンド、簡単に移植でけん気が。
・・・いや、それでも好きだけどさ。
Re:言語仕様は? (スコア:1)
# MS側で不要と判断したのかも。
・例外のthrowsが書けない
これは人の趣味によるでしょうが、どこでどういう例外が飛んでくるか
把握しきれない状況では、thorwsに書いてないとコンパイルエラーが
出るはずだという安心感はあります。(まあJavaもヌル参照例外とかはthrowsに書かなくても通るので、気休めに過ぎないのは分かってるんですけどね)
・インナー・インターフェースが定義できない
C#ではエラーになりますが、Javaではできます。メンバーへのアクセス可否を意識しない、pluggableなファクトリクラスが設計できません。(と思ってます。少なくともJavaみたいにはいかないかと。)
・インターフェースにstaticフィールドが定義できない
定数についてはenumが使えるから良いのかもしれませんが。必ずプロパティにせざるを得ないので、getter/setter書くのが面倒。
C#でイイと思ったのはキャスト演算子のasかなぁ。
try~catchで無効なキャストを引っかけなくても済みますので。
ちなみに、J#はJavaと言語仕様が一部異なるみたいなので(個人的に経験したところでは、interfaceに内部static classを宣言したらエラーになった)、使うのが躊躇われます。