3 ms·
I think this is spot on. IMHO, everyone that uses Rails knows it's flawed. The problem is that there's not a better option out there that: (1) Is "batteries
by treis 6y ago
I think this is spot on. IMHO, everyone that uses Rails knows it's flawed. The problem is that there's not a better option out there that:
(1) Is "batteries included"
(2) Has the gem/engine ecosystem where basically every problem is already solved.
(3) Expressive code like has_many :things
If we could get those things + static typing + performance everyone would switch. But that doesn't exist.
- ryanianian 6y agoThat alternative in 2020 is Python 3.7+ with typing annotations. Python is very "batteries included," and there is a large set of exisitng packages for most things. One can monkey-patch things and invent cute syntax, but most python is rarely hard to reason about what's actually going on. It's easy to bag on parts of python (eg some syntax and terrible distribution story), but I feel much less crazy (and suspicious of every punctuation mark) when working on a modern python app than when working on a modern ruby app, especially in the presence of rails.
- pjmlp 6y ago.NET and Java have enough batteries, 20 years of libraries solving every problem, several expressive languages available, alongside AOT/JIT compilers.
- treis 6y ago.NET has the problem if being a MS product. It's only relatively recently that they've decided to be fully cross platform and open source. I'm not sure if it's all the way there yet, but it could be a viable option. Java is fine as a programming language. Java as a web app more or less means Spring. And Spring means XML files and annotations which come with their own problems. Kind of an out of the pan and into the fire thing.
- pjmlp 6y agoPlenty of companies don't care one second that it is a MS product, in fact it is a positive value on their eyes regarding product support and tooling. First of all there is more to Java Web development than JEE and Spring, which in any case, other eco-systems don't have a mature answer for many of their deployment scenarios and cross system integrations. XML is beautiful, there is yet a format that supports machine manipulation, IDE graphical tooling, comments, schema validation as XML. Anyone that praises Rails will be right at home with XML and annotations magic.
- blandflakes 6y agoYou can get away without using Spring and do quite fine, but there's definitely a risk that if you invest in the JVM ecosystem you'll get hired to work on Spring. (alternatives like Vert.x, the less-annotation-heavy quarkus, etc). For Java web dev I actually like Kotlin better - ktor is pretty nice.