1 Sun Microsystems, Ruby, and JRuby Charles Oliver Nutter Senior Staff Engineer Sun Microsystems Except where otherwise noted, the content of this presentation.

Slides:



Advertisements
Similar presentations
BEA Confidential. | 1 Version Control for a Modern World Garrett Rooney, Senior Software Engineer (and Subversion committer), CollabNet Inc. June 2006.
Advertisements

Sakai on Rails Integrating Ruby and Sakai David Adams, Virginia Tech.
1 JRuby on Rails GAO ANG Sun Functional Campus Ambassador 1.
1 Classic ASP vs. ASP.NET Technical Information and Market Adoption Lance Welker University of San Diego Dr. Rebman MSIT 526 December 20, 2005.
PHP Web Development, PHP Programming
Lecture 8 – Platform as a Service. Introduction We have discussed the SPI model of Cloud Computing – IaaS – PaaS – SaaS.
Lecturer PEN PHIROM Tel : Web site: Lecturer PEN PHIROM Tel :
Architecture of.NET Framework .NET Framework ٭ Microsoft.NET (pronounced “dot net”) is a software component that runs on the Windows operating.
Building Flex Dashboards with WebFOCUS Enable Copyright 2008, Information Builders. Slide 1 Yoshiko Akai Strategic Product Mgt.
JEE Development. Rob Dawson Lead Developer blog: BSc UQ +MIT QUT over 10 years.
PROGRAMMING LANGUAGES FOR WHEN USING QUANT ANALYSIS FOR HIGH FREQUENCY TRADING.
TRANSITIONING FULL TRUST CODE TO CLIENT APIS Architecting SharePoint For The Future Chris Domino December 10, 2015.
Introduction Mehdi Einali Advanced Programming in Java 1.
Visual Mobile Applications with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
Web Services with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
Introduction to Java Web Programming Gregg Sporar
1 JRuby Now and Future Charles Oliver Nutter JRuby Guy Sun Microsystems Except where otherwise noted, the content of this presentation is licensed under.
USEIMPROVEEVANGELIZE ● Introduction & Installation ●, CA, ●
1 Charles Nutter Thomas Enebo JRuby: Not Just Another Ruby Impl Except where otherwise noted, the content of this presentation is licensed under the Creative.
Visual Mobile Gaming Your Name Sun Campus Ambassador Your Address.
1 JRuby: Up and Running! Charles Oliver Nutter and Thomas Enebo The JRuby Guys Sun Microsystems Except where otherwise noted, the content of this presentation.
1 JRuby Charles Oliver Nutter JRuby Guy Sun Microsystems 1.
Beyond Impossible! How JRuby Evolved the Java Platform Except where otherwise noted, the content of this presentation is licensed under the Creative Commons.
CodeBeamer Bootcamp 2007 Customizing CodeBeamer features through scripting Aron Gombas Architect, Intland.
Building a Twitter Analysis Tool, Using PHP, MySQL, Yahoo UI, and the Netbeans IDE Justin Bolter, Technology Evangelist Sun Microsystems.
1 NetBeans New and Cool Sun Microsystems, Inc.. 2 Goal of the Talk Learn how NetBeans IDE can help you become more productive Learn about the new features.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
1 Charles Oliver Nutter Thomas Enebo Tor Norbye Martin Krauskopf JRuby: Understanding the Fuss Except where otherwise noted, the content of this presentation.
JEE Development. Tech Lead Tech Lead blog:
JRuby on Rails Presenter Name
Environment & Education & More Dan Bothell. Overview Data Teaching Materials Environment Other ACT-R 5.0 and RPM issues.
JRuby on Rails Brian Leonard ブライアン レオナルド
Visual Web & AJAX with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
JQuery Fundamentals Introduction Tutorial Videos
JRuby: Ready for ACTION!
JRuby: Up and Running! Charles Oliver Nutter and Thomas Enebo
Prepared by: Assistant prof. Aslamzai
Docker Birthday #3.
Android.
What, Where and Why Swift
PYTHON: AN INTRODUCTION
Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
Platform as a Service.
On the road: Test automation in practice for a BMW map update service
JRuby Charles Oliver Nutter
JRuby on Rails Charles Oliver Nutter JRuby Core Developer
The plan What's JRuby? The Ruby language Why JRuby? How to use it
Longtime Java developer More recent Ruby developer
JRuby It's What's For Dinner
JRuby: Up and Running! Charles Oliver Nutter and Thomas Enebo
Introduction Enosis Learning.
Ruby, Rails, GUIs, and More
Debunking the Top 10 Myths of Small Business Server: Using Windows SBS in Larger Environments Abstract: This session will debunk some of the common myths.
JRuby: Ruby for the Java Platform
PHP / MySQL Introduction
Migrating Oracle Forms Using Oracle Application Express
JRuby State of the Art! Except where otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution-Share Alike 3.0.
JRuby Charles Oliver Nutter JRuby Guy Sun Microsystems
JRuby: Up and Running! Charles Oliver Nutter and Thomas Enebo
I’m going to talk about my vision for the future of system administration, and a question for you to contemplate.
9/20/ :55 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
Node.Js Server Side Javascript
MVC in ASP.NET Core: The new kid on the block
Introduction Enosis Learning.
Database Software.
Your code is not just…your code
David Cleverly – Development Lead
Web Application Development Using PHP
Your code is not just…your code
Presentation transcript:

1 Sun Microsystems, Ruby, and JRuby Charles Oliver Nutter Senior Staff Engineer Sun Microsystems Except where otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution-Share Alike 3.0 United States License (

2 Agenda Introduction Open source and Sun Microsystems Ruby in the world JRuby > What is JRuby > Why JRuby? > JRuby use cases

3 Introduction Charles Oliver Nutter Java developer since 1996 Engineer at Sun Microsystems since 2006 JRuby developer since 2004 Also working on JVM dynlang support Wide range of past experience > C, C++, C#, Python, Delphi, Lisp, Scheme > Java EE and ME, WS-*

4 Why Work at Sun? History of openness Get to work on my favorite project Side-by-side with many software experts Work from home Travel around the world to speak

5 Open Source at Sun Microsystems ● OpenSolaris ● OpenOffice ● OpenJDK ● DTrace ● GlassFish ● ZFS ● MySQL ● NetBeans IDE ● Jython ● JRuby

6 Ruby in the World Ruby has appeared out of nowhere Rapidly becoming standard for new web apps Amazing adoption rate Big companies taking interest Many concerns about performance, scaling Shocked at weak Unicode support (1.8) Many new Rubies: JRuby, XRuby, YARV/1.9, Rubinius, Ruby.NET, IronRuby, MacRuby, MagLev

7 Sun's Commitment to Ruby Sun wants to help Ruby > Funding JRuby development > Engineers submitting patches to Ruby > Donated SVN server to Matz > Building out full support for Ruby in Solaris > Still improving NetBeans Ruby support > Sponsored a Rubinius sprint last year

8 Why Ruby? Designed for programmers Fluid, malleable...make what you want Growing and excited community Momentum from new Rubies Nothing else is quite like Ruby

9 JRuby Java implementation of Ruby language > “It's just Ruby!” Started in 2002, open source, many contributors > Tom Enebo, Ola Bini, Marcin Mielzynsky, Nick Sieger, Vladimir Sizikov, MenTaLguY Aiming for compatibility with current Ruby version > Ruby patchlevel 111 (114 was just released)

10 Why JRuby? World-class VM that runs everywhere > Faster performance for Ruby > Better memory, thread scaling Vast collection of Java libraries > Cross-platform, battle-tested > Java libraries for everything! Java platform growing beyond Java > Java is NOT the answer for everything > The platform is greater than the Java language

11 Where is JRuby today? Tooling for IDEs > JRuby enables NetBeans, Eclipse IDEs Swing GUI development > Makes Swing much nicer to use, easier to handle Graphics > Ruby makes graphics programming fun JRuby on Rails > Better deployment options, better performance

12 JRuby Enables Tooling JRuby's parser used by most Ruby IDEs > NetBeans Ruby Support > Eclipse RDT/RadRails/Aptana, DLTK, 3 rd Rail > IntelliJ (not parser, but other areas) > Jedit NetBeans is the best right now (

13 Swing GUI Programming Swing API is very large, complex > Ruby magic simplifies most of the tricky bits Java is a very verbose language > Ruby makes Swing actually fun No consistent cross-platform GUI library for Ruby > Swing works everywhere Java does (everywhere) No fire-and-forget execution > No dependencies: any script works on any JRuby install

14 Swing Options Cheri - cheri.rubyforge.org > Builder-like DSL syntax Profligacy - ihate.rubyforge.org/profligacy > Rubified layout expression language > Trivial event binding without listeners MonkeyBars - monkeybars.rubyforge.org > Leverage GUI builders > MVC structure

15 DEMO Swing in Ruby

16 Pretty Graphics! “Processing is an open source programming language and environment for people who want to program images, animation, and interactions.” > Basically a cool Java library for 2D graphics Ruby-Processing wraps Processing with JRuby > Cool, rubified 2D graphics environment for you > Eye-candy demos for us > Thanks to Jeremy Ashkenas for putting these together

17 DEMO A Face for Stephen Hawking

18 Web applications Classic Java web dev is too complicated > Modern frameworks follow Rails' lead Over-flexible, over-configured > Conventions trump repetition and configuration Rails deployment is still a pain > You shouldn't need N processes! Rails performance should be better > JRuby has potential to be much faster

19 DEMO JRuby on Rails

20 Production JRuby on Rails CSI's Disease Surveillance System > Oracle's Mix – digg-like social customer site > mix.oracle.com Sun's MediaCast – file distribution portal > mediacast.sun.com ThoughtWorks' Mingle – collaborative project mgmt > mingle.thoughtworks.com More on the way!

21 JRuby Future: Ruby 1.9 JRuby will support both 1.8 and 1.9 > Flag to switch versions > Maybe flags to switch individual features “Wait and see” approach > Waiting for 1.9 adoption, demand > 1.9 is still a work in progress 'jruby --1.9' turns on 1.9 features > Only a few: Fiber, proc -> Proc.new, etc > Eventually full 1.9 support

22 DEMO JRuby 1.9 Support

23 JRuby Future: Performance JRuby competes on two fronts > Against other Ruby impls > Against other JVM languages JVM is a perfect host for languages > Strong static-language backing for Java > Strong dynamic-language backing from Smalltalk We can be fast now, faster in the future > Every JVM release is 15-30% faster > Want to run faster? Upgrade!

24 Thank you! JRuby - > wiki.jruby.org NetBeans - > Try it out, send feedback! Ruby-processing (google it) My blog: headius.blogspot.com