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

まつもとゆきひろ氏が新言語「Streem」を開発中」記事へのコメント

  • PowerShellより先に発表していればともかく、今になっての発表で、PowerShellの一文字も出さないで「Erlangの影響を受けました(キリッ」とか。

    でも、RubyがSmalltalkの影響を受けていることを認めなかったように、今度もまつもと氏は認めないんだろうな。
    で、Smalltalkのときと同じ言い訳(Smalltalkなんてマイナー言語使ったことなかった)をするんだろう。

    • by Anonymous Coward

      PowerShellなんてWindows系のプログラマですらろくに触ってないと思うんだが…

      • PowerShellは、プログラマが開発に使うようなもんじゃないよ。
        クラスすら定義できないしね。
        # C#を埋め込むような形では可能だけど。

        でも、Linuxでもプログラマが開発言語にbashを選ぶことは稀だろ?
        それと同じ。

        一方、インフラエンジニアはよく使ってる。
        てか、WindowsやVMwareを運用するなら、使わざるを得ない。
        Linux上のbash程じゃないにせよ。

        • by Anonymous Coward

          PowerShellは便利なんだけどオブジェクト指向の知識が無いと使いこなせん
          テキストベースのパイプラインスクリプト言語しか使った事無いエンジニアが
          挙動を理解できずにハマっている印象が強い

          • PowerShellは便利なんだけどオブジェクト指向の知識が無いと使いこなせん

            「オブジェクト指向の知識」は大袈裟でしょう。
            だって、継承も仮想関数も知らなくて構わないんだから。
            せいぜい、.Net Frameworkとメソッド呼び出しを知ってればいい程度。

            でも、ハマるのは事実。
            Cmdlet相当の関数をちゃんと定義するのだけでも、PowerShell固有の知識が必要とされるしね。

            • by Anonymous Coward

              大袈裟じゃないです
              cmdletで取得したオブジェクトのプロパティがcmdlet実行時に決まらずに
              プロパティアクセス時に決まるとか理解してもらえない場合があります

              • cmdletで取得したオブジェクトのプロパティがcmdlet実行時に決まらずに
                プロパティアクセス時に決まるとか理解してもらえない場合があります

                その人は関数すら理解してないのでは?
                オブジェクト指向以前の問題だと思うな。

              • by Anonymous Coward

                $hoge = Get-Hoge
                $hoge.state
                2行目で関数呼び出ししていると言って理解できるのはオブジェクト指向言語を使った経験がある人だけ

              • $hoge = Get-Hoge
                $hoge.state
                2行目で関数呼び出ししていると言って理解できるのはオブジェクト指向言語を使った経験がある人だけ

                オブジェクト思考なんか知らなくても、構造体を知ってたり、関数ポインタを知ってたりしても不思議は無いと思うが。
                先にオブジェクト指向って言葉を知ってるから、メッセージパッシングだとかメソッド呼び出しとかで説明したくなるけど、違う言葉でも説明できると思うよ。

                ちなみに、PowerShellのメソッド呼び出しなら

                $hoge.state()

                になるはずだね。
                括弧必須。

              • by Anonymous Coward

                プロパティ(getter)はメソッドじゃないから括弧は必要ない。
                やっぱりPowerShell知らないのか。
                話にならん

              • 君の言ってるのは、ScriptPropertyだね。

                で、()無しで手続きを呼び出すことは、オブジェクト思考の専売特許でも何でもないね。

                加えて、すでに指摘した通り、

                $hoge.state

                で何らかの手続きを呼び出すのも、オブジェクト指向の専売特許でも何でもない。
                CとC++の関係を知ってれば、容易に理解できることなんだが。

                君の説明を、他人が理解しなかったとすれば、その原因は君自身にあるんじゃないかな?

              • by Anonymous Coward

                知らなかった事を認めずに苦し紛れの言い訳ですか。
                みっともない。

                あなたが何と言おうとcmdletはobjectを返す仕様なのです。
                それを否定するならMSに言ってください。

              • Cmdletがオブジェクトを返すから、オブジェクト指向でないと説明できない。
                ...という狭い考えを私は否定しているだけです。

                ScriptPropertyは、文字通りプロパティを意識しているわけです。
                プロパティは、オブジェクト指向特有の考え方ではなく、それ以前の構造体のメンバとしてでも説明可能です。
                メソッド呼び出しだって、構造体のメンバを関数として呼び出すことで説明できます。
                ちょうど、C++が仮想関数でそうしたように、です。
                ScriptPropertyはその組み合わせに過ぎませんし、()を付けずに関数を呼び出すことは珍しいことではありません。
                相手がこれらを理解できないとすれば、あなたの説明が悪いか、相手が関数も構造体も理解してないかのどちらかでしょう。
                私は、前者の可能性が非常に高い、と推測しています。

                私は、私の知識が十分でないことを認めてないわけではありませんよ。
                ScriptPropertyのことはすっかり忘れてました。
                あなたとはその辺りが違います(笑)。

              • by Anonymous Coward

                cmdletでオブジェクトを取得してそのプロパティにアクセスする事で情報を得たり
                メソッドを呼び出して何らかの操作を行ったりする事はオブジェクト指向とは無関係と
                主張するならどうぞ。

                そんなもの構造体のメンバと関数ポインタ使えばCでも簡単に実現できるぜ
                といった実装と無関係な概念の話なのですが理解はしてもらえないようですね。

              • cmdletでオブジェクトを取得してそのプロパティにアクセスする事で情報を得たり
                メソッドを呼び出して何らかの操作を行ったりする事はオブジェクト指向とは無関係と主張するならどうぞ。

                お、ついに出ましたな。
                相手が主張してもないことを否定して悦にいるメソッド(笑)。

                よっぽど反論に窮したようですね(笑)。

                そんなもの構造体のメンバと関数ポインタ使えばCでも簡単に実現できるぜ
                といった実装と無関係な概念の話なのですが理解はしてもらえないようですね。

                あなたが説明した場合はそうなんでしょうね。

                普通のレベルの人は、実装の話もできるし、コードの動作の話もできますし、相手に理解してもらうこともできます。
                事実、あなたは私の説明を理解しちゃいましたね。
                あなたにとっては、ひじょーにざんねんなことに(笑)。

                親コメント
              • by Anonymous Coward

                いろんな意味で幸せな人ですね。

                > 普通のレベルの人は、実装の話もできるし、コードの動作の話もできますし、相手に理解してもらうこともできます。
                十把一絡げで人月売りされているSEと呼ばれる集団での「普通のレベル」にそこまで期待できるとは。

                そのあなたの脳内「普通のレベル」集団とオブジェクト指向を知らない集団の積集合がφになったりしませんかね。

              • by Anonymous Coward

                相手が言ってもいないことを言ったことにして論破して悦に入るメソッドを
                看破されてしまったのだから、黙って逃げればいいのに・・・

              • 十把一絡げで人月売りされているSEと呼ばれる集団での「普通のレベル」にそこまで期待できるとは。

                あなたのレベルがそこまで低い…じゃなかった、あなたの周りのレベルがそこまで低いとは思ってませんでした。

                でもならば、なおのこと「オブジェクト指向」なんて難しい概念でなく、構造体とか関数とかで説明した方がいいんじゃないかな。

                そのあなたの脳内「普通のレベル」集団とオブジェクト指向を知らない集団の積集合がφになったりしませんかね。

                なっても問題ありませんよ。
                私の言う「普通のレベル」の人達は、メソッド呼び出しやプロパティを、オブジェクト指向の言葉に頼らずに、その実装やコードの説明をできる人を言います。
                一般に、そういう「普通のレベル」の人達は、オブジェクト指向についてある程度知っているでしょうから、オブジェクト指向を知らない集団とは重ならないでしょうね。
                何か問題でもありましたか?

                親コメント

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

処理中...