RubyとPHP(仮) 歴史
2008年03月17日(月)11:10|久末
久末です。
昨年の半ばくらいからRubyとPHPの比較本を出すという企画があり、 本稿は書籍化のための草稿の一部です。 遅々として進まない原稿をブログを利用して、ややスローではあるものの 進めていくという趣旨で公開します。
歴史
Rubyとは
Rubyはまつもとゆきひろ氏が開発したシンプルかつ強力なオブジェクト指向スクリプト言語です。 Rubyは文法的にはPerlの影響を受けていますが、Smalltalkのような 厳格なオブジェクト指向を採用しています。また、メタプログラミングや動的型付けも大きな特徴です。
Rubyは1993年まつもとゆきひろ氏によって誕生しました。 1995年に一般公開向けの最初のバージョンRuby0.95がリリースされました。 1996年12月にはRuby1.0がリリースされ、1998年12月には安定版のRuby1.2、 開発版のRuby1.3がほぼ同時にリリースされました。 以降、二桁目(1.xのx)が偶数のものが安定版、奇数のものが開発版としてリリースされ、 2007年にリリースされているRuby1.8.6系が最新の安定版になっています。 また、1.9.0が開発版ですが、これ以降奇数・偶数による安定・開発というルールは 撤廃され、2007年12月24日にリリースされた1.9.1は安定志向版となっています。(※ということになっているはずでした。)
RubyのライセンスはRubyライセンスまたはGPLのデュアルライセンスとなっています。 Rubyの公式実装はインタプリタでC言語で実装されています。ただしバージョン1.9以降は VM(バーチャルマシン)上で動作するようになっています。 また、公式ではありませんが、JavaによるJRubyやXRuby,.NETのIronRuby,Rubiniusなどの 実装も存在します。
Rubyは1.8より前の安定版バージョンではPHPと比較すると標準ライブラリが少なく、 またドキュメントは現在でも十分といえる状態ではありません。とはいえ、 1.8以降、精力的にライブラリが標準パッケージに採用され、ドキュメントは青木峰郎氏らの 「Rubyリファレンスマニュアル刷新計画」があり、今後 十分なものが用意されると予想されます。
Ruby on Rails
Ruby言語そのものではありませんが、Rubyの2回目のバブルの火付け役となった Ruby on Rails(以下、Railsと略す)はデンマークのプログラマである David Heinemeier Hansson氏によって開発されたWebアプリケーションフレームワークで、 2004年7月25日に公開されました。本書執筆時点では2.0.2が最新版となっています。
RailsはMVCアーキテクチャを採用したWebアプリケーションフレームワークで、
- DRY(Don’t Repeat Youself 同じことを繰り返さない)
- CoC(Convension over Configuration 設定より規約)
という思想に則って設計されています。 具体的な特徴としては
- Model,View,Controllerなどをはじめとするさまざまなコードのジェネレータ
- ActiveRecordを利用したORマッパー、migration,アジャイルモデリング
- RESTfulなWebアプリケーション開発
などが挙げられます。
Ruby年表
- 1993.02.24 Ruby誕生(名前が決まる)
- 1995.12.21 Ruby 0.95 リリース(一般初公開)
- 1996.12.25 Ruby1.0リリース(安定版)
- 1998.12.24 Ruby1.3リリース(開発版)
- 1998.12.25 Ruby1.2リリース(安定版)
- 1999.08.13 Ruby1.4リリース(安定版)
- 1999.10 『オブジェクト指向スクリプト言語Ruby』(アスキー)出版
- 1999.11 Ruby1.5リリース(開発版)
- 2000.09.19 Ruby1.6.0リリース(安定版)
- 2000.11 『Rubyデスクトップリファレンス』(オライリージャパン)出版
- 2000.11.29~2000.12.01 Perl/Ruby Conference at 京都
- 2000.12.15 『Programming Ruby: The Pragmatic Programmer’s Guide』 (Dave Thomas, Andrew Hunt)
- 2000.12.26 Ruby1.7.0リリース(開発版)
- 2000 第一次Rubyバブル
- 2000.10~2001.12 Rubyを256倍使うための本 (アスキー)出版 – 2000.10 邪道編 – 2001.01 極道編 – 2001.02 無道編 – 2001.03 魔道編 – 2001.05 紅玉制覇編 – 2001.05 場外乱闘編 – 2001.06 網道編 – 2001.08 黄道編 – 2001.12 界道編
- 2001.10.12 RubyConf 2001(USA)
- 2001.12 『Rubyソースコード完全解説』(インプレス) 出版
- 2001.12 『The Ruby Way』(Sams) 出版
- 2002.04 『たのしいRuby』(ソフトバンクパブリッシング)出版
- 2002.12.25 Ruby1.6.8リリース(安定版)
- 2003.8.4 Ruby1.8.0リリース
- 2004~2005 第二次Rubyバブル
- 2004.07.25 Ruby on Railsリリース
- 2005.12.13 Ruby on Rails 1.0 リリース
- 2006.06.10 日本Rubyカンファレンス開催
- 2006.08 プログラミングRuby 第2版 言語編(オーム社) 出版
- 2006.08 プログラミングRuby 第2版 ライブラリ編(オーム社) 出版
- 2006.12 『Agile Web Development With Rails』 (Pragmatic Programmers) 出版
- 2007.03.13 Ruby1.8.6リリース
- 2007.12.24 1.9.1(リリース予定)
PHPとは
PHPは1995年Rasmus Lerdorf氏によって開発された動的なWebページ生成 のためのプログラミング言語です。PHPは主にサーバサイドで実行される スクリプト言語ですが、コマンドラインインターフェースもありますし、 GUIアプリなどの開発も可能です。PHPは「Personal Home Page Tools」という名称で 登場しましたが、現在は「PHP Hypertext Preprocessor」とされています。
PHPはRasmus Lerdort氏が自身のホームページを生成する際に開発していた PerlスクリプトをC言語のCGIとして開発したものが原型となっています。
PHPは開発当初Rasmus Lerfdort氏が自身のレジュメや訪問者数のカウント数などの データを表示するために開発したものです。PHPは1995年6月8日に 公開リリースされました。 その後Rasmus Lerford氏が持っていたフォーム処理のシステムと統合し、 PHP/FI(PHPのバージョン2という位置づけ)となりました。
1997年Zeev SuraskiとAndi Gutmansの二人によってPHP 3のパーサの原型が 開発されました。またこのときPHPを「PHP Hypertext Preprocessor」という 名前をつけました。(※自己参照していますね。)
PHP/FI 2が数か月のベータテスト後、1997年11月に公式にリリースされました。 またPHP3は1998年6月に公式に立ちあげられ、1999年二人によってZend Engineが リリースされました。
彼らはその後イスラエルのRamat GanにZend Technologiesを創業し、 PHPの開発を精力的に行いました。
2000年5月PHP4はZend Engine 1.0によってリリースされました。 PHPは1995年最初のバージョンが公開され、現在は4.4系と5.x系が 安定バージョンとして提供されています。
現在PHPは4系と5系の二つのメジャーバージョンがあり、4系は4.4.7が、 5系は5.2.4が(執筆時点で)最新バージョンとなっています。 また、4系の4.4.7は2007年12月31日までで開発が終了し、 2008年8月8日までセキュリティアップデートされる予定となっています。
PHP年表
- 1995.06.08 PHP1.0公開
- 1997.04.16 PHPバージョン2(PHP/FI)リリース
- 1998.06.06 PHP3.0(Zend Engine 1.0)リリース
- 1999.09 『PHP徹底攻略―Webとデータベースの連係プログラミング』(ソフトバンククリエイティブ)出版
- 2000.05.22 PHP4.0.0リリース
- 2000.09 『PHP4徹底攻略―Webとデータベースの連携プログラミング』(ソフトバンククリエイティブ)出版
- 2001.12.10 PHP4.1.0リリース
- 2002.03 『PHP4徹底攻略 実戦編―実践的Webアプリケーション開発技法 』(ソフトバンククリエイティブ)出版
- 2002.04.22 PHP4.2.0リリース
- 2002.09 『PHP4徹底攻略―Web DBプログラミング徹底入門 [改訂版]』(ソフトバンククリエイティブ)出版
- 2002.12.27 PHP4.3.0リリース
- 2004.07.13 PHP5.0.0(Zend Engine II)リリース
- 2005.07.11 PHP4.4.0リリース
- 2005.11.24 PHP5.1.0リリース
- 2006.11.02 PHP5.2.0リリース
- 2007.05 PHP4.4.7リリース(4系最終バージョン)