The Ruby language and the Ruby on Rails framework remain major forces in the world of computing through both their existing broad bases and the strong demand for Ruby and Rails programmers in the field.
With Rails in the wild for more than a years and Ruby having 20-plus years under its belt, both the language and its associated framework have actually staked out particular territories. Here’s a look at where Ruby and Rails are most at home and where they’re dealing with genuine difficulties, both technical and existential.
Rapid Web Development
A big part of the concept behind Ruby (and Ruby on Rails) was making the programmer happy– keeping it basic to discover and easy to use, but also proffering advanced functions when needed. That strategy paid off, as Ruby and Ruby on Rails have actually constructed a decade-long mutual success story on providing uncomplicated methods to obtain a lot done.
With Rails, that suggests Web apps can be prototyped in a fraction of the time it would take to build them somewhere else. That fast-but-smart strategy helped bootstrap a variety of sites that have actually given that become family names in IT: Twitter, GitHub, Hulu, and numerous more.
Much of the continuous demand for Ruby also focuses on Rails, which continues to be among the broadest useful applications of the language. Openings for tasks including Rails, rather than jobs including Ruby alone, have the tendency to follow each other closely with time, according to Indeed.com’s job trends tracking. Dice has actually noted demand for Ruby knowledge also has the tendency to go hand-in-hand with front-end JavaScript skills.
All the above makes up hints that interest in Rails drives much of business and enterprise interest in Ruby. Deal with Rails itself is also continuous, with the recently released 4.2 offering performance enhancements and setting the phase for the long-awaited version 5 of the framework.
Scripting and libraries
Like Python, another language often pointed out in the exact same breath, Ruby works for automating jobs or sewing together functionality from different parts of the IT ecosystem. Ruby’s “gems,” or software bundles (6,400 and counting), can be installed easily from the command line. SDKs for third-party applications and services, such as Amazon, usually consist of Ruby wrappers or libraries as a method to make them accessible to Ruby apps.
Where Python has an edge, though, is in specialized computing– specifically, science and mathematics, where Python has a well-developed subculture of both users and libraries. Ruby is addressing this gap by way of tasks like SciRuby, although Python has the incumbent benefit in terms of both adoption and coverage.
Scale, Speed, or asynchronicity
Where Ruby is moving, it would be fairer to state Rails is the one losing ground in particular settings and pulling Ruby along with it. Some legacy tasks in Rails dealing with issues of scale or performance are being rewritten in other languages and frameworks, with Node.js and Go as 2 of the most common contenders.
Prominent examples abound. Mobile-app attire Parse changed from Ruby to Go to deal with an explosive amount of money of growth that its engineers felt couldn’t scale effectively in Ruby. Twitter, originally a Ruby on Rails project, was rewritten in Scala and replaced its front end with a custom Java-based solution.
Few sites would experience the very same severe demand as Twitter, so not every Rails-driven site is a prospect for a ground-up reword. But other high-profile projects including Ruby that aren’t Rails works are feeling the draw of other language ecosystems. The Puppet project’s server part changed from Ruby to Clojure, in big part because of the advantages supplied by the Java Virtual Machine (upon which Clojure runs) and its attendant software.
Even JRuby, the version of Ruby hosted on the JVM for both speed and convenience, has its limits as an option. As the Parse group discovered, “JRuby is still generally Ruby, [given that] it still has the issue of asynchronous library support … The vast majority of Ruby gems are not asynchronous, and numerous are not threadsafe, so it was typically hard to find a library that did some typical task asynchronously.”.
Because of this, one possible reason for the growth in need for Ruby on Rails and Ruby is to protect or preserve– or perhaps change– existing Ruby or Rails infrastructure, rather than developing new things with it.
In any case, there’s a heavy ongoing demand for both Ruby and Rails. Even better, it frequently pays well, as Ruby and Rails developers average around $110,000 across the country, according to Indeed.com.