loading...

The State of Ruby 2019: Is It Dying?

vnbrs profile image Vinicius Brasil ・3 min read

There is a lot of discussion about the Ruby language demise. Well, this balderdash is circulating for a while now, and there are posts from 3+ years ago saying that Ruby is dead, but in fact, here we are.

A Google Trends search shows that the Ruby interest over time isn’t decaying, but following the same pattern similar technologies are tracing. Also, always keep in mind that programming languages are tools to solve specific problems, and that is why there is no such thing as the best programming language.

Ruby has gone through a lot of significant changes during the past year, and it is certainly not dying, but growing and evolving. The year of 2019 has a lot to the Ruby community. Check some of the key points below:

Ruby 2.6 and its new JIT compiler

A new version of Ruby has been released in December 2018. This release includes a lot of performance improvements and new features, including an initial implementation of a JIT (Just-In-Time) compiler.

To say truly, this new JIT compiler has not achieved its best performance yet, as covered here, but has a lot of future on it. The Ruby community considers this release as an opening to the new era of Ruby.

While I failed to make Ruby’s JIT production-ready in 2.6, I don’t regret what we’ve done this year. I needed to develop or lead all of the above things for Ruby 2.6, but I believe I can invest my time mainly on performance improvement in Ruby 2.7. — @k0kubun

Besides this new JIT compiler, this new release of Ruby has improved performance up to 1.7x, apart from the 5–10% performance improvements from Ruby 2.5.0.

Ruby on Rails new release is getting close

Ruby on Rails 6 is close. This release includes a lot of cool features that will get web development much easier, as Rails has been doing for years.

2018 has brought a major release, Rails 5.2.x, that included:

  1. Active Storage, a modern approach of uploading files straight to the cloud.

  2. Redis cache-store

  3. HTTP/2 Early Hints

  4. Credentials, a new and secure way to store secrets

And now, with Rails 6, there are a lot of exciting features, such as:

  1. Action Mailbox, a new way to serve to route incoming emails to controller-like mailboxes for processing in Rails

  2. Action Text, bringing the Trix editor to the framework

  3. Parallel testing, allows you to parallelize your test using forks or threads

  4. Webpack as the default JavaScript bundler


Ruby isn’t dying, it’s maturing

Yes, Ruby was bad and Rails was slow. But that is not true to say in 2018, and won’t be in 2019. Ruby isn’t slow and Rails does scale. If it doesn’t for you, maybe you’ve chosen the wrong tools for the problem you’ve got.

In 2019, let’s enjoy programming Ruby 2.6 and Rails 6! Happy New Year!

Follow me on Twitter and check some of my other posts:

Discussion

pic
Editor guide
Collapse
rhymes profile image
rhymes

Ruby and Rails are alive and well. They might not be the best technologies for everything and everyone but Rails 6 and Ruby 3x3 are exciting news!

ps. your link "Ruby on Rails 6 is close" doesn't work...

Collapse
katafrakt profile image
Paweł Świątkowski

Well, nothing is the best technology for everything and yes - Ruby and Rails are no different here. There are areas where Rails will still be the best fit with pretty much no competition.

Collapse
ckahle33 profile image
Craig Kahle

Definitely not. It's not as "hot" as it once was, but people are quietly getting lots of shit done with it everyday.

Collapse
jorgecc profile image
Jorge Castro

If you want to land a Job, then Ruby is dead.

Ruby is like "The Second Best Store of the Town", it's not the better of anything.

Collapse
vnbrs profile image
Vinicius Brasil Author

Data say you’re wrong. Just search for jobs on Stack Overflow Jobs and you’ll see the amount of back-end openings for Ruby.

Also, dev.to and GitHub are built with Rails.

Collapse
david_j_eddy profile image
David J Eddy

@jorge Castro

Every job listing site is misleading due to the compartmentalization inherent in using a job site.

Why is working for a small company/startup not valid? The same problems apply and the paycheck clears the bank. Not everyone likes waiting 3 months for SSH access to a non-prod environment (big orgs). As for locationali availability; It's 2019; location is almost the smallest bearer to overcome in terms of employment.

Languages, IDEs, OSes, Job Sites, etc are all tools. Our goal as developers should be singularly focuses on leveraging the correct tools that provide business value.

Thread Thread
jorgecc profile image
Jorge Castro

"the correct tools that provide business value."

Exactly and it is here where Ruby fails and where a tool does the difference. We are giving rounds with the conversation.

Thread Thread
arcreative profile image
Adam Robertson

Whaaat are you talking about? You can't just generalize a statement like that without providing one iota of evidence--even if it's opinion. I've been around quite a few blocks in terms of types of web development technologies, and just nothing allows me to be more productive than RoR. Sure, I may lean on Node.js when it's inherently better at a problem, but I just don't think a better holistic full-stack web development framework exists.

Collapse
nullvoxpopuli profile image
NullVoxPopuli

And gitlab

Collapse
david_j_eddy profile image
David J Eddy

I think Square's web app is also Ruby.

Collapse
jorgecc profile image
Jorge Castro

tsk tsk.

That information is misleading. It is not the same to work for a small company/startup one rather to land a job on corporate business. Stack Overflow is misleading and it is biased however it is far from the real world.

In my country:
ruby: 38 jobs.
.net:390 places.

Freelancer (online jobs)
ruby: 20 jobs.
C# : 225 jobs.

Practically, 1/10 of the jobs of c#.

But, you could say "but X company uses Ruby...!". well, that's not the trend. It's cheating to consider an exception while ignoring the trend.

Collapse
dangolant profile image
Daniel Golant

I came to Ruby and Rails (for a job) in 2018 and I couldn’t disagree more. The comments above about productivity are spot on.

To use your analogy, even if some store isn’t the best place to get any one given thing, it can still be the best place to go when you need 15 different things (particularly if you don’t quite know what they are yet)

Collapse
stanbright profile image
Stan Bright

I'd say it's still the best in regards to web-dev productivity.

Collapse
rajgurung profile image
Raj Gurung

What can I say @JorgeCastro, your remarks on three languages seems far and between the hypothesis that exists only on your head. Webforms really!! What are we developing a web page?

PHP king of the hill, oh my Lord.

Sorry can't help but highlight your personal opinion might need slight adjustment as to what is fastest, king and power machine.

Thread Thread
jorgecc profile image
Jorge Castro

Google says that +70% of the websites are powered by PHP.

And Webforms is RAD, you could program a small table without even code, and if you add a proper component, you could create a stunning page in-no-time: pagination, editable, nested components, custom columns, sorted, ordered and so on.

https://docs.telerik.com/devtools/aspnet-ajax/controls/grid/hierarchical-grid-types-and-load-modes/images/grid_hierarchy_nestedviewtemplate.jpg

Nuff said.

Thread Thread
arcreative profile image
Adam Robertson

Cool, I'll make sure I check that out the next time I want something to look like a 1990s Oracle application.

Collapse
jorgecc profile image
Jorge Castro
  • C# Webforms = fastest to program.
  • PHP = The king of the hill.
  • Java = The power machine.

I can't justify creating any project in Ruby, it is not fast, the language is not suitable for big projects (it could create big projects but it shouldn't) and it is too niche if you want to hire more developers. And even the tool (IDE) is so-so.

Thread Thread
vnbrs profile image
Vinicius Brasil Author

Jorge, Ruby is a language, not an IDE. There’s no such thing as official IDE for Ruby. You just need the Ruby runtime and an editor (I use Vim, for instance).

Also, why C# is the “fastest to program”? I’ve never seen statically typed languages as the “fastest to program”.

Again, it always depends on the problem you’re trying to solve. There’s no such thing as the best programming language. It depends on the problem you’ve got.

Thread Thread
jorgecc profile image
Jorge Castro

I know that C# is a language versus an IDE. We can even program on C# using visual studio core, SharpDevelop and so on. However, it is the whole experience that it counts. Visual Studio + Resharper + C# it is a whole new experience, refactoring is quite easy, it's easy to spot typos (even without compiling), the salaries (for c# programmers) are higher. The only con is it works under windows server but Microsoft is working on it (core).

Collapse
jacobherrington profile image
Jacob Herrington (he/him)

That seems like a foolish opinion on any tool. I also disagree with your first point, pretty strongly. Ruby is still quite popular. It's also one of the higher paying technologies.

Do you have anything other than anecdotal experience to back that opinion up?

The only real argument I've heard against Ruby as a career move is that it requires you to compete with very experienced, high-quality developers for jobs.

Collapse
jorgecc profile image
Jorge Castro

Since I'm on the other side, higher salary means a problem.

As a programmer-mercenary, I am worked on a lot of projects. My experience with Ruby is less than pleased:

  • We try to find some good at ruby (and not some brat that learned to download gems), it was impossible, ergo the salary. Finally, the dropped ruby.
  • We found several technical difficulties with Ruby. So, we dropped ruby again.
  • Finding hosting is a plus too.

If the team knows Ruby then obviously it's the right choice but if not..

Thread Thread
arcreative profile image
Adam Robertson

But if the productivity boost is any indication, you should be getting better value out of a given dev, even if it means a higher salary. And it's not uncommon to still find people in the US for under $60k without having to go offshore for your development needs.

What technical difficulties? This needs explanation, because I have yet to find a problem that can't be solved with either native ruby or a gem with a clever native extension. And some of the context of your other responses hints that you might not be familiar with the concept of microservices to solve some of your more-complicated-but-still-easily-compartmentalized business logic.

What do you mean "finding hosting"? Literally throw any decent image on a Digital Ocean droplet or AWS EC2 instance for $5/mo. and you're done. If you're having other people manage your hosting for your Ruby applications for you, then I think we're having two different conversations as two different people.

Thread Thread
jorgecc profile image
Jorge Castro

What do you mean "finding hosting"? Literally throw any decent image on a Digital Ocean droplet or AWS EC2 instance for $5/mo. and you're done. If you're having other people manage your hosting for your Ruby applications for you, then I think we're having two different conversations as two different people.

We always could VPS, Dedi or Colo but if we want a ready to use solution, then is digital ocean, Heroku and... Now, let's say for PHP, we have more than +100 hosting that are ready to use.

Thread Thread
arcreative profile image
Adam Robertson

What is “ready to use”? You can literally run two commands to get ruby installed and your repo either pulled or deployed with something like Capistrano. In fact, if you’re not using VPS or lambdas for your applications at this point, I would solidly and unequivocally say you have no idea what you’re doing, and your other [inflammatory] posts on this site suggest as much as well.

I’m not saying there’s no room for preference, but your point about PHP being ready to use is literally 100% invalid.

Collapse
david_j_eddy profile image
David J Eddy

Coming from a PHP background I got use to hearing 'PHP is dead' all the time. The number say otherwise. Ruby seems to be in the place. I like what I see regarding Ruby (and Rails). Shows the community has focus and the language will be around for a long time.

I am happy to have picked up this new tool.

arcreative profile image
Adam Robertson

@jorgecc just because you haven't discovered/used IntelliJ/Rubymine doesn't mean that there's anything wrong with Ruby. I think you're outing yourself as "not knowing what you're talking about" with all these apples-to-oranges comparisons about "kings" and "power machine"s.

jorgecc profile image
Jorge Castro

Or you could pick JAVA, where there are more chances to find a job, stable and a better salary.

Now, I gonna shot some myths.

Stack Overflow has limited usability, it means to usage and statistic. Most of the businesses that publish on Stack Overflow Jobs, simply collect information and database. Why do they do that? I'm clueless but it is the typical help-wanted that never answer.

Then, we have Ruby. Ruby is fine but it's not widely used. You could check the rankings, it never reaches to the top 10, while Java and JavaScript always top the ranking.

However, even when Stackoverflow-jobs is limited but it the trend of StackOverflow (question)

tiobe.com/tiobe-index/ This ranking is debatable but it marks a real trend.

pypl.github.io/PYPL.html

redmonk.com/sogrady/2019/07/18/lan...

So I repeat, Rails is like the "second best store in town". So, why not we pick the best one?

And Ruby, Ruby does not work alone, we have Ruby and Rails, so we must learn Ruby AND Rails at the same time. However, and it is the surprise, Rails is for cheap works. Most companies that preach that they use R&R, they use Instead Ruby and Sinatra, maybe they used Rails (at some point) but later they jumped to Sinatra. There is also Grape and Rack, they beat Rails to the death. You don't need to trust me, you could google for that.

So why people pick Rails?

Collapse
codemouse92 profile image
Jason C. McDonald

Well put! I just recently wrote an article with a similar (but broader) premise:

Collapse
skelem profile image
Steve Kelem

Is there an Eclipse plugin for development in Ruby?