Yesterday I was having lunch with some developers, and one of them (a Ruby one) began to bash some bad attributes of that technology.
He was criticising the hard debugging, the forced metaprogramming, and the code injections (a.k.a. monkey patch). He has spoken with authority, because he is an experienced Ruby programmer and knows some other languages too.
So another programmer seemed offended and fell in the defense of Ruby. However that other guy knows no other programming platform but Ruby.
Thus the arguments sounded shallow and generalised.
I took his arguments and some others I’ve been collecting for a while. Let’s take a look at them.
“Foots the bills” doesn’t find ground as argument itself.
No, man. You can develop faster than yourself in any other language.
It happens ’cause you’re unaware or unqualified to code in every other programming language. Your disability is no evidence of superiority (quite the opposite).
My team has been quickly developing applications from scratch and supporting others using (believe it or not) Java – that language everyone says the development’s slow.
Bogus. Ruby runs only on a set of few runtime machines – and you still have to supply your source code to the customer.
You could compile it using Crystal, but its syntax is slightly different from Ruby’s, leading to many issues not so one-off.
PHP is no reference at all.
That’s my favorite one! When everything else fails, Rubyists make use of that killer argument. It’s a kind of argumentum adverecundiam.
In case all cool kids jump off the bridge, I wonder if you do so.
Ruby has nothing qualifying it above any other technology – indeed Ruby dives into some bad approaches that can be considered anti-pattern by other developer communities (like the near-mandatory metaprogramming e.g.)
However that false impression isn’t Ruby’s exclusivity. I’ve seen that in many other communities, like Python, Java, Node.js, and C#. It’s a self-enclosedness bias, every blind-to-others community gets to it. It’s the Dunning-Kruger effect associated to the herd behavior.
Ruby is a toy language for those who like pretending to fight on great quests (like killing dragons and saving the princess). Of course eventually grown ups may make good use of it, but kids will be kids.
Also in Medium.