日本Ruby会議2008 0th day
参加してきました。
が、Golfコンペ (お題に従って、できるだけ短いプログラムを作る) に熱中しすぎて、ちゃんと講演を聞いていませんでした。
とりあえず、いくつか印象に残った言葉をメモっておきます。
- まつもとゆきひろ氏: (NaClのSIビジネスにおけるRubyの適用について) 島根のお客さんは、結果さえ出れば文句は言わない (ので、Rubyを使うことへの障壁が低い)。東京のお客さんは、使う技術 (例えばJava) を指定してくることが多い。最近ではRailsの普及から、Ruby/Railsが指定されることも増えてきた。
- Rubyビジネスコモンズ 最首氏: Javaに対するRubyの優位点の1つとして、学習曲線の早さがある。「Javaが使えます」という技術者でも、個々のフレームワークやそのデザインパターンまでは使いこなせないことが多く、マニュアル化と教育にかかる手間が大きい。
- CTCの方 (お名前失念): エンタープライズ向けにRubyが普及する条件として、メディア (例: 日経、NHK) をはじめとする社会的評価の影響が大きい。社会的評価は、Rubyコミュニティによる「Ruby愛」を原動力として生まれる。この流れはLinux普及と共通。今後のエンタープライズRubyの普及のためには、Rubyのブランド化 (役員クラスの間で、「Rubyを使うと幸せになるらしい」と認識されること) と、品質面での安心度 (標準規格化)、技術者の流通が上げられる。技術者の流通を促進するために、CTCでは、Ruby技術者認定試験を主催している。
- 永和システム 角谷氏: Rubyとアジャイル開発の組み合わせにより、「ふつうのシステム開発」ができる。「ふつうのシステム開発」とは、投資効果のある、ちゃんと動くソフトウェアを、期待される期間内に提供し、維持・変更し続けられること。お客さんの要件は、最初からきっちりとは決まっていない (ゆるふわ)。イテレーティブかつインクリメンタルな開発により、ドンピシャなシステムを構築することができる。
- TIS 倉貫氏: 大企業での自社開発ソフトウェアのオープンソース化は大作RPGのようなもの。小ボス (課長)・中ボス (部長)、...と倒していくことでレベルアップする。ラスボスは社長。
あと、どなたの講演か失念しましたが、「コミュニティに対して情報/ノウハウを提供することは一種の投資であって、そこから別の情報/ノウハウを得ることができる」というような話が印象的でした。
Golfコンペ では、参加者が少なく、参加者は全員何かしら賞品をもらっていたようです。私は以下の書籍をゲットしました。
RailsによるアジャイルWebアプリケーション開発 第2版
- 作者: Dave Thomas,David Heinemeier Hansson,Leon Breedt,Mike Clark,Andreas Schwarz,James Duncan Davidson,Justin Gehtland,前田修吾
- 出版社/メーカー: オーム社
- 発売日: 2007/10/26
- メディア: 大型本
- 購入: 18人 クリック: 300回
- この商品を含むブログ (134件) を見る
以下、Golfコンペ での私の回答結果を晒してみます。それなりに頑張ったつもりですが、まだまだ修行が足りないようです。
問題1: 'hello' と出力
puts'hello'
12バイト (改行込み)
模範回答
puts:hello
10バイト (改行なし)
問題2: 複利計算
a=gets.split(':').map{|i|i.to_i} s=a[1] a[0].times{puts s;s=(s*(100.0+a[2])/100).to_i}
87バイト (改行込み)
問題3: 漢数字表記の数値 (<10000) をASCII表記に変換
t=Hash["一",1,"二",2,"三",3,"四",4,"五",5,"六",6,"七",7,"八",8,"九",9,"",1] $<.each{|i| n=0 i=~/(.*)千(.*)/&&(n+=t[$1]*1000;i=$2) i=~/(.*)百(.*)/&&(n+=t[$1]*100;i=$2) i=~/(.*)十(.*)/&&(n+=t[$1]*10;i=$2) i=~/.+/&&n+=t[$&] puts n}
241バイト (改行込み)