Live data from Hacker News

Rails is better low code than low code

radanskoric.com

121–130 of 249 posts

Re: Rails is better low code than low code

#121

Earlier quoted context omitted.

Ruby is my least favorite part of Rails by far. The lack of type checking makes every single gem and rails update extremely dangerous in ways that are incredibly difficult to predict. For example the redis gem updated to return an int from exists() instead of a bool like it did before. This doesn’t raise any exceptions because all ints work in if statements. They just always return true. Silently breaking all of the…

Anyone maintaining software in the public domain needs to understand Torvald's first rule of kernel development. YOU DO NOT BREAK USERSPACE! Seriously, how hard is it to understand? The collective impact across thousands of users will always be greater than any overhead in versioning. It's equivalent to willingly shipping a bug, and you would never do that, would you? Arguments about keeping the interface simple are…

The argument for changing it was that the redis gem was meant to mirror functionality of the redis api method with the same name.

What really blows my mind though is that they did it as a minor patch release. Combined with Ruby having no type checking and allowing nonsensical stuff like if statements that always return true.

Re: Rails is better low code than low code

#122

Earlier quoted context omitted.

One of the perks of Rails is that Ruby itself makes it more compelling. When you need to get to something that the framework doesn’t expose, Ruby makes it easy to get to it without having to rewrite the framework, extend a class and replace it in multiple places or fork it just to use your modification. This applies to the entire gem ecosystem too. Over the years this ability has saved me numerous headaches with only…

Ruby is my least favorite part of Rails by far. The lack of type checking makes every single gem and rails update extremely dangerous in ways that are incredibly difficult to predict. For example the redis gem updated to return an int from exists() instead of a bool like it did before. This doesn’t raise any exceptions because all ints work in if statements. They just always return true. Silently breaking all of the…

I appreciate the example because I've heard people complain about this but have yet seen a good example of it in practice.

I think you make a good point, and were I maintaining redis gem I wouldn't have approved a contract break like that. Even in a typed language, changing the return type of an existing function is IMHO not something you do, especially once you hit v1.0.

But you make a good point that a compiler in a typed language would have at least notified you at build time of the breakage. Personally I'm willing to give that up for the benefits, but I can understand why someone wouldn't.

Re: Rails is better low code than low code

#123

Rails is no different to any other modern programming language. It’s no more productive. I don’t know why people treat it like it’s more productive than other things.

For starters, it's not a programming language, but assuming you are aware: The completeness of Rails still not that common (for example, NextJS needs a lot of additional packages for stuff that integrated in Rails).

Curiously, what makes Rails more interesting to me right now are LLMs: Rails is so stable that you can trust the models to know about (most) features, which makes ai assisted development so much more effective.

Re: Rails is better low code than low code

#124
Even though it is Oracle, Oracle APEX is exceptional at creating CRUD applications. The main benefit to other low code tools is that it doesn't want eliminate code but just the repetitive UI code. It still expects you to have skills in database development so you can achieve everything but generating a Report, Grid or Form from a SQL query takes as long as you need to write the query. And everything is customizable and maintainable in the end.

Re: Rails is better low code than low code

#125

Rails is no different to any other modern programming language. It’s no more productive. I don’t know why people treat it like it’s more productive than other things.

Why was it ever popular? It promoted a productive code organizational pattern, basic hygiene like migrations that were absent in a lot of web dev at the time, had a very productive non-totally-dogshit ORM, and some good deployment tools for the pre-container (and, hell, pre-popularization-of-IAC) era developed alongside it.

It’s mostly the ecosystem making it popular these days. Same reason Python’s a juggernaut in several spaces—the ecosystem, not the language or tools (or, in Rails’ case, framework). You can slap a few gems together and have a site with all the basics (user accounts, admin, OAuth, file uploads, user roles, et c) in minutes. The gems are widely-used enough that they support most things you might need for whatever-they-do, and you probably won’t run into some feature that you really need but has been broken for two years and nobody realized it because nobody’s using that feature.

(For the record, I’ve sworn off rails after seeing so many codebases that were total dumpster fires that I decided it attracts too many budget-minded-to-a-fault companies and owners for me to want to work with it again, plus I fucking hate ungreppable magical defined-nowhere metaprogramming symbols and magical imports that leave one unable to figure out WTF is happening without running the code, but I can see why it’s popular)

Re: Rails is better low code than low code

#126

Even though it is Oracle, Oracle APEX is exceptional at creating CRUD applications. The main benefit to other low code tools is that it doesn't want eliminate code but just the repetitive UI code. It still expects you to have skills in database development so you can achieve everything but generating a Report, Grid or Form from a SQL query takes as long as you need to write the query. And everything is customizable a…

> It still expects you to have skills in database development so you can achieve everything but generating a Report, Grid or Form from a SQL query takes as long as you need to write the query. And everything is customizable and maintainable in the end.

Isn't this what people thought about Oracle Forms before it going the way it did?

Re: Rails is better low code than low code

#127

Low code initially works quite well until you hit the limits of the low-code framework. If you just need a throw-away proof of concept, or a personal utility, or the like, low-code solutions can be quite efficient. However, implementing anything significant that's expected to be extended and improved, particularly when there are users that request changes, improvements and new features, low-code "is like climbing a t…

I’ve spend a few decades in non-tech enterprise including 7 years in the public sector, and I’ve never seen a low-code solution work at all. Even extremely simple automation flows require at least some degree of software engineering. Looping isn’t intuitive at all, he’ll even conditions aren’t.

What has completely changed the field is LLMs. We now have employees of every sort building small Python scripts which actually work. Even installing Python and getting it up and running is something the LLMs help with. Obviously almost all of it is terrible, and none of scale, but for 90% it, it never has to run outside the personal computers of the employees who write it. Now the challenge becomes keeping the knowledge (and scripts) when employees change jobs. Though to be fair, the knowledge bit was always a challenge.

Re: Rails is better low code than low code

#129

Earlier quoted context omitted.

Anyone maintaining software in the public domain needs to understand Torvald's first rule of kernel development. YOU DO NOT BREAK USERSPACE! Seriously, how hard is it to understand? The collective impact across thousands of users will always be greater than any overhead in versioning. It's equivalent to willingly shipping a bug, and you would never do that, would you? Arguments about keeping the interface simple are…

The argument for changing it was that the redis gem was meant to mirror functionality of the redis api method with the same name. What really blows my mind though is that they did it as a minor patch release. Combined with Ruby having no type checking and allowing nonsensical stuff like if statements that always return true.

Well, that is still no reason to introduce a breaking change in the existing interface.

You introduce a new one, using a different signature and mark the old one as deprecated, and keep it around until as long as reasonably possible.

Re: Rails is better low code than low code

#130
This post boils down to "it's easier to use something you know in and out that some new tool you're using for the first time.", so not a good argument. I think I've seen ruby code a handful of times in my life and it looks like an obfuscated form of perl to me. If you'd give me a low code tool and ruby and the same task I don't think I'll succeed with either in a reasonable amount of time.

(Not that I'm a fan of low code or anything.)

Post reply on HN