The plan and worth of Ruby 1.9

Post on 14-Jul-2015

1.489 views 1 download

Transcript of The plan and worth of Ruby 1.9

Yuguiproject Rottenmeier

The plan and worth of Ruby 1.9

12008年11月9日日曜日

Self introduction

Yugui

The release manager of Ruby 1.9 series

“Hajimete-no Ruby” (ISBN:978-4-87311-367-8)

22008年11月9日日曜日

Hajimete-no Ruby

O’Reilly Japan

32008年11月9日日曜日

Agenda

What is Ruby 1.9

How we develops it

When to migrate your programs

How to migrate your programs

42008年11月9日日曜日

What is Ruby 1.9

The next generation Ruby?

1.8 series - major

1.9 series - step

2.0 series - ideal

52008年11月9日日曜日

Versioning Scheme

62008年11月9日日曜日

Ruby 1.9Virtual machine - bytecode compiler

Native threads and fibers

Multilingualization

Improvement of the syntax

Restructuring libraries, and RubyGems

72008年11月9日日曜日

What happened?many evaluators - HotRuby, unholy

Neverblock, shooting games?

processing non European languages - no mojibake

easier to learn?

clean standard libraries

82008年11月9日日曜日

Virtual machine

called “YARV - Yet Another Ruby VM”

faster

bytecode level portability

“.class file”?

92008年11月9日日曜日

Native thread

light weight switching

heavy to create

giant lock

102008年11月9日日曜日

Fiber

semi-coroutine

non pre-emptive user-level thread

Neverblock - prevent DB adapter from blocking

event driven libraries

112008年11月9日日曜日

MultilingualizationString#encoding, Symbol, Regexp

Character literals

IO#external_encoding, IO#internal_encoding

default_external, default_internal

122008年11月9日日曜日

String

“あいうえお”.length #=> 5

“あいうえお”.bytesize #=> 15

“あいうえお”.encoding #=> #<Encoding:UTF-8>

132008年11月9日日曜日

Character literals

?a #=> “a”?あ #=> “あ”?அ #=> “அ”

142008年11月9日日曜日

external/internalFile.open(“/path/to/file”, “r:EUC-JP”) {|f| f.read.encoding #=> #<Encoding:EUC-JP>}

File.open(“/path/to/file”, “r:EUC-JP:CP932”) {|f| f.read.encoding #=> #<Encoding:Windows-31J>}

152008年11月9日日曜日

default_internal / default_external

magic comments

# -*- encoding: CP932 -*-

162008年11月9日日曜日

Ruby 1.9 on RailsPerformance improvement?

multiple VM?

eval hell

collision!

172008年11月9日日曜日

Release schedule

1.9.1 preview 2 2008-11-25

1.9.1 release candidate 2008-12-25

1.9.1 - 2009-01-25

1.9.2 - 2010?compatibility?

182008年11月9日日曜日

Release managementsupport levels

maintainers

feature freeze

cool down phase

issue tracker

192008年11月9日日曜日

Support levels

Supported - perfect

Best effort - enough to use

Perhaps - ??

Not supported - ????

202008年11月9日日曜日

Issue tracker

Redmine

Rails

http://redmine.ruby-lang.org

212008年11月9日日曜日

When to use 1.9

stability

1.8 based programs

libraries

step to 2.0

222008年11月9日日曜日

How to migrate

magic comment

syntax errors / block parameters, block locals

encoding

(multilingualization)

232008年11月9日日曜日

Conclusion

modern, faster, more useful Ruby

will be more stable

try it out!

242008年11月9日日曜日

THANK YOU

252008年11月9日日曜日