Disclaimer: I am not a coder. I am a Marketer, and a geek, who likes to learn new things. Coding happens to be one of the things I have dipped my toes into, but I certainly do not consider myself as an expert.
Ruby on Rails remains a major force in the world of computing, thanks to the strong demand for Ruby on Rails developers from start-ups globally and its reputation for increasing programmer happiness. Working for a technology recruitment agency gives us a palpable understanding of quite how in demand Ruby developers are today, but what makes it any better than the other programming languages out there today?
What is Ruby on Rails?
Rails is a web development tool that gives developers a framework to structure all the code they write. The Rails framework helps developers build websites and applications quickly because it simplifies everyday repetitive tasks.
Rails is written in Ruby, the programming language that is used alongside Rails. Ruby is to Rails as PHP is to Symfony and Zend, or as Python is to Django. Here's a simple comparison of the three 'modern' programming languages.
Why are so many developers learning Ruby on Rails?
Thanks to its simple and highly intuitive code structure, Ruby is a programming language that is elegant, compact, quick to pick up, and fun to use. However, the biggest selling point appears to be it’s As Pete Forde, former Co-founder and CTO of BuzzData and lifelong Ruby enthusiast, explains:
“Ruby…is a language explicitly designed with the goal of increasing programmer happiness. Many developers working with Rails today feel as though they "escaped" from development on platforms such as .NET and Java, which aren't as well suited to rapid web development as Rails. Also, .NET and Java tend to be popular in larger organizations that often utilize much more conservative software practices than in some of the dynamic open source languages like Python and Ruby.”
More than any other programming language that I’ve encountered, Ruby is the most like an actual ‘language’. Using the Ruby’s rules – how to use sentence structure, punctuation, commands, strings, variables and arrays – your brain starts to actually think in Ruby, and therefore express yourself and your creativity.
I wouldn’t recommend Ruby on Rails as the first programming language to learn because it utilizes a host of concepts such as MVC, REST, Migrations, Database abstraction and Routing that may be difficult for beginners to get their heads around.
6 Characteristics of Ruby on Rails that are worth mentioning...
1. It covers both front-end and back-end web development – allowing you to build completely functional apps and sites instead of just one aspect of a project
2. It emphasises RESTful application design – it allows the REST (Representational State Transfer) style of software architecture based around the client-server relationship to be easily opened up as an API (Application Programming Interface)
3. The Ruby on Rails community loves Agile web development, an iterative development method that encourages collaboration and flexibility, which is particularly well suiter for web applications development with fast changing requirements.
4. They don’t really “do” Windows. You can use it as an operating system if you really want to, but you’ll be swimming against the current, so to speak.
5. Ruby is an “opinionated” language – it assumes there is a “right” way to code and encourages developers to adopt “the Rails way” and discourages anyone who wants to go off the beaten path. If you’re happy to conform to the Ruby rules you’ll probably see a significant increase in productivity as it encourages you to write really compact code with less bugs. (And don’t worry, from my experience it doesn’t feel like something you’d resist anyway)
This brings me to the 6th characteristic. As this guide suggests, Ruby has a thriving community that shares reusable code and encourages others to learn.
The State of the Stack
The other, obvious reason to learn Ruby on Rails are the fantastic job opportunities available to developers with this knowledge with massive earning potential. According to IT Jobs Watch, the demand for Ruby on Rails developers remains strong and salaries continues to increase. Here's a little dashboard I whipped up that gives a pretty good picture of the state of the stack.
What tools do you need to learn Ruby on Rails?
There are a few good tools for learning Ruby’s syntax, but from my experience the best for absolute beginners is Try Ruby, which allows you to play around with the code in an interactive, web-based shell. It’s easy to work your way through each tutorial and you just need to type next to move forward to the next one.
Working through these tutorials will provide a solid foundation to work from. If you’re a programmer with experience in another language, you should be able to “fly the nest” after completing the second tutorial and go on to create websites using Rails – although you might need to do a few Google searches and ask the Ruby community for some help.
You may also like
By Izzy Griffin-Smith