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

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

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

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

    問題はshだとそれ「すら」旨くできない、という点だと思います。
    OO「も」出来ない(やりにくい)。
    そしてそれは、それ以外の色々なことも出来ない(やりに
    • 議論の基礎知識がないので本格参入はできませんが、ちゃちゃだけでも^^;;

      まず、ご存じないような感じがするのでirbの紹介
      http://www.rubyist.net/~matz/?date=20030815
      これを使ってUnixのコマンドを呼べばかなりのことができそうに感じます。

      Windowsでしたら、ActiveScriptRubyをいれれば、一通り遊べます。
      http://www.geocities.co.jp/SiliconValley-PaloAlto/9251/ruby/

      もっとも、Rubyからでは標準出力と標準エラー出力を同時に取れなかったと思うため、
      完璧なものではないでしょうけれども。

      ###
      個人的に「UnixのOOラッパーとしてのRuby」という言い回し
      • 基礎知識とか必要ないですよ(笑)

        > 言い換えれば、そんなRubyが真に動く環境ではUnixと同じことができるわけですね?
        > しかもOOラッピングされた状態で。

        ruby とかまともに使ったことがないのでわからんです
        --
        # mishimaは本田透先生を熱烈に応援しています
        • >(傍から聞いていると、単に ruby という製品に囲い込まれているだけのような気がする)

          それ言ったらお終いです。
          なぜなら、現状のUnixだって「BSD(だっけ)に囲い込まれてる」「Cに囲い込まれてる」
          と言えてしまうんだから。

          >もしそういう環境があったとして、どういうところがうれしいですか?

          OOPで考えられるところ、でしょうね。
          べつに難しくはないですよ。
          今までだって手続き指向という、1つの恣意的な(^^;考え方で考えてただけなんですから、
          それがOOPという別の恣意的な(^^;考え方に移行したって、基本的には同じ。
          あとはどれだけやりたいことが楽にやれるかの違
          • > >(傍から聞いていると、単に ruby という製品に囲い込まれているだけのような気がする)
            > それ言ったらお終いです。
            > なぜなら、現状のUnixだって「BSD(だっけ)に囲い込まれてる」「Cに囲い込まれてる」
            > と言えてしまうんだから。

            それは別の話でしょう。
            「BSD に囲い込まれてしまった」「C に囲い込まれてしまった」。
            それらは過去形です。でも、ruby にはまだ囲い込まれたわけではない。
            ruby は筋がいいのかもしれないけれど、
            それ以外にもスクリプト言語にもいろいろあるわけで、
            それぞれの言語で囲い込みが起きてしまうのはあんまりうれしくない。
            まぁある程度の「選択と集中」ってのは必要なのかも知れんですが。

            > なお、Ruby独特のクサさについては、あまり心配しなくていいと思います。
            > おおむね優等生な言語なので、癖で悩むってことはあまり無いです。

            G7 さんにそう言わせるということはいい言語なんだろうなぁ…

            > ところで、
            > http://seasarproject.g.hatena.ne.jp/habuakihiro/20040610#1086855240
            > (とその前後周辺の記事)が、ちょっと気になってます。

            あ、これ面白いですね。
            なるほど、自分はユーザアプリから Web に来た方なんだけど、
            いわゆる汎用機とかから業務アプリで来た人からすると
            現状の Web ってそういう風に見えるわけか。
            その時代のアプリケーションの流れ、開発の流れ、設計の流れを
            そのまんま Web に落とし込んでるような案件はそこらじゅうにありますね。
            あーいろいろ分かった気がします。

            んー、ただ、はぶ氏の解決したい問題領域と俺の解決したい
            問題領域は、規模が違いますね。
            俺がパイプで何とかなる、と想定しているのは割と小規模だなぁ。
            個人~数人の規模。

            > ある意味で正論だし、「それじゃ戦えないから状態やねんOOPやねん」とも思うし、
            > それでも判らんDQN(笑)はやっぱり居るから救済しろってのもあるだろうし、
            > DQNなんか支援しても意味ないじゃんとも思うし…

            (笑)でも結局、支援しないとどうにもならんとも思うのです。

            ところで、プログラム開発はたいてい小規模→大規模と
            変化していくものだと思いますが、この途中で再設計しろ、
            作り直せ、っていうのがまぁ理想的なんでしょう。
            再設計の途中で上流の設計に変更が生じていろいろ作り直し、
            なんていうのがよくあるパターンだと思いますが、
            例えばその上流部分に宣言型言語を使うことによって
            変更点をそれなりにうまく吸収、なんていう可能性はないもの
            ですかね?
            まぁ思いつきなんですが。
            --
            # mishimaは本田透先生を熱烈に応援しています
            親コメント
            • >それらは過去形です。でも、ruby にはまだ囲い込まれたわけではない。

              それは身も蓋も無さすぎです(^^;

              >それぞれの言語で囲い込みが起きてしまうのはあんまりうれしくない。

              ああ。rubyという実装自体に囲われるのは困りますね。
              #でもそしたらCに囲い込まれてるのも問題視しなきゃだ。

              まあ字面としてのrubyには、流石に囲い込まれる価値はないでしょう。

              #そういう意味では、Unixも、Cというよりは正確にはアセンブラに囲い込まれてるんだよね(藁
              #なんせ*.oとかの中間ファイルはCじゃなくアセンブラとかのためのものでしょ。
              #お陰でCで使うときは*.hなんていう余計な介助物が必要になっちゃう(T_T)

              ただ、JavaやSmalltalkや次世代Perlがやっている、
              VMだかなんだかの上で生きてくっていう路線なら、
              いいんじゃないでしょうか。
              たとえばJVMの上で動く言語は無数に存在するわけで、ああいう感じね。
              尤も、そういうニーズには、Rubyはまだ対処できませんが…。#それともJRubyとか?(^^;

              で、それによって何が替わるかってーと、
              C(アセンブラ)+プロセス+ファイル
              というUnix世界からの脱却ですね。 Java(OS)やSqueakみたいな感じになる。

              >俺がパイプで何とかなる、と想定しているのは割と小規模だなぁ。

              面白いですね。
              俺に言わせれば、Pipeじゃ困るようになると想定してるのは、「更に」小さい領域です。

              つまり、俺とmishimaさんの言葉の両方が正しいとすれば、
              Pipeが生きていける分野は、中(?)規模だ、ということなりそう。

              ただ、規模とは直交じゃないか?という気もしますけどね。
              バッチ処理はPipeと相性良いから、色々な規模で活動できるんじゃないかなとか。

              >(笑)でも結局、支援しないとどうにもならんとも思うのです。

              そーなんですかねえ?(藁

              DQNと立派な開発者との間の能力差は、10倍とも100倍とも、
              或いは更に符号すら違う(藁)という話が有るんで、
              ついてこれねー奴は「ふるい落とす」ほうが正解
              であるような気もしています。

              てゆーか、輪切りが不可能であるような気がしています。
              「能力に応じた仕事」なんてものは実は無いと思っています。
              プログラミングを成り立たせる必要能力水準は、そんなに低くないんで、
              結局一握りの人以外は「どんな仕事でも」役立たない、というだけじゃないかと。

              #明らかに能力の無さげな会社に居るのでG7
              #もっとも、上得意様も同様にDQNなので、割れ鍋になんとやらですが、その更に顧客は可哀想。

              >例えばその上流部分に宣言型言語を使うことによって
              >変更点をそれなりにうまく吸収、なんていう可能性はないものですかね?

              それは、変更点が「常に」その宣言型言語の領域に収まるか?という問いと等価ですね(^^;

              となると、どこならば生でコーディングしても良いのか?という問題にぶち当たりそうです。
              コーディングしちゃった部分に、後から変更が必要になることも有るだろうし、
              後から慌ててリファクタリングしたとしても、該当部分をコードから宣言型言語に「追い出す」ことが
              常に可能かどうかは保証無しじゃないかと。
              親コメント

私はプログラマです。1040 formに私の職業としてそう書いています -- Ken Thompson

処理中...