• 締切済み

Rubyってどうよ!?

Rubyってかなり良さそう(一通り文法を見た限りでは、少なくとも 対象領域 がもろかぶる Perl よりはかなり良さそう)だけど、実際どんなもん? もちろん、現行サポート体制がままなっていないけれど、オライリーからも「動物本」が出ているし、今後PHPと平行して、サポートするところが増えてきそう。 (なんといってもマニュアルが全て日本語から先行して出て行くところが、われわれが他の言語で背負いつづけている一種の「ハンデ」が逆転するわけでおもしろい。) で、Ruby関連の掲示板にとうこうすると、感情的な意見ばかりくるだろうから、ここに投稿したわけなのですが、冷静に見て、将来Rubyはどんなものですかね。 (私の見る限り、「真のオブジェクト指向」「真のスクリプト指向」を実現している唯一の言語だと思うのですけど、文字列系記述はPerlと同等に強力で、オブジェクト指向にいたっては他の言語の追随をゆるさず、スクリプト的柔軟さでも、Perlをも軽く凌駕していると思いました。あくまで文法を一通りみての感想ですが。。。) なお、Ruby関連サイトは大体見て回ったので、サイト紹介はいらんです。

みんなの回答

  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.1

「回答」でなく「意見」が求められているようなので意見を書きます。 良い言語ですよ。 少なくとも(開発中といわれる)Perl6が出てくるまでは最高のスクリプト言語でしょう。 もっと普及してもいいはずなんですが「CGIってperlのプログラムのことでしょ?」みたいな風潮があるので何とも言いがたいです。 プログラム言語って「良い言語が使われる」という保証はありません。 歴史的に見てもAIDAはPL/Iに勝てなかったし、JavaはC++に(いまだに)遅れを取っています。 特にJava(NativeJavaを含めて)なんかあらゆる意味でC++を凌駕しているにもかかわらずJavaベースのアプリケーションはほんのわずかです。 現状でサーバサイドプログラミングを考えたら ・速度的にはJavaサーブレット ・記述が楽で速度重視ならPHP ・実行環境の普及率はperl、PHP ・資料/サンプルが多く勉強しやすいのはperl Rubyの普及は難しいかもしれません。 多分私はrubyやperlは使いません。 コマンドを作るならawkとshellでたいてい書けるし、サーバーサイドスクリプトなら実行が速いPHPを選びます。

kokucho81
質問者

お礼

さっそくのご意見どうもありがとうございます。 >もっと普及してもいいはずなんですが「CGIってperlのプログラム >のことでしょ?」みたいな風潮があるので何とも言いがたいです。 そうですね~。レンタルサーバーなども、ある程度枯れているperlを使用させたい、というのもあるでしょうし、「rubyを使う=実験的側面」という色合いが濃くなるため、個人的な趣味を超えると、ちょっと使用には抵抗がありますね~。 >プログラム言語って「良い言語が使われる」という保証はありません。 >歴史的に見てもAIDAはPL/Iに勝てなかったし、JavaはC++に(いまだに) >遅れを取っています。 そうですね、「高潔さ」や「統一感」にとらわれすぎた言語は、「実践」に要求される「柔軟」さ、に耐えられないため、使用されないですね。Javaなどが「本当の実践」で使用させる機会が非常に少ないのも、この辺に理由があるのでしょうね。 実際にJavaではPS2のゲームプログラムなんぞ到底組めそうにないですね。Javaは型にはめすぎている。 >サーバーサイドスクリプトなら実行が速いPHPを選びます。 >記述が楽で速度重視ならPHP apacheの組み込みモジュール同士で、PerlとPHPだとPHPの方が実行が速いのですか?(どちらも所詮スクリプトなので、おそいもン同士のどんぐりの背比べなのですが(笑)) >Rubyの普及は難しいかもしれません。 >コマンドを作るならawkとshellでたいてい書けるし、 そうですか~。私は、Windows系なので、awkなどは使わないのですが、(せいぜい、GNUのために、cygwin-BASHが入っているという程度です。)Rubyは面白そうかな~と、思ったのですが、はやんないですかね~。はやんないとむなしいですよね~。

関連するQ&A

  • オブジェクト指向Perlの勉強の仕方について

    今までPerlで掲示板などを自作した事があるのですが、オブジェクト指向をまったく取り入れていません。 オブジェクト指向でないPerlプログラミングについてはおおよそ理解しているつもりなのですが、 オブジェクト指向Perlについては全く理解できていません。 書籍を探しても、Perlについての書籍は大抵が初心者向けのものか、私にとっては難解なもの(オライリーなど)ばかりで、ちょうどいい程度の書籍が見当たらないのですが、 何かオススメの書籍がありましたらご紹介ください。 ---参考:私が理解している範囲--- 1.Perlプログラミングの基礎 変数、配列、ハッシュなどのデータ型 ループやサブルーチン、ライブラリなどの構造 2.オブジェクト指向について MacromediaFlashのActionScriptがある程度 理解できていますので、 「オブジェクト指向とは何か」 は多少理解しているつもりでいます。 (錯覚かもしれませんが) 3.目的 PerlMagickなどのパッケージを利用したいのだが、 利用方法がわからないため ------------------ 以上、身勝手な質問で恐縮ですが、 よろしくお願いします。

    • ベストアンサー
    • Perl
  • rubyの分かり易い書籍

    rubyを勉強しようかなと思い(会社からもrubyをやってみろと言われたので)、色々と書籍を探しているのですが、田舎のせいか近所の本屋には殆どruby関連の本がありません。 そこで、amazonなどの通販にしようかなと考えているのですが、当然ながら中身を吟味することが出来ません。 だいたいの本ならある程度は役に立つと思いますが、その中でも何か良い本はありますでしょうか? 別のプログラミング言語として、VBとPHPなどは判ります(簡単な掲示板システムくらいなら自分で組めるレベル) 色々と見てみると、rubyは文法などがPHPとは違ってて(見た目は)VBに近い印象があるのですが、そういった文法的な物を重点的に解説している本が欲しいです。 PHPを勉強したときは、「10日でおぼえる」シリーズに辞書みたいなリファレンスを組み合わせて読むと割と分かり易かったのですが……個人的な希望として、このような2冊が欲しいのですがありますでしょうか? 安い買い物でもないので、アドバイス的に色々と知りたいです。 よろしくお願いします。

  • Pythonの利点は?

    こんにちは。高校生のぴぷりんです。 僕はJava/JavaScriptを中心にやっています。 オブジェクト指向の言語にはいろいろありますが、 そのなかでPythonなるものがあります。 PerlやRubyは書籍も多く知名度が高いのですが、 Pythonあまり見かけることがありません。 そこでPythonをやっている人に質問です! Pythonの利点・欠点を教えてください。

  • Rubyでsendmailを用いる方法

    Rubyのカテゴリがなくて少し残念だったりしますが……。 詳しい方どうぞご教示くださいませ。 今までずっとデータの処理などにRubyを用いていたのですが、最近になってようやくRubyでCGIを組むという行為に手をつけ始めました。全体的にPerlよりも軽やかに書けて快適なのですが一箇所疑問があります。 それは題名の通りsendmailの使い方なのですが、Rubyでメール送信方法を検索すると大抵SMTPを利用した手順が紹介されていますよね。もしくはメールの文法に深く突っ込んで意味不明なスクリプトですか……。 確かにこれらをコピペすれば送信は可能といえば可能なんですが、どうも自分で納得が行っていない部分があると気持ち悪いというか、エラーが出たら対処できません。 CGIを設置するサーバにはsendmailがセットアップされているという前提として、これを使ってRubyでメールを送るスクリプトをどなたか示していただけないでしょうか。僕が探し漏らしているだけできちんと説明されているサイトがあるのでしたら、URLだけでも構いません。 宜しくお願いします。 ※ ネットワークうんぬんは絶対的に見ても相対的に見ても悲しいくらい理解が浅いので、もしとんでもない勘違いを申しているのでしたらご指摘いただければありがたいです。

  • 関数型言語の普及について

    関数型言語の普及について 趣味でプログラミングを勉強しているものです。今までにJavaやRuby等、オブジェクト指向言語を中心に勉強してきました。 今日、あるきっかけで関数型言語のHaskellを勉強し始めました。 そして、実際にプログラミングをしてみたり、関数型言語について調べてみると、まだ大きなアプリは書けないものの、今までのやり方(手続き指向、オブジェクト指向)が不要なのではないかと危惧する程の斬新さ、強力さが感じられました。 しかし、そんな関数型言語も未だに普及しているとは到底言えません。Haskellは関数型言語の中でも新しいもののようですが、それでもJava、Rubyよりも昔に発表されている言語です。 どうしてHaskell等の関数型言語は主流になっていないのか、関数型言語が従来の言語に劣っている点を中心に、皆さんの意見を聞かせてください。

  • スクリプト言語としてのPHPについて

    PHPについてほとんど知らない者です(他の言語もほとんど知りませんが・・・)。 Webで検索していると、Webアプリを開発するLL言語としてPHP, Ruby, Python, Perlを使っているというケースをよく目にします。一方、タスクを自動化するためのスクリプトを記述する言語としては、Ruby, Python, Perl, シェルスクリプトで記述しているケースをよく目にします(Linux/UNIX系)。 そして、PHPはWebアプリ開発言語としてかなりのシェアを占めていそうだが、スクリプト言語としてはそんなにシェアを占めていないのかな? という印象を持ちました。 そこでお聞きしたいのですが、スクリプト言語としてのPHPは他の言語と比較してどのような感じなのでしょうか? PHPはWebアプリ開発言語としてだけではなく、スクリプト言語しても開発現場でRuby, Perl同様に使われているといった感じなのでしょうか? あるいは、WebアプリはPHPで書いてるけど、スクリプトはPHP以外(Ruby, Pythonなど)で書いているという方は結構いるのでしょうか?その場合、何故PHPを使わずに別の言語を使っているのでしょうか? ご意見をお聞かせください。

    • ベストアンサー
    • PHP
  • Perl, Ruby, Pythonいずれかの習得

    私は普段、 C, C++, nasm を使ってプログラミングしています。 最近(主にテキスト等の処理のために)スクリプト言語を習得しようと思いたち(C++のboostでもいいんだけど)、どれがいいかと悩んだ結果、タイトル通り Perl, Ruby, Python のどれかがいいという考えに至りました。 一つ一つの言語としてのメリット、デメリットはあると思いますが、この3つに関しては至るところで議論されていますし、五十歩百歩というのが結論のようです。 そこでこれらの言語をお使いの方々から現在 CやC++ を主に使っている人間が最も習得しやすいとおもわれる言語はこの3つのうちどれかについてご意見賜りたくおもいます。 よろしくお願いします。

  • C++とJava

    オブジェクト指向を採用しているC++とJava。オブジェクト指向プログラミングに関連している部分で、二つの言語の大まかな違いは何でしょうか。

  • VBがオブジェクト指向言語でない理由

    一般的にVBはオブジェクト指向ではない(VB7でその方向へ向かう)といわれていますが、実際にVBをさわり始め、いろんな本を読んでみると、 1)クラスが作成でき、構造体と関数を1つにまとめ、メンバ(プロパティ・メソッド)を定義付けできる 2)Implementsステートメントでクラスの継承が出来る と、ある程度のオブジェクト指向言語の要件を備えているように見えます。 といっても私はJAVAもSmallTalkも知らないので、「何が真のオブジェクト指向か」というのを良く判っていないのかも知れないのですが。 しかしC++関連書などを読んでいると出てくるクラスの使用例などはVBのそれと大差なく、なぜクラスの作成もできて、継承も可能なVBがオブジェクト指向ではないのか? という疑問がわいてきました。 JAVAとは何が違うのか? これが出来ないからオブジェクト指向ではないのだ! という理由をご存じの方、回答もらえればうれしいです。

  • シェルスクリプトのBシェル(Bourne)に出てくる、$0,$1,$2

    シェルスクリプトのBシェル(Bourne)に出てくる、$0,$1,$2...のような位置パラメタや、$?,$$,$!,$-のような特殊変数がありますが、これはPerlやRubyもあるようですが、意味や効果、やり方等は同じでしょうか。 当方はPHP,JavaScriptしか触れていませんし、PHPやJavaScriptは、そのような位置パラメタや特殊変数は見当たりませんでした…。 つまり、PerlやRubyはUNIXのコマンドから誕生したスクリプト言語ということでしょうか。 こういった位置パラメタや特殊変数はPerlやRuby以外に他の言語にもありますでしょうか。PythonとかCとかJavaとか…。 また、Bシェルを学んでいる途中ですが、シェルスクリプトの中にはbourne以外にもbashやC Shell,zsh,Perlがありますが、何故Perlが入っているのでしょうか。 Perlをやっている方は別途シェルスクリプトをやる必要はないということでしょうか。

専門家に質問してみよう