その1

第363回 わかみず会(2015.5.13)
Rubyを学ぶ・Ruby で学ぶ
小島 俊雄
1 Rubyの現状
2 Ruby
2-1 Rubyの概要
2-2 Rubyで作成されたシステム例
2-2 ローマ数字/アラビア数字の変換
2-2 リレーショナルDBスキーマ設計
2-3 Turingと機械について
3 今後に向けて
Rubyを学ぶ・Ruby で学ぶ
• なぜRubyと思ったか
- 日本語で学ぶ自習書等の環境が整備
- 利用実績が十分ある
- 幅広い世代のプログラミングで高い評判
⇦ オブジェクト指向、充実したライブラリ
• Ruby on Rails 等ウェブアプリケーションでも評価
されていて、近未来においても可能性は拡大
- 標準化、プログラミングコンテストや資格等
- mrubyの広範囲での利用
一般財団法人Rubyアソシエーション
http://www.ruby.or.jp/ja/
・ Rubyの普及と発展
・ Ruby技術者認定試験
・トップページ->技術者向け情報
チュートリアル、コーディング規約
動機になった3冊の本
・高橋昌一郎:ノイマン・ゲーデル・チューリング,筑摩選書
・Tom. Stuart著,笹田耕一監訳,笹井崇司訳:
アンダースタンディングコンピュテーション,
オライリー・ジャパン
・ Rubyサポーターズ著:パーフェクトRuby,技術評論社
一般社団法人日本Rubyの会
http://ruby-no-kai.org/
・Rubyの利用者や開発者の支援
・Rubyist Magazine (るびま)の発行
・RubyKaigiの開催
三鷹市は、Rubyに関連したITベンチャー
を育てる方針がるようで、小学生から、中
学・高校生向けまでの講習会やプログラミング
コンテスト等も行っている。
2014年の結果(表彰式の動画例は
https://douga.24stream.com/
moviePlayer.php?movie=15486865190c68
(株)まちづくり三鷹 (著), 高橋征義 (著), 池澤あやか (著)
入門編では、色や速度等、属性値の変更等について
プログラムの動作を、「仕組み」として理解できるようになっている。
Ruby の学び方
結城浩・まつもとゆきひろ Rubyを語る
日経ソフトウェア 2007.8
http://itpro.nikkeibp.co.jp/article/COLUMN/20070621/275509/?ST=develop&P=1
結城「本を1冊書かないと,
ある言語をわかったという気がしない」
-> 沢山見つかる、
利点・欠点や好き・嫌いの記事は
・・・
同じ対談で「一定期間、没頭する」ことの指摘
Rubyの特長
・シンプルな文法
・普通のオブジェクト指向機能(クラス、メソッドコール等)
・特殊なオブジェクト指向機能(Mixin、特異メソッド等)
・演算子オーバーロード
・例外処理機能
・イテレータとクロージャ
・ガーベージコレクタ
・移植性の高さ。UNIX、Windows、Mac等で稼働
三鷹市「株式会社まちづくり三鷹」 中学生コンテスト
http://www.mitaka.ne.jp/
島根県 ホームページの利用、講習会・・・
http://www.pref.shimane.lg.jp/itsangyo/
福岡県 福岡県Ruby・コンテンツビジネス振興会議
http://www.digitalfukuoka.jp/
クックパッド株式会社
http://cookpad.com/
※ 自治体の支援の拡がり(徳島県等の活動など)
・・・自治体OSSキットを開発テムに拡がる可能性
※ mrubyを用いた組み込みシステムへの適用
マイクロソフト: windows10がrasapberry Pi2 上で稼働
ロボット制御等に拡がる可能性?
プログラミング言語としての確立?
萩谷昌己: RubyのJIS規格化・ISO規格化を祝って, 情報
処理 53, No.8 ,2012
プログラミング言語としての確立は
新しいプログラミング言語が
元のコミュニティとは独立のコミュニティから・・・
アラン・チューリングについて
近藤滋大阪大学大学院教授:
生物の複雑な形(例えば、タテジマキンチャクダイ)ができる仕組を、
理論的に解明し実験により実証する研究を行っている。
http://www.fbs.osaka-u.ac.jp/labs/skondo/
にTuringの論文等を引用した文があり、その説明が、上記のURLである。
・High Performance Ruby の開発
(平木敬東京大学大学院教授)
・Prolog処理系 200行(Ling 沖電気?)
http://codezine.jp/article/detail/461
まとめ
一応の概説説明の後
プログラムを
irbで確認しながら説明予定
※ 意味論やTuring機械等は話題提供に至らなかった。
※ 一応の理解の段階でHP上の公開をお願いしたい。
今後の計画
ウェブプログラムに入る前に
Rubyに習熟が必要と考えている。
講習会・セミナーへの参加
資格の取得を目指す
silver と gold がある。
※ プログラミング力の向上
ミニツク等で繰り返し復習
※ その後、チューリング機械のシミュレータ