What is Ruby and why is it still being used today?
Tags: ruby, beginners, webdev
Published: 2022-08-11 14:36:00

With technology changing every second of the day and with the amount of programming languages out there, it can be hard to decide what language you want to really pursue. Each language has many advantages and disadvantages and it will all be dependent on what exactly you are trying to build that will help in your decision. With that, you will have to choose something that will be most advantageous towards your cause. If you are interested in OOP (Object Oriented Programming) and would like an easy way to learn this style of programming, a great choice for beginners would be to start with Ruby!

What exactly is Ruby? Ruby is an object-oriented programming language, meaning it allows users to manipulate data structures called objects in order to build and execute programs. _Everything_ in Ruby is considered an object. It is also very easy to pick up because of it being a high-level language, which means that it is structured in a much more user-friendly programming context and is generally independent of the computer's hardware architecture, which makes it much easier for the user to read and write. This interpreted scripting language was created with simplicity in mind. Creator Yukihiro Matsumoto’s ultimate goal with the Ruby language was to create a sensible buffer between human programmers and the machines they were using. The syntax for Ruby is fairly simple and can be understood and used by anyone who has operated a modern-day programming language or even for users that are completely new to coding! This is the magic of Ruby. Let's look into some of  it's great benefits.

Ruby is a popular choice amongst professionals in application development, data science, and memory management, but it is used in a wide variety of other applications too. Ruby developers enjoy using Ruby on web application projects for several reasons. The main benefits of using Ruby include:


- Dynamic programming language that is more similar to spoken language than other programming languages 

- Simple and powerful script that allows for fast creation of web applications

- Easy to maintain and scale 

- Open-source language that’s free to use and is constantly being improved by developers around the world 

- Additional libraries that help extend its original capabilities


![night_code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mke6lpn786rq0amdzeo4.png)
 

But just like all things, advantages come with their disadvantages. Luckily, Ruby has much less of the latter. Some of the potential issues Ruby can bring are:

- It's not on the rise. Ruby is a great language that was used in an industry-transforming technology (Rails). That transformation has since been accomplished.

- It doesn't have dominance in areas outside web application development. Python, technically similar to Ruby in many ways (interpreted, dynamically typed), has grown a great ecosystem of scientific computing libraries and frameworks, and has become a key player in that realm (in addition to web applications).

- It's not as fast compared to other languages. This can make it a bit tiresome to scale your program. This can also be caused due to the complexity and cleanliness of your code.

![code](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/znzba1wrt5zfwyyz5c05.png)
 
So now that we know what Ruby is, let's take a look at some of the reasons why it is still widely being used in today's world of programming. 

**Speed of Development**

One of the best aspects of Ruby is that when it is combined with Rails, development becomes easier and faster. The Web framework Ruby on Rails allows much faster application creation in comparison with some other tools.

Some of the characteristics of Ruby that support its fast development are:

- Agile Methodology: In this methodology, development and testing are done simultaneously. This means, when a section of code is written, it is tested at the same time. This saves a lot of time by reducing the testing period.

- Fewer Lines of Code: When Ruby is combined with Rails, it introduces a lot of libraries out of the box. If the developer runs a terminal command, a skeleton code is automatically included. Now, the developer just has to modify the skeleton as per the requirements and it is ready to go, rather than requiring code to be written from scratch.

A lot of time and money can be saved in projects through these quick development features.

**DevOps**

Ruby is also used in DevOps. Vagrant is a tool written in Ruby that allows developers to run another operating system when they are developing an app. Developers can create a Vagrant environment that matches the production environment you will deploy the app to. When they write code that runs in Vagrant on their machine, they can be sure it will work when it is released to production.

Chef and Puppet are two tools written in Ruby that configure a server or application with simple configuration files. Using these tools ensures that applications will run correctly wherever they are deployed.

**Abundance of Libraries and Gems**

In addition to Rails, you will see a lot of third-party libraries as well, which can help you to achieve project goals. Libraries play an important role in development, speeding up the process and allowing more interesting programming. Ruby Gems are simply open source libraries that contain Ruby code and are packaged with extra data for a specific purpose. Using a gem allows a programmer to use the code within the gem in their own program, without explicitly inserting that code.

There are many libraries and Gems being maintained and developed using Ruby. It rests under the top 10 list of contributor languages on GitHub repositories, illustrating Ruby and Ruby library popularity.


**Web Scraping and Crawling**

Another place you will find Ruby being used is in web scrapers and crawlers. Web scraping is a popular method of automatically collecting the information from different websites. It allows you to quickly obtain the data without the necessity to browse through the numerous pages and copy and paste the data. It does not involve working with large datasets, and a simple download of the web page is considered to be a sort of data scraping. Web crawling implements processing large sets of data on numerous resources. The crawler attends the main page of the website and gradually scans the entire resource. Generally, the bot is programmed to attend numerous sites of the same type (for example, a clothing store or food market). Ruby has libraries like Vessel that are used to crawl and download web pages quickly. Then, you can use libraries like Nokogiri to extract structured data from the HTML in the downloaded pages.

**Community Support**

GitHub is where you'll meet tons of Ruby developers. They form an extensive community, which also increases the attractiveness of this programming language. You can easily access all of the available Gems as a basis for your own projects – you can use the saved time to focus on more difficult and important tasks.

Moreover, the community of Ruby developers is constantly growing on GitHub. They are all highly active, which has a large impact on the future perception of the development opportunities for this language. With the community growing every day, there is always light being shed on new topics and ideologies, which in turn, help the language become more robust. 

**Conclusion**

Along with all of these great features, there are many more reasons why Ruby is still being today. Although there have been many other languages created since Ruby's beginning, not many have been able to accomplish what Ruby has. Because of how widespread Ruby is and how it has been implemented in major companies such as Twitter, Airbnb, CrunchBase, Bloomberg, Shopify and many others, it has created a major footprint and will probably be here to stay for quite some time. Remember, there is no such thing as too much knowledge, so start with the basics and go out there and learn Ruby!