Research & Development World

  • Home Page
  • Topics
    • Aerospace
    • Archeology
    • Automotive
    • Biotech
    • Chemistry
    • Environment
    • Energy
    • Life Science
    • Material Science
    • R&D Market Pulse
    • R&D Management
    • Physics
  • Technology
    • 3D Printing
    • A.I./Robotics
    • Battery Technology
    • Imaging
    • Nanotechnology
    • Semiconductors
  • Controlled Environments
    • Cleanrooms
    • Graphene
    • Lasers
    • Regulations/Standards
    • Sensors
  • Scientific Computing
    • Big Data
    • HPC/Supercomputing
    • Informatics
    • Security
    • Software
  • R&D 100 Awards
    • ENTER NOW
    • 2020 Winners
    • Winner Archive
    • R&D 100 Conference
  • Resources
    • Digital Issues
    • Podcasts
    • Subscribe
  • 2021 Funding Forecast
  • COVID-19

‘Ruby’ As Good As Ever, Despite Language Upgrade

By R&D Editors | June 25, 2010

 

‘Ruby’ As Good As Ever, Despite Language Upgrade
Version 1.9 of Ruby may be different, but well worth the time and effort 

 

    
Ruby in Steel ‘Visual Studio Solution Explorer’ for managing projects  

While many people are still using the 1.8.6 version of the Ruby programming language, the next stable version, 1.9, is also in distribution. For some, moving to this update is just a matter of overcoming the activation energy to install the upgrade. For others, this is a practical matter of all the existing code they would have to upgrade.

The reality is that this IS a major language upgrade that changes the way some of Ruby’s features work and it is taking a while for all of the associated Ruby libraries and Gems to be updated to work with it. These changes include minor changes to the parser behavior, changes to some of the block variable behavior, addition of new math libraries, dropping several libraries in favor of new Fiber library, as well as a slew of others. For those wanting to know the details of what’s been added or dropped, it is best to hit the Web. About.com: Ruby has a brief summary with a description of some of the impacts of the changes.

Whether because of or in spite of these language changes, Ruby continues to make inroads into the corporate world, which frequently seems to be a challenge for Open Source tools. A contributing factor might be that, for a while, the only real Integrated Development Environment (IDE) available for Ruby had been the Free Ruby Integrated Development Environment, fondly known as FreeRIDE, which is no longer the case. Procurable options have since been augmented with multiple other IDE projects.

Among these are the Arcadia Ruby IDE, the Mondrian Ruby IDE and RadRails which takes advantage of the Eclipse Open Source project. Perhaps the best indication of this acceptance is the appearance of commercial development tools for Ruby. Among these are Komodo IDE from ActiveState (version 5.2 $295), RubyMine from JetBrains (version 2.0 $99, free for educational use) and Ruby in Steel from SapphireSteel Software (Developer version 1.5 $199/Text version $49).  Ruby in Steel is a particularly interesting product in that it is designed to work with Microsoft’s Visual Studio, IronRuby and .Net technologies. IronRuby being a .NET implementation of Ruby.

The entry of tool vendor Embarcadero Technologies with their 3rdRail and the Ruby on Rails free subset TurboRuby development environments into this market a few years ago might be the biggest reflection of this penetration. Unlike the other commercial vendors, Embarcadero is primarily using renewable 1-year term licenses with maintenance support for these development tools (3rdRail version 2.0, $99/ TurboRuby version 2.0, $49), though that doesn’t prevent applications created with them from running after the licenses expire. However, I’ve recently learned that Embarcadero has suspended further development of both products because of lack of demand. Taking some of the sting from this, Philip Rathle, Embarcadero’s Director of Product Management, has stated that neither 3rd Rail and Turbo Ruby are slated for End of Life and that the issue of reving both products for platform currency and other improvements would be revisited next year.

I found this suspension rather surprising, so asked some of my contacts in the Ruby community why they thought this might be. The analysis was basically that developers who had been working with the Ruby for Rails framework were generally more used to, and thus more comfortable with, programming using one of the various text editors available. In some cases they thought additional reticence for adopting it might be because of some people considering Eclipse to be a bloated platform that they wanted to avoid.

Personally, I find the code completion and refactoring support in the Embarcadero and other products extremely valuable. There is obviously some overhead involved in learning a new tool, but if my contacts are correct about the reason many Ruby enthusiasts have been been avoiding TurboRuby and the other IDEs, I’m rather surprised. I would think that anyone willing to break with older programming languages to adopt something new and different would be willing to explore new development tools. Perhaps I’m just being somewhat nave, as language wars have been fought over much less. It’s a fascinating study of how emotionally involved some can become with their tools in a field where logic is so critical.

Of course, it doesn’t really matter how good any of these tools are if you don’t know how to use Ruby to begin with.  Fortunately, these too have continued to evolve.  To start with, one of the key reference books for Ruby, Programming Ruby, also known as the Pickaxe book from its cover, has been updated as well. Ruby Programming 1.9 by Dave Thomas, Chad Fowler, and Andy Hunt (The Pragmatic Bookshelf, ISBN-13: 978-1-934356-08-1, 930pp, ©2009, $49.95) reflect all of the changes in this major update to the language. It is a key reference work for anyone wanting to work with Ruby, whether they are just learning the language or are an experienced Ruby programmer looking to quickly pick-up the changes in the language. 

Ruby 9  
RubyMine 2.0 Quick Documentation Lookup Without Leaving the IDE  

This tome consists of four primary sections, starting off with an introduction and tutorial on the language. The second section examines the Ruby environment, which covers everything from installing Ruby and character encoding to use of Ruby’s support tools, such as running the Interactive Ruby Shell (IRB) and using RDoc for generating documentation. The third section provides a more in-depth description of the language, which is followed by detailed references on the 1,200+ methods in Ruby and an analysis of its 98 standard libraries.

Since just learning the language isn’t enough, there are also a number of new books available to help you do something with it.  The following are several that I’ve found interesting. When considering them, you might find it useful to know that most books from the Pragmatic Bookshelf are available in a variety of electronic formats, including PDF, mobi and epub, as well as the traditional paper binding.

The first volume is FXRuby: Create Lean and Mean GUIs with Ruby by Lyle Johnson (The Pragmatic Bookshelf, ISBN: 978-1-93435-607-4, 240 pages, ©2008, $36.95).
This provides an excellent jump start to creating graphical user interfaces with the FXRuby library.

Another useful title is The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends by David Chelimsky, Dave Astels, Zach Dennis, Aslak Hellesøy, Bryan Helmkamp, Dan North (The Pragmatic Programmer, ISBN: 978-1-93435-637-1, 350 pages (est), Jul 2010, Beta eBook + finished Paper Book – $48.55). This book provides an introduction to the use of several Ruby-based tools for behavior driven development, which is one programming approach to what is termed agile software development. One of its underlying goals is to extract the programs underlying business rules, its internal logic, for review by those who will be relying on the program. It is an extension of a programming approach called Test Driven Development (TDD) and uses an iterative approach to basically allow your incremental development of your tests and specifications drive the incremental development of the complimentary code. Written by many of the people responsible for developing the underlying tools, it is a useful aid in reorienting yourself to use these tools most effectively.

Also of interest is Metaprogramming Ruby: Program Like the Ruby Pros by Paolo Perrotta (The Pragmatic Bookshelf, ISBN: 978-1-93435-647-0, 240 pages, ©2010, $32.95). Metaprogramming is generally described as writing a program designed to write or modify a program, be it another program or itself. Another way of viewing it is that metaprogramming allows you to modify the behavior of your general purpose programming language and customize it to work in whatever your target domain is, or perhaps more clearly, to solve whatever problem you are working on.This book helps clarify this concept and how to do it in Ruby. It also gives a better understanding of how some of Ruby’s and Ruby on Rails’ methods work.

The Pragmatic Bookshelf has also released a number of Ruby-related Beta books. These are early release editions of works in progress. As these volumes become more polished, updated electronic versions of them are released and purchasers can download the updated copies.  Ruby books currently in Beta include Agile Web Development with Rails, 4th Edition by Sam Ruby (The Pragmatic Bookshelf, ISBN: 978-1-93435-654-8 , 500 pages (est), Oct 2010, Beta eBook + finished Paper Book – $53.55). The fourth edition of this book covers Ruby on Rails version 3, which is a major version release incorporating significant structural changes. The third edition of this book, which is still available, covers version 2 of Ruby on Rails.

A nice book to help you avoid recreating the wheel is Steve Phugh’s book Wicked Cool Ruby Scripts: Useful Scripts That Solve Difficult Problems (No Starch Press, ISBN: 978-1-59327-182-4, 189 pages, ©2009, $29.95). It is broken down into 10 topic sections, each of which contains executable code fragments illustrating how to perform specific tasks that you can incorporate into your own programs. These fragments include such things as how to compress and decompress a file, how to encrypt and decrypt a file, how to perform multiple types of sorts, how to automate sending of SMS messages, how to perform screen scraping and many other useful tasks.

As with many Open Source projects, there are extensive programming resources available online as well. These can range from short technical notes and blog entries up to full length books. As many of the development tools discussed above, other than those that are completely free anyway, come with a trial version, there is absolutely no reason not to give Ruby a try. If you decide to give it a pass simply because it is Open Source or you’ve never tried using it before, I believe you will be doing yourself and your organization a disservice.

RELATED RESOURCES

About.com: Ruby

www.ruby.about.com

About.com: Ruby – New Features in Ruby 1.9.1

www.ruby.about.com/od/newinruby191/New_Features_in_Ruby_1_9_1.html

Arachno Ruby IDE

www.www.ruby-ide.com

Arcadia Ruby IDE

www.arcadia.rubyforge.org

Behavior Driven Development (Wikipedia)

www.en.wikipedia.org/wiki/Behavior_driven_development

Eclipse

www.eclipse.org

Embarcadero Technologies

www.embarcadero.com/

FreeRIDE (Ruby Integrated Development Environment)

www.freeride.rubyforge.org/wiki/wiki.pl?HomePage

IronRuby

www.ironruby.net
www.ironruby.codeplex.com

JRuby

www.jruby.org

JRuby Wiki

www.kenai.com/projects/jruby/pages/Home

Komodo IDE (ActiveState)

www.activestate.com

Mondrian Ruby IDE

www.mondrian-ide.com

No Starch Press

www.NoStarch.com

RadRails (Aptana)

www.radrails.org

Ruby

www.ruby-lang.org/en

Ruby (Wikipedia)

www.en.wikipedia.org/wiki/Ruby_%28programming_language%29

Ruby in Steel (SapphireSteel Software)

www.sapphiresteel.com

RubyMine (JetBrains)

www.JetBrains.com

Ruby on Rails Meets Eclipse

www.oreillynet.com/pub/a/ruby/2007/04/26/ruby-on-rails-meets-eclipse.html

The Glistening Ruby (Scientific Computing)

www.scientificcomputing.com/the-glistening-ruby.aspx

The Pragmatic Bookshelf

www.pragprog.com

Using the Ruby Development Tools plug-in for Eclipse

www.ibm.com/developerworks/opensource/library/os-rubyeclipse

 

Related Articles Read More >

Formedix launches cloud-based clinical MDR and study automation platform to streamline clinical trial design and build
PerkinElmer expands Signals Informatics capabilities in biologics drug discovery
Insightful Science acquires Dotmatics
PerkinElmer further expands signals informatics capabilities in biologics drug discovery

Need R&D World news in a minute?

We Deliver!
R&D World Enewsletters get you caught up on all the mission critical news you need in research and development. Sign up today.
Enews Signup
Tweets by @RandDWorld

R&D World Digital Issues

February 2020 issue

Browse the most current issue of R&D World and back issues in an easy to use high quality format. Clip, share and download with the leading R& magazine today.

Research & Development World
  • Subscribe to R&D World Magazine
  • Enews Sign Up
  • Contact Us
  • Drug Discovery & Development
  • Pharmaceutical Processing
  • 2021 Global Funding Forecast

Copyright © 2021 WTWH Media LLC. All Rights Reserved. The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media
Privacy Policy | Advertising | About Us

Search R&D World

  • Home Page
  • Topics
    • Aerospace
    • Archeology
    • Automotive
    • Biotech
    • Chemistry
    • Environment
    • Energy
    • Life Science
    • Material Science
    • R&D Market Pulse
    • R&D Management
    • Physics
  • Technology
    • 3D Printing
    • A.I./Robotics
    • Battery Technology
    • Imaging
    • Nanotechnology
    • Semiconductors
  • Controlled Environments
    • Cleanrooms
    • Graphene
    • Lasers
    • Regulations/Standards
    • Sensors
  • Scientific Computing
    • Big Data
    • HPC/Supercomputing
    • Informatics
    • Security
    • Software
  • R&D 100 Awards
    • ENTER NOW
    • 2020 Winners
    • Winner Archive
    • R&D 100 Conference
  • Resources
    • Digital Issues
    • Podcasts
    • Subscribe
  • 2021 Funding Forecast
  • COVID-19