Rails is not written in Ruby.
I’m born and raised in Kraków, a beautiful city in Poland, maybe you’ve heard about it, maybe you’ve even been here. In Poland we speak Polish, which is a really difficult language, it’s actually considered one of the top-10 most difficult languages to learn in the world. In Poland, just like in many other countries, there are regions where dialects are used rather than “the pure” form of the language, and so in my city, we have our own dialect.
Interesting article. I wonder if at some point the ruby community became so dependant of Rails and its magic, that end up losing opportunity of growing into other areas like AI, IoT and mobile.
The writer is right. When I have to switch the rails codebase to sinatra, I just found that there were so many functions added by activesupport.
Also some use of operators, like bang function (!) is re-interpreted by rails.
The article is quite on point, I’ve noticed the same when I was a Rails dev long time ago.
But the Ruby community doesn’t mind and apparently it likes it this way so who are we to criticize? As long as people are productive and kinda sorta happy, why not?
It’s quite alright for a framework to kickstart a huge adoption of a language like @AstonJ mentioned.
I was already quite turned off by Ruby when I stopped working with it (and Rails) for 6.5 years, about 6 years ago now simply because it was encouraging bad programming habits. And the community was constantly scrambling to try and fix it with practices like a dozen variants of MVC (), strict file structure requirements (), less monkey patching (!), generating some code from specs () etc. etc. But in the end it felt like you’re pissing against the wind.
Rails has quite a huge following and people praise its “ease of use” to this day (even though 12-year Rails veterans are not seeing it anywhere. ). Rails is actually too deceptively simple; you can entangle yourself in a huge spaghetti ball in a mere single month if you’re not careful. But that probably applies almost everywhere…
My take is: let people develop their ecosystem how they like. I personally disagreed with the direction so I left.
Uhhh? Monkey patching is not a good habit. Typeless programming is not a good habit. Lack of proper resource management is not a good habit. Just to list a few big ones out of many more…
As the old saying goes: When you remove complexity in one place, you just move it to another.
I do feel it’s important to make programming accessible tho… and Ruby and Rails have always been great at that There are payoffs of course, but there will always be swings and roundabouts…
Yeah I think that’s the trade off. I often think how much I enjoy writing new apps or features in Rails… and how much of a pain it can be when maintaining or expanding something.
I think Elm has done a great job with this for the frontend and Elixir’s Phoenix a good job on the backend (though in a different way). I’m hoping that with Gleam we’ll be able to build a backend web framework with the strengths of both.
I don’t disagree, there’s tech out there that manages to do it better. I can hardly call Phoenix accessible however. Maybe for you and me but people trip up on a lot of things in Phoenix all the time (judging by ElixirForum). Although I’d write that off in the “didn’t bother to learn Elixir first” category.
I made the same mistake with Rails - dove straight into it without learning Ruby and then found I was asking really dumb questions in their IRC channel. After a couple of days of doing that Ryan Bigg said “Hey Aston, if you read this book I promise you’ll be able to do everything you’ve been asking… and more!”. He was right He also hand-held me send my first PR to an OS project - he’s such a cool guy! (No surprise he is one of my dev heroes!)
Sounds really cool! I hope you’ll consider project structure to be more component based (so rather than the typical MVC folder structure, folders will be dictated by components - this just makes it easier to work on specific things imo and I wish Phoenix had an option for this to be set on project creation).
Yeah obviously, I am just a bit salty that people are coming entitled to forums and getting angry that the forum dwellers aren’t there to immediately do their work for free.
It’s quite logical that taking the requisite time to learn pays huge dividends!
Generally I find that people have at least read the tutorial on the Elixir Lang site (and thanks to things like our discounts and giveaways I am pretty sure we see a larger than average number of people picking up books too)
If you see anyone getting angry please report their posts.
I think the vast majority tries to learn a language through the go to framework of their favorite language.
But it’s a very bad habit since frameworks are “usually” opinionated and they tend to bend the language to their will.
The ActiveSupport rant is legit, and we ended up with Ruby devs which “can’t” write Ruby.
Maybe it’s because of hype or promotion on some kind of courses/books. I do not go on ElixirForum this much lately.
Take a look at Commanded, it’s a CQRS/ES library, we got separation based on domain, and you can be very granular if you want to.
Maybe Phoenix is much more accessible than Rails in the sense that it’s explicit. We know that a controller is a controller because of the controller macro, etc. In Rails, it’s not the case at all.
I agree! It’s quite sad though to see, at least here in France, that Elm is not getting any traction.
Despite the bold statement made by Elm, this video explains probably why.
Hopefully, the author changed the article’s name. Yes, Rails is Ruby. A Ruby with a superset of capabilities. This feature is at the heart of Ruby itself.
I’m ok with this, even after a fight on a general library we developed originally outside of Rails, but have a subtle change when used inside Rails. This caused a break on our promise but we found how to deal with (related to JSON processing).
There is room to learn. Ruby can’t be compared with other technologies. We have to make effort to understand its shape and use its strength.
This is also the reason I always call a Ruby on Rails developer a Ruby on Rails developer, and never a Ruby developer until a real project was achieved outside of Rails.