DEV Community

Jess Lee
Jess Lee

Posted on

What’s your opinion on the Ruby programming language?

DEV is in the process of launching a podcast and we'd love for you to be involved! We're recording the episodes in advance, and this week we'd like to know:

What’s your opinion on the Ruby programming language?

If you'd like to participate, please:

  • Call our Google Voice at at +1 (929)500-1513 and leave a message 📞
  • Send a voice memo to pod@dev.to 🎙
  • OR, if you don't want your voice recorded...just leave a comment here and we'll read your response aloud for you 🗣

ruby-crystal-animation

Thank you!

Oldest comments (41)

Collapse
 
krthr profile image
Wilson Tovar

I like ruby because it is very easy to read but in terms of speed it leaves a lot to be desired compared to other technologies I use :(.

That's why I currently use Crystal (which is like a "Ruby", but compiled).

Collapse
 
omrisama profile image
Omri Gabay

I agree that Crystal is exciting, but dude. Ruby has come out faster than Python and sometimes Node in a few benchmarks...

Collapse
 
krthr profile image
Wilson Tovar

Yep. I don't like Python hahaha

Collapse
 
_hs_ profile image
HS

Can you share link to those benchmarks? 2 main reasons for not using Ruby now for me are not so type safe (at least in 2016 when I tried it, it appeared not to be) and way slower in my cases than JVM languages. Keep in mind I stated my cases; where I need type safety for my own protection and I do not need simple calls to underlying libraries written in C or whatever, these are libraries I needed for domain specific work.

Thread Thread
 
omrisama profile image
Omri Gabay

benchmarksgame-team.pages.debian.n...

Granted, they're using the JIT which is still relatively experimental in Ruby but... yeah.

benchmarksgame-team.pages.debian.n...

Thread Thread
 
_hs_ profile image
HS

Thx

Collapse
 
_hs_ profile image
HS

First time I hear about Crystal but looks nice. Thanks

Collapse
 
robole profile image
Rob OLeary • Edited

It's a rare and beautiful gem ❤️💎😉

Collapse
 
scrabill profile image
Shannon Crabill

Ruby is great. I love it.

Coming off of having learned (and struggled) with Javascript, learning Ruby felt like caaaaake. I found it very easy to understand and build that understanding to Ruby on Rails relatively quickly.

Collapse
 
brownio profile image
Antonio Djigo

Wish it had more standardised uses apart from Rails, it's a beautiful language that should not be forgotten :(

Now I'm going for Go instead tho.

Collapse
 
omrisama profile image
Omri Gabay

Ruby is the greatest invention since sliced bread.

Collapse
 
kayis profile image
K

Honestly? I never used it.

When it was hyped around 2008/09, because of Rails, all of my friends used it at their internships, but they didn't like it anymore when they came back.

I used PHP at that time and switched to JS in 2011, so Ruby was never talked about in any way at my jobs.

Collapse
 
thealiilman profile image
Ali Ilman

I was slightly reluctant to use Ruby early on due to the demand that seemed average unlike JavaScript or Python.

After 2 years though, I’m glad that I picked up this language. It’s beautiful and sometimes, this is inexpressible. 😍😍😍 Writing code in Ruby almost feels like writing sentences in English.

Collapse
 
tomsfernandez profile image
Tomas Fernandez

Great language, would be better if typed hehe. It really would be awesome for real async and concurrency support.

Collapse
 
_hs_ profile image
HS

Both reasons for which I don't use it on current project. A lot of IO calls where cost is lowered by using async stuff by having app not scale because there's no need for more (count of or powerfull) instances.

Collapse
 
geewiz profile image
Jochen Lillich

You might want to check out Crystal or even Elixir.

Thread Thread
 
_hs_ profile image
HS

I've looked at Elixir before. Never had time to really test it out. However, gotta say on big and complex data it looks less optimal than JVM stuff. I know people like to protect elixir/erlang but if you have complex data and you need to do stuff with it JVM still rocks although I would like Elixir for other stuff. I like Scala but Elixir is more pretty. Feel like a teenager don't know what I want too much good stuff

Thread Thread
 
rhymes profile image
rhymes

To be fair, Erlang has been running global telecommunications for decades (Ericsson, T-Mobile run their nodes with it, many LTE nodes run on Erlang) and it's the system WhatsApp (which has quite a few users :D) runs on. OTP, the platform Erlang uses, also contains a distributed real time database called Mnesia.

Ericsson uses Erlang to develop many of its products and an estimated 40 percent of all mobile traffic worldwide is carried over the company’s network solutions. This means that a substantial part of all mobile voice and data calls are enabled by Erlang code. The number of Erlang users outside the telecom industry has increased over time and includes companies such as WhatsApp, Bet365, and Klarna.

from Erlang celebrates 20 years as open source

Companies use it for massively scalable systems so I think it's quite battle tested. Not a comparison to the JVM, there are very complex software architectures out there running on the JVM but I wanted to shine a light on Erlang for a moment :-)

Thread Thread
 
_hs_ profile image
HS

That's not the point, it's much better for passing small data in high volumes. Data transformation and calculation is another thing. JVM is not excelent at big numbers but it's a bit better than Erlang so it's in between hardcore language for math and excelent IO like Erlang. That's one of the examples. Also transformating 20MB+ json to yourown stuff can be pain but with JVM stuff i do it quite easily although it's bad to do such thing anyways sometimes you have to do it. That's another example. I would love to use all technologies but that's not always possible

Thread Thread
 
rhymes profile image
rhymes

My point wasn't a comparison though, I was just highlighting Erlang.

I agree that we can't always choose the technology we want to use or use them all at the same time :-D

Thread Thread
 
_hs_ profile image
HS

Oh, sry, I take Erlang/Elixir as the same thing I thought you were pointing stuff out to compare them but you just want to mention battle tested part. Yeah I agree it's more than battle tested. Hope I get time to learn it soon

Collapse
 
abdurrkhalid333 profile image
Abdur Rehman Khalid

Being Having a Strong Background of Java, First I felt it very easy and Clear to Understand, then When Loops came they made be a bit confusing, after that when I moved to the Object-Oriented Programming I felt quite nice.

When I moved towards the Ruby on Rails Framework, I felt comfortable and easy to understand the Model View and Controller Pattern as well.

Collapse
 
jhechtf profile image
Jim Burbridge

I don't like indent-based languages, but at least Ruby as end statements

Collapse
 
leastbad profile image
leastbad

Ruby isn't an indent-based language?

Collapse
 
moopet profile image
Ben Sinclair

It's weird. Everyone seems to think it's easy to read, but I find it's a pain - I'm constantly scooting my eyes back and forth trying to translate it into something that makes sense to me. A lot of the syntax seems to have been implemented just for the hell of it rather than for any good reason, and I've never learned to use it beyond the basics.

What I'm saying is, it might well be a great language, but its first impressions always put me off.

Collapse
 
kwstannard profile image
Kelly Stannard

What prior languages do you know?

Also, A lot of things in Ruby have more than one syntax in order to allow for various styles from prior languages, so you may have come across a strange code base.

Collapse
 
buinauskas profile image
Evaldas Buinauskas

Started using it in my new job. I do wish it had types for better autocompletion and self-documentation.

Other than that I do like it so far for being elegant and human-readable.

Collapse
 
ackmandesu profile image
AckmanDESU

This. I love ruby but after a year of using Typescript + C# only I can say I definitely don’t miss having to fuck around to get proper completion.

Collapse
 
joshidhruv profile image
Dhruvkumar Joshi

I love the Ruby, and with the Rails. I can spin up a simple Web App with API in minutes. I have never struggled in Ruby, Its like you dont need to be a fancy dev to write great ruby code. Its just happen to be Simple, Neat and Clean code that anyone can read. #loveit #ror #7yearsOfRailsExp #ror4lyf

Collapse
 
jcolag profile image
John Colagioia (he/him)

I like and use it, but wish its initial burst of broad popularity had held on through the rise/expansion in tooling and libraries other language ecosystems had. Compared head-to-head with just the compiler or interpreter for other languages, it has a lot of conveniences. But comparing its ecosystem with a JavaScript that can add static type-checking, a pretty-printer, and treat style issues as if they were fatal errors, Ruby is harder to use for large-scale engineering than it could be. Python, JavaScript, and C# seem to have much more investment in their libraries and their flagship web application frameworks have mostly caught up to Ruby, as well.
But on "the other other hand," Ruby has also invested a lot more effort into making sure their community is sustainable, putting it far ahead of other languages in that respect.

Collapse
 
michi profile image
Michael Z

I would love to pick it up, maybe just because of how DHH speaks of it :D

I recently tried it and one thing that put me off was the installation. I couldn't access installed gems like rails and searching online for the issue it seems there is a wide range of bundlers people use and I just couldn't find help for my super basic setup. I will probably try reinstalling everything again once I have a little more free time.

Collapse
 
rhymes profile image
rhymes

I suggest using rvm not to depend on the operating system's ruby :-)

Collapse
 
lbonanomi profile image
lbonanomi

Needing to use rvm was honestly a big reason that I let my ruby use dwindle to just chef customizations; I really couldn't stand having to maintain more than 2 package catalogs.

Collapse
 
kwstannard profile image
Kelly Stannard

I would suggest using chruby. It was reviewed and approved by the head rvm maintainer. The only reason to use RVM these days is if you are maintaining a legacy app that needs it.

Thread Thread
 
rhymes profile image
rhymes

Didn't know about chruby! Going to check it out :) Thanks!