Java World to Ruby World Conversion – Taking a Peek

As a professional software engineer, with the Java World as your primary domain, you may consider taking the plunge and either dabbling with the Ruby World or making it your primary bread and butter domain. In this post we compare the two worlds with a simple table listing.

Its worth noting that the term Java developer in itself does not mean a lot, most developers have a preferred peripheral stack from the operating system upwards and in addition some may specialise in particular domains (front end, back end, integration, other domain) and hopefully a set of treasured reference books. So naturally this listing comes loaded with the bias and interests of the author.

You will notice that in some cases there are no equivalent frameworks and specialist tools when it comes to the Ruby World – in these cases, it may be best to look at your requirements and let a combination of a Quality Attribute Workshop and the Architecture Tradeoff Analysis Method guide your software architecture. It may be that you end up with both Ruby and JVM based modules in a large scale distributed system.

One important thing to note when comparing the two worlds is that with appropriate tooling (e.g. JRebel) and a supportive architecture it is possible to develop rapidly in the Java World. There are those that still make the assumption that enterprise Java development is overpriced and slow.

Java World Ruby World
Apache Maven No direct equivalent. Combination of distinct tools. BundlerRakeRubyGems and more.
Eclipse RubyMine by JetBrains
Sonatype Nexus No direct equivalent. gem server, Gem in a Box.
Apache Camel No equivalent. Can use STOMP to connect to Camel component.
Ruby Language (JRuby) Ruby Language
Google Guava No similar public Google supplied library.
JRebel Not applicable since Ruby is a dynamic programming language.
Java 8 Reactive Language Features Reactive Extensions for Ruby
Spring declarative transaction management with isolation levels Similar power available using Active Record – documentation not nearly as rich and mature
Workflow and BPMN e.g. Activiti BPMN 2 Process Engine No direct native equivalent (i.e. unit testable process flows). Integration options exist for e.g. Process Maker.
Spring Batch – batch application framework No equivalent. Some basic batch processing constructs in Active Record.
Vaadin No equivalent.

Taking Things Further – Inspiring Reads

  1. Enterprise Architecture with Ruby (and Rails) – without a doubt worth a look if you have an interest in software architecture
  2. RailsTutorial – a well presented, clear and concise book if you are looking to get your hands dirty

Rails in Wellington, New Zealand

If you make a living as a software engineer, the local market for a given stack naturally matters. Here are some organisations where Ruby on Rails is used in the author’s home town, the awesome city of Wellington, New Zealand.

  1. Youdo
  2. Powershop
  3. Datacom
  4. Aura Information Security
  5. Abletech
  6. Southgate Labs
  7. Loyalty.co.nz

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s