Ruby
[Wikipedia|▼Menu]
.mw-parser-output .hatnote{margin:0.5em 0;padding:3px 2em;background-color:transparent;border-bottom:1px solid #a2a9b1;font-size:90%}

この項目では、プログラミング言語について説明しています。「ルビー」・「ルビ」の他の使い方については「ルビー (曖昧さ回避)」をご覧ください。

RubyRubyのロゴ
パラダイム関数型プログラミング命令型プログラミングオブジェクト指向プログラミングリフレクション 
登場時期1995年 (29年前) (1995)
開発者まつもとゆきひろ 
最新リリース3.3.0 - 2023年12月25日 (4か月前) (2023-12-25)[1][2] [±]
型付け強い動的型付け, ダック・タイピング
主な処理系MRI, YARV, JRuby, IronRuby, MacRuby
影響を受けた言語AdaDylanPerlPythonSmalltalkC++CLUEiffelLISPBASICLuaEmacs 
影響を与えた言語D言語[3]GroovySwiftCrystalScalaElixir
プラットフォームMicrosoft WindowsLinux*BSDmacOS 
ライセンスRubyライセンス、GPL 2.0、2条項BSDライセンス 
ウェブサイトwww.ruby-lang.org
拡張子rb、rbw 
テンプレートを表示

プログラミング言語>>他のプログラミング言語

カテゴリ / テンプレート

Ruby(ルビー)は、まつもとゆきひろ(通称: Matz)により開発された、簡潔な文法が特徴的なオブジェクト指向スクリプト言語[注釈 1][4]

日本で開発されたプログラミング言語としては初めて国際電気標準会議(IEC)で国際規格に認証された事例となった[5][6]
概要

Ruby は1993年2月24日に生まれ、1995年12月にfj上で発表された。名称の Ruby は、プログラミング言語 Perl が6月の誕生石である Pearl(真珠)と同じ発音をし、「Perlに続く」という意味で、6月の次の誕生石(7月)のルビーから名付けられた[7]。競合言語として Perl の他に Python があり、「Matz(まつもと) が Python に満足していれば Ruby は生まれなかったであろう」と公式のリファレンスの用語集で言及されている[7]

機能として、クラス定義ガベージコレクション、強力な正規表現処理、マルチスレッド例外処理イテレータクロージャMixin利用者定義演算子などがある。Perl を代替可能であることが初期の段階から重視されている。Perlと同様にグルー言語としての使い方が可能で、C言語プログラムやライブラリを呼び出す拡張モジュールを組み込むことができる。

Ruby 処理系は、インタプリタコンパイラが存在する(詳しくは#実装を参照)。

可読性を重視した構文となっている。Ruby においては整数や文字列なども含めデータ型はすべてがオブジェクトであり、純粋なオブジェクト指向言語といえる。

長らく言語仕様が明文化されず、まつもとによる実装が言語仕様に準ずるものとして扱われて来たが、2010年6月現在、JRuby や Rubinius といった互換実装の作者を中心に機械実行可能な形で明文化する RubySpec という試みが行われている。公的規格としては2011年3月22日にJIS規格(JIS X 3017)が制定され、その後2012年4月1日に日本発のプログラム言語では初めてISO/IEC規格(ISO/IEC 30170)として承認された[5]

フリーソフトウェアとしてバージョン1.9.2までは Rubyライセンス(Ruby License や Ruby'sと表記されることもある。GPLArtisticに似た独自ライセンスを選択するデュアルライセンス)で配布されていたが、バージョン1.9.3以降は2-clause BSDLとのデュアルライセンスで配布されている[8]
ゆかりのある地域

Rubyは日本の国産言語として知られており、特にRubyとゆかりのある地域はRubyの聖地と呼ばれている。

静岡県浜松市 - 開発者のまつもとゆきひろが日本タイムシェア株式会社(現:TIS株式会社)の浜松市にあった研究所に勤務していた1993年にRubyの開発を開始[9]

愛知県名古屋市 - 株式会社トヨタケーラム(現:株式会社トヨタシステムズ)在籍時、1995年にRubyをオープンソースソフトウェアとして公開[9]

島根県松江市 - 1997年から島根県松江市に移り、同市の株式会社ネットワーク応用通信研究所 (NaCl)フェローとしてRubyの普及に尽力[9]

設計思想

開発者のまつもとゆきひろは、「Rubyの言語仕様策定において最も重視しているのはストレスなくプログラミングを楽しむことである (enjoy programming)」と述べている。Ruby には Perl や Python とは決定的に違う点があり、それこそが Ruby の存在価値なのです。それは「楽しさ」です。私の知る限り、Ruby ほど「楽しさ」について焦点を当てている言語は他にありません。Ruby は純粋に楽しみのために設計され、言語を作る人、使う人、学ぶ人すべてが楽しめることを目的としています。しかし、ただ単に楽しいだけではありません。Ruby は実用性も十分です。実用性がなければ楽しめないではありませんか。 ? まつもとゆきひろ、Ruby プログラミング入門 まえがき 監修者よりのページ

ただし、まつもとによる明文化された言語仕様は存在しない。Perlのモットー「やり方はいろいろある (There's More Than One Way To Do It; TMTOWTDI)」は「多様性は善 (Diversity is Good)」というスローガンで Ruby に引き継がれてはいるものの最重要なものではないとも述べており、非推奨な手法も可能にするとともに、そのような手法を言語仕様により使いにくくすることによって自粛を促している。

また、まつもとは『まつもとゆきひろ コードの世界 スーパー・プログラマになる14の思考法』でもRubyの開発理由を次のように述べている。「なぜRubyを開発したのか」。そのように問われるときに、もっとも適切な答えは、Linux開発者であるリーナス・トーバルズの言葉と同じではないかと思います。『それがぼくには楽しかったから』 ? まつもとゆきひろ、まつもとゆきひろ コードの世界 スーパー・プログラマになる14の思考法 P.9

また、英語圏の開発者の間ではMINASWAN (Matz is nice and so we are nice. 和訳: まつもとがナイスだから我々もナイスであろう) の標語が用いられている。

「Python、PHP、Perlでは静的型を導入しているため、Rubyも型を導入するべきでは」と長年言われているが、まつもとは「Rubyに型を取り入れたくない。DRY (Don't repeat yourself)ではないから?」?「?型宣言することはコンピュータに使われているような気になる」と否定的であり、2019年5月現在Rubyに静的型が導入される予定はない[10]


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:72 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef