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

OOLとは何か、OOPとは何か」記事へのコメント

  • DQNはともかく少なくとも俺は、
    「OO言語を使うの必須だ」とは言ってません。
    #俺もまたDQNかどうかは、さておくとして。

    べつにLispでもいいんじゃないですか?
    OOPというよりもどちらかというと、参照ベースの変数とか、GCとか、そっちのほうが
    (気楽にプログラミングできるような高級な言語の)基礎としては大事な事柄で、
    それこそCLOSみたいに、それらの仕組み(だけ)を駆使してライブラリレベルでOO言語風に仕立ててもいいんだし。

    問題はshだとそれ「すら」旨くできない、という点だと思います。
    OO「も」出来ない(やりにくい)。
    そしてそれは、それ以外の色々なことも出来ない(やりに
    • 書きながらいろいろ考えていることの一つに、
      「結局どうやってこの分野に改革を起こすのか」というのがある。
      つまり、
      「ロードマップはできたけど、どうやって実装しよう」
      「実装は終わったけど、どうやってみんなに使ってもらおう」
      というところがある。

      この問題に対するアプローチのやり方はいくつかあると思うけど、
      趣味のプログラミングとしては、「現状+α+α+α+…」
      といった感じで、ちっちゃい変更をどんどん加えていく方向でしか
      実現はありえない、と思ってる。
      そういった意味で、G7 さんの意見はしきいが高く感じちゃうなぁ。

      で、そういった意味からすると r
      --
      # mishimaは本田透先生を熱烈に応援しています
      • > 趣味のプログラミングとしては、「現状+α+α+α+…」
        > といった感じで、ちっちゃい変更をどんどん加えていく方向でしか
        > 実現はありえない、と思ってる。
        それってメインストリームの変更方法じゃないですか?
        言ってみればC言語的な。

        わたしは、むしろ趣味だからこそ全く違うものをいきなり持ってこれるのだと思います。
        具体的な手法は、その言語・環境で動くキラーアプリを作るって、オープンソースで配布する。
        バイナリは自分好みの設定をデフォルトにして配布する。
        そうすると、その設定が気に入らない人が出てくる。
        ここで、じゃあソースからいじっちゃえ、という人が出てくれば言語が広まるはず・・・と。
        • > システムの規模が問題だと思っています。
          > 少なくとも、OS から一切別のものを作るようなアプローチはありえない、と。
          あ、プラットフォームレベルの話ですか。
          それだと互換性がって話ですか?
          作業量的な話でしたら、その作業は本当に一人でやるものなのか、と。

          > ライブラリに依存する、ライブラリに囲い込まれる
          ライブラリ(=.NETアセンブリ)に依存するのと、UnixToolsに依存するのって、
          そんなに違いますか?

          OpenBSD一味がgzipやgrepを置き換えるのと同程度の労力で、
          ライブラリの一部を私家版に置き換えることは可能だと思うのですが。

          > 状態がメモリ上
          • by G7 (3009) on 2004年06月27日 10時51分 (#577640)
            >また、/tmpをRAMディスクにして、そこに状態をおいたらどうなの?とか、

            記憶については、ハード媒体の違いは(抽象化可能であるので)どうでもよくて、
            問題は名前にどうbindするかっていう点だと思います。

            無名であることを許してくれるかとか、という点です。
            そういう意味で伝統的な「ファイル」は無名にならないんで困ります。
            パイプは無名だけど、引き換えに着脱が不自由で使えないし。

            あと無名の副作用(^^;としてGCも欲しいですねえ。

            あとObjectやClosureみたいに、複数の処理や状態を束ねる道具が欲しいです。
            ディレクトリでも良いのかも知れないけど、無名になれるのか?とか、
            GCはどうする?とか(ハードリンクが使えるならば参照係数法を採用できるんですが、
            ディレクトリはサポートされてないわけだし)…

            なお無名とかGCとかClosureを、かくも自信を持って(藁)お勧めするのは、
            これらがSchemeの必須機能に挙げられている機能だからです。
            つまりプログラミングをまともに支援するための必須アミノ酸。

            >UnixToolsはすでに存在するもの、Rubyや.NETはまだ存在しないもの、
            >として扱っているように感じます。

            というか、存在を「無視してもいいと思ってる」かどうかの差、という印象。

            >むしろわたしはOOPの方が非OOPよりもやさしいと思っています。

            やっぱりTaoOfObjectsの話が魅惑的ですね(^^;。たしかこんなの:

            「ある日私は、知人の医者にObject指向について説明した。
                すると医者答えて曰く、
                「よく判らないな。
                    じゃあそれ以前はどうやってプログラムを作っていたんだい?
                    想像がつかないなあ。」」

            >ただ、まともなOOLなら使っているうちにOOPが出来るようになるはず。

            余談ですが、C++は駄目だし、
            Javaも今(もっとマシな言語が実用速度で動く時代)となっては怪しいですね。

            特にC++は以前から苦々しく思っていました。
            原作からしてそうなのか、アホな周囲の参考書執筆者たちが悪いのか、は把握してませんが、
            とにかく、

            ○「オブジェクト」という言葉を使うべきところで「クラス」という単語を使う。
                (判りやすい)最悪の例が、「クラスを作る」という言葉。
                クラスのコーディングをするって意味じゃなくnewするっていう意味でこの言葉を使うから、駄目すぎ。

            なんていう現象が観測できるのは、本当に頭が痛いです。

            >#そもそも「OOPができる」をどう定義するかがまず問題ですが。

            「オブジェクトは機能である」みたいなことを言わなくなったら、ですかね(藁
            ですから、かなりの割合の参考書執筆者も失格です。

            だって、機能っていう説明のしかたでよいなら、手続き指向だって同じ「機能」なんですから。
            OOPでも手続き指向でも、機能分割だってやりますよね。

            問題は機能なりなんなりを「どういう単位で」区切るか、なんですけどね。

            あとクラスとオブジェクトを混同しないことですかね。
            クラスは所詮はオブジェクトのプロトタイプでしかない、と悟れるかどうか。
            親コメント

アレゲはアレゲを呼ぶ -- ある傍観者

処理中...