パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

IBMがSunにJavaのオープンソース化を求める公開書簡」記事へのコメント

  • これって。。 (スコア:1, すばらしい洞察)

    by Anonymous Coward
    これって、M$に「Windowsをオープンにしろ!」って言ってんのと何が違うんでしょうか?

    誰もそんなことを言わないのは(言ってる人がいたら基地外だ)、Linuxという代替物があるから、という側面もあるからですよね。

    そうであるなら、今あるオープンな処理系、もしくは、まったく新しいオープンな処理系を、Javaに対抗できるレベルにまで高める(普及させる)ことをこそ目指すべきだと思います。

    そもそも、オープンにしないことを指弾するなんて、傲慢も
    • by Anonymous Coward
      > 所詮、JavaはCOBOLと同じ [dreamhost.com]で、

      これ書いた人はJavaの価値もCOBOLの価値もわかってない人だと思うんだけど。
      • by Anonymous Coward
        >これ書いた人はJavaの価値もCOBOLの価値もわかってない人だと思うんだけど。

        価値ではなくて、言語として進化の袋小路にあるって話なんだけど。
        別にJavaの価値を否定しているわけではないでしょう。

        Javaの言語としての限界は、Strutsが
        • 確かに、デザインパターンとかも、プログラミング一般というよりも 特定の言語(例えばJava)の限界
          回避するための書き方のパターンってのが結構あるもんねえ。
          クラスメソッドの多態が出来ればBuilderなんてわざわざ作らなくていいのに、とかさ。

          更に悪い冗談なのはJ2EE Patternかな。
          もろ、J2EEのデザインのショボさを誤魔化すためのパターンの塊でしょ。
          EJBの重さを回避するパターンだって?最初からEJBを軽く作れよな。

          StrutsはXMLでプログラム(webアプリでは、それ即ち画面)の遷移を記述する、つまりXMLでプログラミングする
          という冗談をやってるわけですが、
          あんなの、昨今話題の「継続ベースのwebアプリ」つまり継続が使える言語ならば
          普通のコ
          • by Anonymous Coward
            > クラスメソッドの多態が出来ればBuilderなんてわざわざ作らなくていいのに、とかさ。
            静的型付け言語でクラスメソッドの多態(?)ができるのってありましたっけ?
            また、クラスメソッドの多態が出来ても Builder が必要なくなるとは思えません…

            > EJBの重さを回避するパターンだって?最初からEJBを軽く作れよな。
            自分で作れば?
            • >静的型付け言語でクラスメソッドの多態(?)ができるのってありましたっけ?

              Delphi。
              コンストラクタ(特殊なクラスメソッドだという位置付けのようです)にもvirtualキーワードがつきます。
              ってゆーかつく方が普通です。標準のライブラリで使いまくりです。

              > クラスメソッドの多態が出来ても Builder が必要なくなるとは思えません

              減りはするとは思いますよ。

              >自分で作れば?

              あはは。まあそれはそうだ。
              ただ、それを言ってもいいなら、言語についても
              特定の奴(たとえばJava)以外の選択肢だって
              「自分で作れ」で話は済むわけで、
              あらゆる批判の意味がキャンセルされ
              • by Anonymous Coward
                > Delphi。
                Delphi 風の記法をするためには、クラスメソッドが多態できるだけではだめですよね。

                > あらゆる批判の意味がキャンセルされるだけ。
                まぁそうですね。
                批判が建設的でなかったので嗜めたつもりなんですが。
              • >Delphi 風の記法をするためには、クラスメソッドが多態できるだけではだめですよね。

                ん?「Delphi 風の記法」とは、Delphiに数多ある特徴()のうちの、どこまでを指すんですか?
                てか、とりあえずここではクラスメソッドの多態の話(だけ)をしてたと思うんですが…

                >使ってる言語ごとに頭を切り替えられるようにした方が良いと思いますよ。

                それって「妥協しろよ」と言っているに等しいわけで、
                かなりショボい意見だと思うんですが。

                どの言語の表現力も同じくらいであるならば、
                プログラマの頭のほうを切り替えれば話が済むんですが、
                実際にはそうではなく、言語には表現力の多寡(や方向性)の相違が
              • by Anonymous Coward
                > てか、とりあえずここではクラスメソッドの多態の話(だけ)をしてたと思うんですが…
                言葉が足りなくてすみません。
                クラスメソッドの多態は、ClassName.MethodName(ArgumentList) って
                記法でサポートできるんですか? という話です。

                > 妥協することですか?(藁
                あなたが出来ることに関して言えば、そうです。
                他の人であれば他の方法もあると思いますが。

                > #糞環境しか与え
              • >クラスメソッドの多態は、ClassName.MethodName(ArgumentList) って
                >記法でサポートできるんですか? という話です。

                Delphiでは出来ます。

                ここで、ClassNameの部分がファーストクラスオブジェクト、つまり
                (乱暴に言えば)変数に代入できる、値であるってところが味噌です。

                (注:ファーストクラスオブジェクトという言葉自体は、オブジェクト指向(のオブジェクト)とは無関係です。なんか不安なので一応説明。)

                つまり、ClassNameっていう部分を変数にしておいて、
                そこにClassNameとは「同じではない」クラスを代入おくことが(も)出来る、ってことです。
              • by Anonymous Coward
                長々と説明していただいて申し訳ありませんが、
                簡単に言うとクラスメソッドの多態を導入するには、
                > ClassNameの部分がファーストクラスオブジェクト
                である事が必要であるのに Java はそーなってませんよね。
              • by G7 (3009) on 2004年02月29日 19時10分 (#505101)
                ええと。まとめると、

                ○ファーストクラスオブジェクトな「クラス」が有る(これはJavaでも満たしています)
                ○対応する変数の型も存在する(Javaに無いのはこっち)
                ○「クラス」をその変数に代入するとき、継承関係に見合った代入の制限が行なわれる(これもJavaに無い)

                だと思います。
                Classクラスの各インスタンスは各クラスに対応して存在してるようですが、
                それの代入の制御が出来てないんですね。

                あ。あと、

                ○変数の型によって(クラス)メソッドの呼び出し可能性を制御する(これもJavaに無い)

                もですね。
                親コメント

※ただしPHPを除く -- あるAdmin

処理中...