SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

【RubyKaigi'08】詳細レポート

【RubyKaigi'08】詳細レポート : 多様化するRuby(続)

日本Ruby会議2008 詳細レポート 後編


  • X ポスト
  • このエントリーをはてなブックマークに追加

教育用のRuby

 基調講演とM17Nについてのセッションの後は、立て続けに教育に関するセッションが並んだ。

 これらはいずれも実体験に基づく興味深い内容であったが、ここでは、特に増原英彦氏の『Ruby《を》教えてるんじゃない、Ruby《で》教えてるんだってば』を取り上げる。

 なぜならば、増原氏のセッションでは、Rubyについてこれまでほとんど語られることがない側面が取り上げられていたからだ。

非OOPLとしてのRubyの利用

 最初に増原氏は、コンピュータサイエンスの授業でRubyを利用していることを説明した。つまり、Rubyはコンピュータサイエンスにおける諸概念をプログラミングを通して教えるためのツールとして利用しているのであり、Rubyプログラミングを教えているのではない、ということだ。

 この観点から、次のようにRubyを利用している。

少ない制御構造

 制御構造としては、if then elseとwhile、そしてfor i in min..(max - 1)の3種類の利用に留め、Rubyの特徴であるイテレータは教えない。

オブジェクトをオブジェクトとして意識させない

 講義がオブジェクト指向パラダイムに到達するまでは、メソッド呼び出しに「.」を利用した書き方は教えず、関数的な記述か、演算子としての記述のみに限定する。

 例えば、絶対値を取るために、Numeric#absメソッドを呼ばせたりはしない。

 これらは、講義で教えたい内容以外の要素が入り込むことを避けるための方策だ。

なぜRubyを選択したか

 では、なぜRubyなのか? という疑問は当然あるだろう。最初から非OOなプログラミング言語という選択肢があるからだ。これには、次のような複数の理由がある(注1)。

Macに既定でインストール済みの処理系

 学生の教育用のコンピュータとしてMacが導入されているのでMacで動作することが大前提である。

自宅で自習したい学生のために、WindowsやLinuxでも簡単にインストールできる処理系

 ほとんどの学生はWindowsコンピュータを所持していると考えられるため、簡単にインストールできるWindows版の存在が望ましい。ちなみにWindows版としてはActiveScriptRubyを示されているそうだ。

フリーな処理系

 同様に、自習用にインストールする学生のことを考えると、フリーな処理系が望ましい。

配列が利用できること

 講義で使うため、組み込みの配列が必要。最初はDrSchemeを考えていたそうだが、この点で脱落したそうだ。

対話型環境

 これまでの感触から、ソースファイルをエディット、保存した後に、コンパイルするというのはバリアーになるので、対話型環境が良い。Rubyには、irbという対話型環境があるため、この点を満たしている。

標準ライブラリの充実

 Benchmarkライブラリが用意されているため、アルゴリズムと計算量の関係を示すのが簡単。

注1
 セッションでは、Rubyを推薦した先生がたの著書を示す説明をされた。

次のページ
Rubyの落とし穴

修正履歴

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
【RubyKaigi'08】詳細レポート連載記事一覧
この記事の著者

arton(アートン)

専門は業界特化型のミドルウェアやフレームワークとそれを利用するアプリケーションの開発。需要に応じてメインフレームクラスから携帯端末までダウンサイジングしたりアップサイジングしたりしながらオブジェクトを連携させていくという変化に富んだ開発者人生を歩んでいる。著書に『Ruby③ オブジェクト指向とはじめての設計...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2734 2008/09/05 11:31

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング