- We'll join your team.
- You manage the projects, and our trusted developers join your team full-time.
Ruby is an open-source programming language with a focus on simplicity and productivity. It was created as a blend of several other programming languages, with the goal of creating a language balanced between functional and imperative programming paradigms.
It was first publicly released in 1995 and gained wide-spread acceptance in 2006. It has consistently been ranked in the top 10 programming languages worldwide, much of which is due to its web framework Ruby on Rails.
Ruby has several implementations. Besides the reference implementation — MRI, Matz's Ruby Interpreter — there is also JRuby, which runs atop the Java Virtual Machine, MacRuby for the Objective-C Runtime, IronRuby, which is tightly integrated with the .NET Framework, and others. It is thus a very versatile language, but its most widespread use is on the web with the Ruby on Rails framework.
Ruby on Rails (RoR) is a server-side web framework, which includes everything required for a production-level web application. It powers major websites like GitHub, Shopify, Airbnb, Soundcloud, and many more. It is open-source and completely free to use. Focusing on convention over configuration, it optimizes for programmer happiness. It follows The Rails Doctrine, which is a set of nine guidelines the framework adheres to, to provide the best of all worlds to programmers working with it, the end-product owners, and the users.
The initial release of Ruby on Rails was in December of 2005, and it has since come a long way, with the latest stable release (at the time of this writing) being 5.1.0, released only a couple of weeks ago.
RoR is a MVC — Model-View-Controller — framework, which both encourages and facilitates the use of web standards and inherently emphasizes some core concepts like keeping things DRY — "Don't repeat yourself!" — and the active record pattern, where thereto-adhering object interfaces include insert, update, and delete functions that work on the underlying database tables.
The Ruby on Rails community uses two main stack choices. The default stack consists of
The alternative includes
While there are some changing trends in the language, our Rubyists will be able to advise you on which stack and modifications thereof are most appropriate for your use-case.
In Ruby, everything is an object, including classes and instances of types usually designated as primitives in other languages. Variables always hold references to objects, and all functions are methods. Despite such heavy reliance on objects, there is no multiple inheritance support. However, classes can import modules as mixins.
Ruby is a multi-paradigm language. It supports procedural, object-oriented, and functional programming concepts, introspection, reflection, and metaprogramming. It features dynamic typing and supports parametric polymorphism. Its syntax is similar to Perl and semantics to Smalltalk.
Ruby uses RubyGems, a powerful package manager with over 124,000 gems hosted in the main repository.
While Ruby may not be the first thing to come to people's minds when they think "web", together with the Ruby on Rails framework, it should certainly be a top contender when deciding on the platform for your next project, big or small. Is is an immensely powerful language, and RoR has been designed in a way, which makes it very efficient, productive, and pleasurable to use.
We absolutely recommend that you think about using Ruby / RoR, and if you have any questions that need answering before you make that decision, our Ruby-experts will be happy to clarify anything for you, just like they will gladly accept any challenge you put in front of them and make sure your plans become reality.