I like dev.to. It's a pleasant respite from Twitter (the only other social media I subscribe to) and largely populated with a bunch of nice people who mean well and want to help each other. Being someone of a surly, snarky nature, hanging out with a such a community softens my edges. I dig it.
That said...I recently found myself pulling out the knives.
I'm a Rails programmer. I've been in the game for a little over 3 years after a long "career" as a college teacher and freelance musician trying to side-step penury by any musical means necessary. I learned by watching Ryan Bate's Railscasts, blogs, online tutorials, Codecademy, whatever I could find working my help desk job that required me to help exactly no one.
All that said, I'm protective of the language/framework and the community that helped me start an entirely new, awesome career. It's like Lois from Family Guy said:
"Say what you want about be, but come for my tribe and I'll rip your *()&$@ eyes out".
It seems to be a thing today to post blogs on "Is ~lang~ dead?" "You should stop using ~lang~" "Starting a new app? Don't use ~lang`!".
WHY??
My master's degree is in Jazz Studies. I'm capable of writing and performing music that is significantly more sophisticated than what 90% of people listen to on a daily basis. So WHAT?? People don't listen to music to marvel at the complexity of the composer's skill. They want to feel something, and it turns out you can get that done with a drum machine, a synth and 4 loops.
Code serves a purpose, it is not a purpose unto itself
Is Elixir faster than Ruby? Yes. Is Ruby fast enough? Most of the time. It certainly is for that app you're building that has less than 1,000 customers. Is it good to know vanilla JS? Yes. Can you bang out work in React? Yes.
There are plenty of people out in the developer universe that didn't go to college for it, didn't start dinking around with code in their childhood and just want to chop wood and make a decent living doing it. Let's be respectful of our peers and put the kibosh on these childish hit-pieces on each others' tools.
/rant
Top comments (7)
There's nothing wrong with you wanting to continue using Ruby and Rails, it's your preference. I also don't see anything wrong with people moving on to using languages and tools they find to be better, and then sharing their opinions about it. Why does that bother you?
The rate of change is high in our field of work, it's a fact. Don't be surprised when the industry moves beyond COBOL or Pascal or Flash/Adobe Air or Visual Basic.
The fact is that sometimes better tools for the problems DO emerge. Ruby was one of these for it's productivity and developer friendliness. Elixir is making a splash because it has that plus things that Ruby doesn't have, and won't have.
When one of your clients with 1,000 customers starts getting exponentially more traffic, then you might sympathize with those who have lived through that experience with Ruby.
As with most languages, Ruby won't die - but it won't be as popular as it once was.
Languages and frameworks change, but the underlying principles do not. Study those and you will find it easier to adapt with the inevitable changing tides. Or don't, and someday you will make big bucks working on legacy Ruby codebases, because no one else does (See COBOL).
The situation you posted about is something that I find to be quite a large problem in the development community. It's an issue where there is no 'wrong' answer.
When companies suggest a language for a new project, they look at a few different things, such as scalability, maintainability, and efficiency.
The industry in general loves moving to the next big thing very quickly. I have no doubt that you are an excellent Ruby developer. I remember, though, when Ruby was the language to learn (the one everyone was telling people to switch to for all new projects).
While Ruby is still excellent for developing with, maintainability can be difficult in the long-run for a company. Not because the language itself is 'dead' but because developers are moving to learn languages where they have the greatest chance of getting a job. Learning what is hot allows people to quickly move onto another project.
For very large companies, the reason they stick with PHP and SQL is maintainability. These are more time tested at this point.
Honestly, I wouldn't let a few comments about a language being dead or dying upset you. I've been hearing that C++ is a dead language for the past 10 years (Java was the future and then C#), but there are still a lot of performance-sensitive applications that are developed in it. If you have a language that you enjoy and can be successful with, make something amazing with it!
I feel the beauty of a developer career is that you can be self-taught in a new language and find a job in a relatively short amount of time compared to other careers. As long as you are willing to learn and experiment, you will always be able to find some form of employment.
I agree with everything you said. Where I get my Irish up is when people trash other tools simply because they are more mature. We don’t need that in our community. If you want to use elixir, rust, clojure, scala, haskell...whatever, do it. Don’t, however, go around talking shit to get attention. Just because Trump does it...lol
I feel like people just run down programming languages when they have nothing else to talk about. Or they tried to build something with it once, and they didn't make it past the dev environment set up so they hate it from then till forever and ever.
As both a programmer and a WoW player, I really appreciate how you’ve drawn parallels between coding and gaming. One aspect I find particularly helpful is using Mythic boost (wowvendor.com/shop/wow/dungeons/). It’s a way to tackle challenging content without investing excessive time, allowing me to balance my gaming with work. This helps me enjoy high-level dungeons and raids efficiently. For busy professionals like me, it’s a game-changer. Thanks for the insightful read!
I want to add also those blog posts that benchmark xlang vs ylang often biased or some miniscule difference.