jruby for the win - jaoo.dkjaoo.dk/dl/ruby-london-2009/slides/olabini_jrubyforthewin.pdf · jruby...
TRANSCRIPT
Ola Binicomputational metalinguist
[email protected]://olabini.com/blog
JRuby for the Win
fredag, 2009 oktober 02
fredag, 2009 oktober 02
どうも有り難うございました
fredag, 2009 oktober 02
From Sweden
Language geek at ThoughtWorks
Experience with C/C++, C#, Java, Ruby, Lisp and many more
JRuby core developer
Creator of the Ioke language
Author of Practical JRuby on Rails (APress)
Creator of/contributor to numerous open source projects
Your host
Member of the JSR 292 EG
fredag, 2009 oktober 02
Implementation of the Ruby language
Java 1.5+
1.8.7 compatible (1.9.2 on the way)
Open Source
Created 2001
Embraces testing (~50,000 tests)
Current version: 1.3.1 (1.4 on the way)
EngineYard
ThoughtWorks
JRuby
fredag, 2009 oktober 02
Github
Kenai
IRC
~ 8 core developers
The project
fredag, 2009 oktober 02
Most compatible alternative implementation
Native threads vs Green threads
No C extensions
No continuations
No fork
ObjectSpace disabled by default
Differences
fredag, 2009 oktober 02
Threading
Unicode
Performance
Memory
Explicit extension API and OO internals
Libraries and legacy systems
Politics
Why JRuby?
fredag, 2009 oktober 02
Simple JRuby
fredag, 2009 oktober 02
Java types == Ruby types
Call methods, construct instances
Static generation of classes
camelCase or snake_case
.getFoo(), setFoo(v) becomes .foo and .foo = v
Interfaces can be implemented
Classes can be inherited from
Implicit closure conversion
Extra added features to Rubyfy Java
Java integration
fredag, 2009 oktober 02
Areas of usage
fredag, 2009 oktober 02
JtestR
Cucumber
Case: Ioke
Testing other code
fredag, 2009 oktober 02
Swing
MonkeyBars
Profligacy
Builders (Cheri)
SWT
Glimmer
Cool graphics
JMonkeyEngine + JRuby
ruby-processing
Swiby
Desktop applications
fredag, 2009 oktober 02
Cool graphics
fredag, 2009 oktober 02
Web
fredag, 2009 oktober 02
Mobile
fredag, 2009 oktober 02
Scripting
fredag, 2009 oktober 02
Rubiq
Duby
Surinx
Language development
fredag, 2009 oktober 02
Tools
fredag, 2009 oktober 02
Products
fredag, 2009 oktober 02
Changes to Ruby
fredag, 2009 oktober 02
Patterns
fredag, 2009 oktober 02
Ruby as usual
fredag, 2009 oktober 02
Deployment
fredag, 2009 oktober 02
Wrap some Java
fredag, 2009 oktober 02
Mixed
fredag, 2009 oktober 02
Scripting
fredag, 2009 oktober 02
Polyglot
fredag, 2009 oktober 02
The JVM
fredag, 2009 oktober 02
Other JVM langs
fredag, 2009 oktober 02
Scala
fredag, 2009 oktober 02
Jython
fredag, 2009 oktober 02
Clojure
fredag, 2009 oktober 02
Clojure+Ruby
fredag, 2009 oktober 02
Groovy
fredag, 2009 oktober 02
Erlang
fredag, 2009 oktober 02
Erlang+Ruby
fredag, 2009 oktober 02
Rhino
fredag, 2009 oktober 02
BSF/javax.scripting
fredag, 2009 oktober 02
Outside the JVM
fredag, 2009 oktober 02
FFI
fredag, 2009 oktober 02
C
fredag, 2009 oktober 02
Haskell
fredag, 2009 oktober 02
Haskell+Ruby
fredag, 2009 oktober 02
Questions?
fredag, 2009 oktober 02