What language and framework would you choose for rapid web development?

If you would learn code today from scratch, what language and framework would you choose for rapid web development?

1) JS + Node.js + Express
2) Ruby + Rails
3) Python + Django
4) PHP + Laravel

Whatever you know & works fastest for you.

For me, it's the 1st one. Everything JS :)

Personal preferences matters a lot. And I agree with Akshay. Pick whatever works best for you.

I’ve always loved Ruby’s syntax and found it very pleasant to work with — despite having friends who never really liked it.

As such, I would go with 2. Ruby on Rails.

JS hands down. It gives you the most options of things you can build going forward (think desktop apps, mobile apps, CLIs, even operating systems) as well as it's the MVP on the web so I see no reason to pick anything else.

I only have recent experience with Ruby on Rails, so it's impossible to fairly compare them all. That said, I do believe Ruby on Rails is (still) a great way to quickly develop a web-based product. It's not the right tool for every job (e.g. single-page apps and real-time apps), but for a relatively straight forward CRUD app (Creating, Reading, Updating, and Deleting records) it's extremely fast to get something up and running.

Plus, there are a hundreds if not thousands of high-quality Rubygems for common functionality such as authentication, commenting, and most other common site features.

I had to decide this a few months ago and went for Django + Python, just as I found Python nice to work with and also felt it would be useful outside of web development

I would suggest JS + Firebase as backend. Firebase handles most of scaling stuff for you and you gets some stuff for free like authentication

Single page App with Nuxt.js or React and Firebase.
We don't have to care about the backend which is a huge advantage for developing speed

JS (VueJS and BootstrapVue) + Firebase (NodeJS)

Plain HTML, CSS, JS, PHP to prototype static sites. No framework. Dynamically generated pages and a database can even be left out but that depends on the kind of problem you're solving.