Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Modern React is a "full-stack" framework - with the current recommended implementation being NextJS.

If you build on NextJS you will get the entire tailwinds of the industry behind you. Having Cursor write a full-stack app that leverages server components alongside client components is a 10x velocity unlock that you won't get if you bifurcate your codebase (as is the rails model)

Typescript is going to be the language of AI engineering, (with Python being the language of ML engineering).

Rails is a fundamentally unserious framework:

1. It lacks LSP (any modern language should support this, think "clicking" a function call to go to it's definition)

2. it lacks type-safety (do you really want to write unit tests to enforce contracts and expectations in your code? or just use the type system?)

3. Object-Oriented-Programming is a failed paradigm for modern web development

4. elite engineers will not want to work for you



I hate to break this to you, but typescript ain't type-safe. There's a lot I like about typescript, but your runtime is still node, so any "type-safety" is mostly illusory. Not to mention every typescript codebase I've ever looked at includes a copious amount of Any, so...there's that.

Also, typescript has OOP support for a reason -- lots of typescript codebases make copious use of classes. Javascript tried to remain mostly functional for a long time, and people kept trying to make class-based OOP, so, they added it.

Finally, React is not a full-stack framework -- it's a framework for generating UIs. It has recently added support for server-side rendering, and NextJS has added support for that, but Rails and NextJS are very different. Rails is batteries included, NextJS is bring your own [everything] that happens on the server.

YMMV/to each their own/etc etc etc, but referring Rails as "fundamentally unserious" (github, stripe, shopify, i could go on) reflects the opinion of someone who either has an axe to grind with ruby/rails, or is willfully ignorant of it's capability.


> any modern language should support this

It seems that people who use Visual Studio Code expect LSP to exist for every language for some reason, then blame the language itself when it doesn't, as this commenter did. It's strange to me. It isn't that the language doesn't support VSCode, the problem is that VSCode doesn't support the language. VSCode is the bad thing, not the language.

> elite engineers will not want to work for you

Engineers who care more about the specific web technology being used rather than solving the problem don't sound like "elite" engineers.


Your comment is profoundly ignorant. The Language Server Protocol is a standard across all modern editors. It's the reason for the resurgence of Neovim. It is absolutely the responsibility of the language to provide a language server.

> Engineers who care more about the specific web technology being used rather than solving the problem don't sound like "elite" engineers.

Naive


Enlighten me, elite engineer. Why does liking NextJS make you elite?

> standard across all modern editors

This is incorrect. It is Microsoft's open standard that _some_ modern editors have chosen to implement. For example, JetBrains IDEs & Sublime text have no native support, only limited support only through extensions/plugins.

> It is absolutely the responsibility of the language to provide a language server.

Actually, it's absolutely the wild west. Most LSP implementations are not made by the language's foundation, including those of the most popular languages: https://microsoft.github.io/language-server-protocol/impleme...

Again, this is an extremely recent standard, 2016, that services some text editors. This is not something foundational for all language authors.

My main point is: If your editor experience is bad when using Ruby, then your editor is bad for Ruby. Regardless of if your editor uses LSP or something else. The language itself is not at fault.


The statement that Rails is an "unserious" framework is not true. There are many multi-million/billion dollar companies built with Rails: Shopify, GitHub, Chime, Gusto, GitLab, and Basecamp/Hey, to name a few.

1. It does: https://github.com/Shopify/ruby-lsp

2. It does have a type system, just not a _static_ type system. You can declare/annotate methods using RBS/Sorbet, just like TypeScript.

3. I don't care what paradigm is being used if it solves my problem and I can be productive in it.

4. I wouldn't want to work with them either.


> Object-Oriented-Programming is a failed paradigm for modern web development

This seems to me more like an opinion based on personal flavors than an industry statement.

There is no clear winner between OOP and FP. Both are fine and models (thus a bit far away from reality) of an outside world that has a fair part of randomness and increasing complexity. Moreso more languages are implementing properties from the other paradigm.

Also if you think FP is modern you are mistaken. FP is at least as old as OOP if not a bit older. Take a look at when LISP was released and when the first OOP language was released.


But there is LSP support? See: https://shopify.github.io/ruby-lsp/#with-vs-code

There's also (the older) solargraph.


Solargraph is like 8+ years old too.

This person clearly has no actual rails experience. Every deal breaker he lists has a well established solution in rails.


Are you an elite engineer? I bet your great to work with lol




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: