ひだかです。
kikwai@... (機械伯爵) wrote:
> ところが、パラダイム混在型のRubyを使用する場合、「オブジェクト指向でない
> 部分」を「利用する必要」がでてくるので、上記の趣旨には当てはまらないと思い
> ます。
>
> もっとも、Rubyについては浅学なので、完全にプライベートメソッドを使わずに
> コーディングできるのであれば、私の考えは全面的に撤回したいと思います。
print は STDOUT.print とでも(書きたいのなら)書けばいいでしょう。
Math.sin(x) とかはどうやってもプライベートメソッドになるかもしれません。
TSruby にも書きましたけど、でもそれをオブジェクト指向で書けたとして
嬉しいでしょうかね。
> もっとも、Rubyの目指す先が、C++やPythonのように、オブジェクト指向言語の
> パラダイムと手続き指向言語のパラダイムの調和を目指すところにある、というの
> ならば、それはそれで意義のあるものだと思いますが(そうなんでしょうか?)
作者じゃないので正確なところはわかりませんが、Rubyの目指すものは
まさにそれなんじゃないでしょうか。ですけどC++とは違います。Pythonは知りません。
スクリプトの書き方としてはオブジェクト指向・非オブジェクト指向の両方で
書けて、ライブラリなどは全てオブジェクト指向の枠組みで書くことで
見通しをよくし、拡張性を高めることを狙っていると思います。
だから、書き方だけをみたらパラダイムは混在していますし、そのほうが
便利だという判断です。この点では、Smalltalk のような不自由さ・不自然さ
から逃れるためにRubyは生まれてきたと思っています。
中身が(ほぼ)純粋オブジェクト指向であることは、入門レベルでは意識する
必要はないでしょう。ライブラリを書いたりカスタマイズしたくなったときに
初めてその便利さが実感できるとおもいますから。
> 初心者が覚えるべき言語は、プログラム的な思考のベースとなりうるものであって
> 欲しい、と私は思っています。
であれば、VBScript とか HSP とか勧めないでください;)
> ただし「Rubyではどうしてこうなってるの?」という質問が来た場合には非常に
> 答えにくいので「Rubyで始めるなら、一切私に質問するな」と釘はさしておきます
> が(笑)
そうしてください:)
--
ひだかたかひろ cv8t-hdk@...-net.or.jp