the plan and worth of ruby 1.9
TRANSCRIPT
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日日曜日