Ruby

Ruby is a dynamic, reflective, object-oriented, general-purpose programming language. Ruby is a pure Object-Oriented language developed by Yukihiro Matsumoto. Everything in Ruby is an object except the blocks but there are replacements too for it i.e procs and lambda. The objective of Ruby’s development was to make it act as a sensible buffer between human programmers and the underlying computing machinery.

Ruby is an interpreted, high-level, general-purpose programming language. It was designed and developed in the mid-1990s by Yukihiro "Matz" Matsumoto in Japan. Ruby is dynamically typed and uses garbage collection.

Ruby is most used for building web applications. However, it is a general-purpose language similar to Python, so it has many other applications like data analysis, prototyping, and proof of concepts. Probably the most obvious implementation of Ruby is Rails web, the development framework built with Ruby.

The official Ruby interpreter, often referred to as the Matz's Ruby Interpreter or MRI, is written in C and uses its own Ruby-specific virtual machine (but there is JRuby, a Java implementation that runs on the Java virtual machine; Rubinius, a C++ bytecode virtual machine that uses LLVM to compile to machine code at

Ruby comes with a program that will show the results of any Ruby statements you feed it. Playing with Ruby code in interactive sessions like this is a terrific way to learn the language. Open up IRB (which stands for Interactive Ruby). If you're using macOS open up Terminal and type irb , then hit enter.

Ruby is very easy to learn when compared to other programming languages. It's even easier to learn if you are already proficient in another language. The main reason is its readability and expressiveness.

Ruby itself is a forgiving language for beginners. At the end of the day Ruby on Rails applications are mostly written in Ruby, so it helps that it has a few features that make it especially good for beginners to learn. Unlike Javascript and many other languages, you don’t need to remember to end your lines with a semicolon (;). Unlike Python and some other languages, whitespaces and tabbing doesn’t matter. A lot of the times, you can leave out things like parenthesis () and curly brackets {} and it doesn’t even matter! Ruby knows what you meant. On top of that, Ruby is very readable.

In web development, there is only one front-end programming language: Javascript (and things that compile to it, like ClojureScript and Elm). So now that you know that, you can deduce that in web development, Ruby is a back-end language.

Python is faster than Ruby, but they're both in a category of interpreted languages. Your fastest language is always going to be one that's compiled down to byte code or object code right on the computer. Both Ruby and Python exist a level above that, they're abstracted.

Ruby on Rails is not the young, exciting platform like it used to be. However, this doesn't mean that it's dead.

Far from it – RoR is now a stable framework with known strengths and weaknesses, an extensive library ecosystem, and large numbers of trained developers. It's a proven, reliable tool that will be a part of our toolkit for a long time to come. New frameworks have dethroned Rails from the 'new and exciting' position, but Rails has dethroned PHP from the 'familiar and reliable' position. I wouldn't hesitate for a second to use Rails on a new project or business today.