2004年1月22日号
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 「続システムはオブジェクト指向 Ruby & Flash」(#001) 福井修@Fsys.NET 【○】本日のお題 「人にやさしいプログラミング言語」━━━━━━━━━━ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■■【 はじめに 】 ──────────────────────────────────── こんにちは、福井システムリサーチの福井です。 前シリーズ注1)に引き続き「続システムはオブジェクト指向 Ruby & Flash」と いうテーマで執筆させて頂きます。 RubyとFlashのエレガントなオブジェクト指向スクリプトデュエットについて連 載していますが、リッチクライアントの方向は、ますますトレンドになってゆく 気配がします。 このリッチクライアントを実現する方法は、JavaのAppletや マイクロソフトの Office System(かつては ActiveX というのもありましたが..)また本命Flashの ColdFusion連携などいろいろある訳です。 なぜ Ruby と Flash が良いのかについては、前シリーズで書きましたのでどう ぞご覧ください。 本連載では、1) 折々のトピックス 2) Windowsで Ruby したり 3) 前回の応用編 の Ruby&Flash&PostgreSQL での 応用例の少々濃い目の話しを交えながら システ ムや実装について書き進めたいと考えています。 対象は、サイト企画者やサイト管理者、システム実装者、また プログラミング に興味がある方で今後の動向をチェックしたい方などを想定致します。 どうぞよろしくお願い致します。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ Javaのめまぐるしい変遷 ──────────────────────────────────── プログラミング言語の話題なので、Javaの動向もチェックしておきましょう。 Java Technology Conference 2004 が2月18日から開催されます注2)が、目玉の J2SE1.5(Tiger)のコンセプトが ”Ease of Development ”(簡単開発)です。 また何度か取り上げましたが、JSF(JavaServer Faces)もJavaが簡単に開発できる ようにするツールです。「簡単」になることをことさらに掲げるというのは、現 状はそうではないということです。 Strutsは、サーブレットとJavaServer Pages (JSP) を使用するMVC(Model-View- Controller)のフレームワークで、JSPとサーブレットでの問題をJSPタグの導入 したりパターンを括りだして(フレームワーク化)改善しようとした進化した方 式です。注3) Strutsが普及し出したところでJSFが華々しく登場し、StrutsとJSFの機能の一部 は重複する注4)ので、せっかくStrutsでの開発に慣れて来てもまた変更を迫られ ます。 また年末にJ2EEの最新バージョン(Ver1.4)がようやく正式に出ましたので、そ れに対応していないツールは、どんどん時代遅れになってゆきます。 さらに Eclipse はどんどん浸透していますから Eclipseを使いこなしていない とこちらも時代遅れになってゆきますし。 Java開発の現場は、次々追いかけるのは大変ですね。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■ お手軽な Ruby ──────────────────────────────────── オブジェクト指向スクリプト言語 Rubyの 感動的なところは、何度も語ってき ましたが、Rubyも バージョンが上がっています。昨年8月12日に 1.8.0 さら に12月25日に 1.8.1 がリリースされました。 まだ実際にさわっていない方の為に、今回は この最新版をインストールして は じめの一歩を解説します。是非 体験してみてください。 ノートPCでWindowsXPを使っているという方は多いと思いますが(私もそうです) そのケースで Windows版Rubyに踏み出してみましょう。 ・ ダウンロード WindowsでRubyを使うにはmswin32版,cygwin版,mingw32版,bccwin32版,djgpp版 などがありますがまあ Win32版がメジャーです。 中村(う)さんのサイトからバイナリが入手できます。 http://www.dm4lab.to/~usa/ruby/#mswin32 からruby-1.8.1-i386-mswin32.zipをダウンロードします。 ・ 解凍 .zipファイルを解凍するとbin,doc,lib,manのフォルダとREADME.1st,MANIFEST ファイルに展開されます。 ・ 設置 c:\Program Files\ruby フォルダを作成し解凍したフォルダ達をそこに配置し ます。 ・ PATH設定 システムのプロパティ 「詳細設定」「環境変数」「システム環境変数」 変数 Path に "c:\Program Files\ruby\bin;"を追加します。 ・ 動作確認 コマンドプロンプトの画面で ruby -v と入力します。 ruby 1.8.1 (2003-12-25) [i386-mswin32] と反応があれば、インストールOKです。 ・ はじめてのプログラム コマンドプロンプトの画面で irb と入力します。 これで、対話式に Ruby を実行できます。 ( readline.dll が無いと怒られたりしますが気にしない^^; ) irb(main):001:0> のプロンプトが出て入力待ちになったら p 'Hello Ruby!' と入力します。これは文字列 "Hello Ruby!"を出力せよという命令です。 Enterを押すと "Hello Ruby!" と応答し =>nil と評価結果が出ればOKです。 対話を終了するには quit と入力します。 これで もう あなたは Ruby プログラミングに 踏みだしたのです。 ・ 次は プログラムソースファイルを作成して実行 エディタ等(Notepad.exe..)で次を入力してソースファイルを作成します。 先程と同じ p 'Hello Ruby!' をソースとして入力して、first.rb というファイルを作成してセーブします。 実行します。 > ruby first.rb "Hello Ruby!" と出力されるはずです。 簡単ですね。 ・ さらに 今度は、現在時刻を出力してみましょう。 p Time.now これを 対話式でも ソースファイル作成実行でもやって見て下さい。 Wed Jan 21 03:14:32 東京 (標準時) 2004 とか 現在時刻が出力されます。 これは Timeクラスの nowメソッドを実行しているので、もうあなたは オブジェクト指向プログラミングが実践できたのです。 一行で先端オブジェクト指向プログラミングが実践できるのですから なんと人に優しいプログラムなのでしょう (^-^) もっとやってみたくなったら 「Ruby」で ぐぐって注5)みましょう。山ほどヒ ットしますよ。 また Javaで 現在時刻を 出力するのはどうすればよいでしょうか。 次回比較してみましょう。 重装備 Java に対して オブジェクト指向ではより先進なRubyお手軽さが際立ち ます。既に「簡単」さは ready です。コンパイルが不要という一点でも簡単さ が長じています。簡単に書けるということは、同じテーマでもかかる時間が少な くて済みますし、同じ時間では、より深く高度なことができることになります。 人にやさしいプログラム言語の方が、より複雑・高度なことが出来る条件が揃う のです。 では また次回をお楽しみに ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ※ 注釈、資料、参考情報 ──────────────────────────────────── 注1) 前シリーズの「システムはオブジェクト指向 Ruby & Flash」 1.【 はじめに 】なぜオブジェクト指向なのか そして Ruby&Flash なのか http://www.melma.com/mag/02/m00020302/a00000592.html 2.【 基本編 】オブジェクト指向とは http://www.melma.com/mag/02/m00020302/a00000602.html 3.【 基本編 】Ruby がなぜすごいのか http://www.melma.com/mag/02/m00020302/a00000612.html 4.【 基本編 】Flash ActionScript をオブジェクト指向から見ると http://www.melma.com/mag/02/m00020302/a00000621.html 5.【 実践編 】MVCモデル を Ruby&ActionScript で実装する http://www.melma.com/mag/02/m00020302/a00000631.html 6.【 実践編 】サーバサイドで Ruby&PostgreSQL 連携 http://www.melma.com/mag/02/m00020302/a00000641.html 7.【 実践編 】LoadVars連携での ログイン認証 http://www.melma.com/mag/02/m00020302/a00000651.html 8.【 実践編 】LoadVars連携での DB検索 http://www.melma.com/mag/02/m00020302/a00000661.html 9.【 応用編 】Ruby&Flash&PostgreSQL での 郵便番号検索 http://www.melma.com/mag/02/m00020302/a00000671.html 10. 【 応用編 】Ruby&Flash&PostgreSQL での 応用例 http://www.melma.com/mag/02/m00020302/a00000681.html 注2)Java Technology Conference 2004 featuring Sun? TechDays http://www.jtc2004.com/ 注3) Struts、オープン・ソースMVC実装 http://www-6.ibm.com/jp/developerworks/java/010824/j_j-struts.html 注4) Struts、Tiles、JavaServer Facesを統合する http://www-6.ibm.com/jp/developerworks/java/040109/j_j-integrate.html 注5) google で検索することを「ぐぐる」と言います。 【プロフィール】 福井 修 ( FUKUI Osamu )o-fukui@po.iijnet.or.jp 福井システムリサーチ http://fsys.net/ 主幹。システム構築歴27年。 システム構築エキスパート 日本Linux協会、神戸商工会議所、情報処理学会、関西IT共同体 会員 関西ソーホ・デジタルコンテンツ事業協同組合員 デジタルハリウッド神戸校 Java講師
復刻の一覧も挙げておきます。
「システムはオブジェクト指向 Ruby & Flash」 1.【 はじめに 】なぜオブジェクト指向なのか そして Ruby&Flash なのか 復刻 http://d.hatena.ne.jp/iR3/20060410 2.【 基本編 】オブジェクト指向とは 復刻 http://d.hatena.ne.jp/iR3/20060411 3.【 基本編 】Ruby がなぜすごいのか 復刻 http://d.hatena.ne.jp/iR3/20060412 4.【 基本編 】Flash ActionScript をオブジェクト指向から見ると 復刻 http://d.hatena.ne.jp/iR3/20060413 5.【 実践編 】MVCモデル を Ruby&ActionScript で実装する 復刻 http://d.hatena.ne.jp/iR3/20060414 6.【 実践編 】サーバサイドで Ruby&PostgreSQL 連携 復刻 http://d.hatena.ne.jp/iR3/20060415 7.【 実践編 】LoadVars連携での ログイン認証 復刻 http://d.hatena.ne.jp/iR3/20060416 8.【 実践編 】LoadVars連携での DB検索 復刻 http://d.hatena.ne.jp/iR3/20060417 9.【 応用編 】Ruby&Flash&PostgreSQL での 郵便番号検索 復刻 http://d.hatena.ne.jp/iR3/20060418 10. 【 応用編 】Ruby&Flash&PostgreSQL での 応用例 復刻 http://d.hatena.ne.jp/iR3/20060419