When I was amidst picking up ROR, I came across JRuby today, while there was a huge debate among techies and Pros in the project I work, whether JRuby is best (or) Ruby, in terms of Scalability, maintainability, Performance and Security. Hence I was interested to also dip my toe into JRuby and to know more on it.
Note: We should never compare JRuby and Ruby as it would not be the right thing, JRuby is yet another implementation of Ruby Programming Language. It differs out only in the point of Deployment,Scalability, Maintainability and Performance stand-point.
In this blog post, I will summarize the various points found defending ROR and JROR:
Ruby on Rails
1. Ruby is a programming language.
2. Ruby runs within a native C based interpreter.
3. Deployed in nginx environment, Passenger + Nginx or Apache
4. Ruby can use native extensions
5. Ruby has some issues with userspace threading, locking
JRuby On Rails
1. JRuby is an ruby implementation written in Java.
2. JRuby runs on the Java VM (the interpreter was written in Java)
3. Deployed in Java Web Server
4. JRuby can access to Java types, objects etc.
5. JRuby has Java threads (meaning it will scale to many cpus, cores etc.)
Further Reading (Videos):
1. Ruby Platform Options Throwdown | MRI, Rubinius and JRuby
2. RailsConf 2011: Dr. Nic Williams, “Ruby Through the Ages (or, A Brief History of Ruby)”