Economically, socially and professionally, our world has undergone profound shocks over the past three years. For instance, even before COVID brought life as we knew it to a standstill, the global economy was in a precarious state. So was the Australian economy. But then, that pesky virus defined our lives anew.
Many people mastered COVID's harshest lesson: technology is the answer to future work instability. Many of us were furloughed from our jobs and left relying on our governments' largesse. Those with any ability to work remotely got to keep earning their pay cheques. Internet searches for coding lessons soared.
Now, to be sure, we're not saying that the pandemic alone drove the masses to learning how to code. Even before the world shut down, people were learning programming languages. We can comfortably say, however, that interest in programming spiked during lockdowns. There was just one problem, exemplified in the oft-asked internet query: what's the best coding language to learn?
We don't want to get too philosophical here; we'll save our musings for another article. Today, we want to give a class on the Ruby language. What is it and what can it do? Who created it and why? Most importantly: how easy is Ruby to learn?
Ruby Language Genesis
Japanese software programmer and computer scientist Yukihiro Matsumoto didn't like any of the existing object-oriented programming languages (OOPs). Perl was too esoteric - it felt like a toy language; a joke. Python didn't seem truly object-oriented. All of its OO elements seemed like add-ons. His quest for a true OOP language ended in defeat so he wrote his own version.
Yukihiro Matsumoto - Matz, as he is known, is no renegade programmer. He'd been fascinated with computers for practically all of his life. He taught himself to code while still in high school. That was during the 70s, a time when computing was still in its infancy and learning how to code was a solitary endeavour. Thanks to his unique method of learning, by the time Matz entered the University of Tsukuba, he was well-conditioned for formal Information Science studies.
In Japan, Matz is known as one of the top 'open source evangelists', meaning he lends support to open-source software initiatives. Outside of Japan, Matz was unknown until Ruby debuted in December 1995. In an interview, he defined it as a simplified Lisp language core with a Smalltalk object system and higher-order function blocks, all infused with Perl's utility. In short, he took the parts he liked from other languages and melded them into Ruby.
Unlike the C language that has to be written to a text file and then interpreted, Ruby is an interpreted language. Object-oriented languages like Ruby turn pieces of code - variables, into 'objects' that can be reused elsewhere in the program. Or even other programs. Code reuse makes for time-saving software development.
Matz wrote Ruby without applying the Principle of Least Astonishment (POLA). POLA is defined as components of a software design that behave as the users expect them to. But during an interview, he disavowed POLA altogether, claiming that everyone will encounter an instance surprise in his method. He defined his guiding principle while creating the Ruby language was to not surprise himself.
Matz insists that programming and system designs should be developed with human needs in mind. Usually, developers and programmers will work from the machines' perspective - how to make the machine run faster or more efficiently. But machines are inert and useless but for human input. Thus, programming should adopt a human focus, not a machine-centred programming method.

Ruby Language Features
Ruby language serves many functions thanks to its high portability and generalised purpose. Unlike SQL language which is loaded with clauses, expressions and statements, Ruby makes no distinction between statements and expressions. More specifically, every expression is a statement in Ruby language.
Ruby is considered a multi-paradigm language. Such paradigms include logical programming, functional programming, symbolic programming and declarative programming. Matz meant for his language to offer developers maximum flexibility. Thus, it allows for many types of programming while saving time.
Ruby on Rails
For all of those great features, Ruby remained a Japanese phenomenon until it hit the Rails. Ruby on Rails was released in August 2004, not by Matz but by Danish programmer David Heinemeier Hansson. He had been using a version of Ruby to build a web application framework; Ruby's uncomplicated syntax and OO design streamlined his methods. For instance, he extended Ruby's DRY concept to Rails. DRY means Don't Repeat Yourself.
Until Rails, Ruby had remained a relatively obscure language. Today, more than a million websites are built on the Ruby on Rails framework. You probably know and have used many of them. Airbnb, Instacart, Twitter and GitHub all run on Rails support. So what's the difference between Ruby and Ruby on Rails?
Ruby is a language; Ruby on Rails is a framework. You code in Ruby but build on Rails. By default, Ruby cannot be written in Ruby; it must be written in another language - C, to be exact. By contrast, Ruby on Rails is written in Ruby. Ruby language can be used to build desktop apps and static web pages. Rails can be used to build marketplaces and data-driven web apps.

Why Learn Ruby Language?
So far, things don't sound too good for Ruby. It's a relatively obscure language - or, at least, it was until Rails came along. It's written in a language that, less and less, is being used to write application software. It's an instance of one software developer's mashup of what's best in a computer language. And it has a simple syntax with local variables. So what good is learning Ruby language?
Ruby saves developers time. Developers love it because they have less code to write. Ruby is a high-level language with an abstracted nature, meaning it's easy to learn and use. It's an efficient coding method, too - remember the DRY concept. Many low-level languages require line after line of code for the tiniest thing. Learning Ruby, you could see your first Cloud release in just a couple of hours.
You can also build applications in no time with Ruby. Consider all of the websites running Ruby; not just the big ones mentioned above but also Square, Hulu, Soundcloud and so many more. In fact, developers prefer Ruby to Python when it comes to application development. Why?
Ruby Versus Python
These two languages have multiple parallels. They both offer programmers readable syntax and they're both high-level, server-side scripting languages. They can both be used for many of the same purposes. However, there are significant technical differences between the two. You might have already guessed the most obvious one.
Ruby is a true object-oriented language. Python is generally considered to be OO but those features are more of an add-on than an integral part of the language. For all of that, Python is far more renowned and more widely accepted among data scientists. Furthermore, Python supports many integrated development environments (IDEs) but Ruby only supports EclipseIDE.
Some of these two languages' differences are more subtle. Many novice coders find learning Python much easier but, as they move into more advanced coding, they quickly find Python's limits. That coin's flipside finds advanced software developers who appreciate Ruby's flexibility. They only wish it were easier to edit and debug.
Perhaps it all comes down to personal preference. Pythonistas prefer the Django framework creation methods while Ruby adherents can't imagine coding without some version of Rails. Ruby's 1.8 million developers support their language's flexibility while Python's 8.2 million developers insist you can't do better than Python's simplicity. And while Pythonistas insist that there should only be one best way of doing things, Ruby lovers appreciate having license to find many ways of doing things.

Learn Ruby Language
There are two more critical variables where the Ruby language and Python differ: literature and community. As noted above, Python has a vast community support; Ruby's community is severely limited. As a novice coder, you might find yourself stymied by the comparative lack of Ruby enthusiasts.
That's not to say there are none. The English-language circulation for Ruby-talk, Ruby's mailing list, keeps growing. So plenty of developers are on board with Ruby as their favourite programming language. But among all of the types of programming languages, how many programmers support Ruby learning?
Superprof can make your search much easier. We have 100 programming tutors that know Ruby inside and out. They will happily meet with you online to answer all of your Ruby-related questions and teach you everything you need to know to get started. Remember reading that you could code your first Cloud-based program in Ruby within just a few hours? Your Superprof Ruby tutor could help you reach that goal.
Superprof online Ruby tutors charge an average of $29 per hour of instruction. Many of them offer their first hour of instruction free of charge. That gives you a chance to discuss your programming goals. You can then figure out together the best way to learn Ruby.









