アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
これって。。 (スコア:1, すばらしい洞察)
誰もそんなことを言わないのは(言ってる人がいたら基地外だ)、Linuxという代替物があるから、という側面もあるからですよね。
そうであるなら、今あるオープンな処理系、もしくは、まったく新しいオープンな処理系を、Javaに対抗できるレベルにまで高める(普及させる)ことをこそ目指すべきだと思います。
そもそも、オープンにしないことを指弾するなんて、傲慢も
Re:これって。。 (スコア:0)
これ書いた人はJavaの価値もCOBOLの価値もわかってない人だと思うんだけど。
Re:これって。。 (スコア:0)
価値ではなくて、言語として進化の袋小路にあるって話なんだけど。
別にJavaの価値を否定しているわけではないでしょう。
Javaの言語としての限界は、Strutsが
Re:これって。。 (スコア:1)
回避するための書き方のパターンってのが結構あるもんねえ。
クラスメソッドの多態が出来ればBuilderなんてわざわざ作らなくていいのに、とかさ。
更に悪い冗談なのはJ2EE Patternかな。
もろ、J2EEのデザインのショボさを誤魔化すためのパターンの塊でしょ。
EJBの重さを回避するパターンだって?最初からEJBを軽く作れよな。
StrutsはXMLでプログラム(webアプリでは、それ即ち画面)の遷移を記述する、つまりXMLでプログラミングする
という冗談をやってるわけですが、
あんなの、昨今話題の「継続ベースのwebアプリ」つまり継続が使える言語ならば
普通のコ
Re:これって。。 (スコア:0)
静的型付け言語でクラスメソッドの多態(?)ができるのってありましたっけ?
また、クラスメソッドの多態が出来ても Builder が必要なくなるとは思えません…
> EJBの重さを回避するパターンだって?最初からEJBを軽く作れよな。
自分で作れば?
Re:これって。。 (スコア:1)
Delphi。
コンストラクタ(特殊なクラスメソッドだという位置付けのようです)にもvirtualキーワードがつきます。
ってゆーかつく方が普通です。標準のライブラリで使いまくりです。
> クラスメソッドの多態が出来ても Builder が必要なくなるとは思えません
減りはするとは思いますよ。
>自分で作れば?
あはは。まあそれはそうだ。
ただ、それを言ってもいいなら、言語についても
特定の奴(たとえばJava)以外の選択肢だって
「自分で作れ」で話は済むわけで、
あらゆる批判の意味がキャンセルされ
Re:これって。。 (スコア:0)
Delphi 風の記法をするためには、クラスメソッドが多態できるだけではだめですよね。
> あらゆる批判の意味がキャンセルされるだけ。
まぁそうですね。
批判が建設的でなかったので嗜めたつもりなんですが。
Re:これって。。 (スコア:1)
ん?「Delphi 風の記法」とは、Delphiに数多ある特徴()のうちの、どこまでを指すんですか?
てか、とりあえずここではクラスメソッドの多態の話(だけ)をしてたと思うんですが…
>使ってる言語ごとに頭を切り替えられるようにした方が良いと思いますよ。
それって「妥協しろよ」と言っているに等しいわけで、
かなりショボい意見だと思うんですが。
どの言語の表現力も同じくらいであるならば、
プログラマの頭のほうを切り替えれば話が済むんですが、
実際にはそうではなく、言語には表現力の多寡(や方向性)の相違が
Re:これって。。 (スコア:0)
言葉が足りなくてすみません。
クラスメソッドの多態は、ClassName.MethodName(ArgumentList) って
記法でサポートできるんですか? という話です。
> 妥協することですか?(藁
あなたが出来ることに関して言えば、そうです。
他の人であれば他の方法もあると思いますが。
> #糞環境しか与え
Re:これって。。 (スコア:1)
>記法でサポートできるんですか? という話です。
Delphiでは出来ます。
ここで、ClassNameの部分がファーストクラスオブジェクト、つまり
(乱暴に言えば)変数に代入できる、値であるってところが味噌です。
(注:ファーストクラスオブジェクトという言葉自体は、オブジェクト指向(のオブジェクト)とは無関係です。なんか不安なので一応説明。)
つまり、ClassNameっていう部分を変数にしておいて、
そこにClassNameとは「同じではない」クラスを代入おくことが(も)出来る、ってことです。
Re:これって。。 (スコア:0)
簡単に言うとクラスメソッドの多態を導入するには、
> ClassNameの部分がファーストクラスオブジェクト
である事が必要であるのに Java はそーなってませんよね。
Re:これって。。 (スコア:1)
○ファーストクラスオブジェクトな「クラス」が有る(これはJavaでも満たしています)
○対応する変数の型も存在する(Javaに無いのはこっち)
○「クラス」をその変数に代入するとき、継承関係に見合った代入の制限が行なわれる(これもJavaに無い)
だと思います。
Classクラスの各インスタンスは各クラスに対応して存在してるようですが、
それの代入の制御が出来てないんですね。
あ。あと、
○変数の型によって(クラス)メソッドの呼び出し可能性を制御する(これもJavaに無い)
もですね。