top | item 46157436

(no title)

blagie | 2 months ago

"Fun" isn't the same thing as "functional."

I remember having great fun in QuickBASIC. And my son enjoys Scratch.

Django code is much more fun to work with than Node, but I can't imagine developing something competitive in it in 2025 to what I'm developing in Node. Node is a pain in the butt, but at the end of the day, competitiveness is about what you deliver to the user, not how much fun you have along the way.

* I think the most fundamental problems are developer-base/libraries and being able to use the same code client-side and server-side.

* Django was also written around the concept of views and templates and similar, rather than client-side web apps, and the structure reflects that.

* While it supports async and web sockets, those aren't as deep in the DNA as for most Node (or even aiohttp) apps.

* Everything I do now is reactive. That's just a better way to work than compiling a page with templates.

I won't even mention mobile. But how you add that is a big difference too.

It's very battery-included, but many of the batteries (e.g. server-side templating language) are 2005-era nickel cadmium rather than 2025-era lithium ion.

I would love to see a modern Node framework as pleasant to work with, thought-out, engineered, documented, supported, designed, etc. as well as Django, but we're nowhere close to there yet.

discuss

order

m90|2 months ago

You spell out a lot of examples, but all of them are purely technical. What is it that you can deliver to the user using Node that you cannot deliver using Django? This is a genuine question.

blagie|2 months ago

There is nothing you can't do, given a Turing-complete language.

That doesn't make it reasonable or convenient to do so, though.

rolymath|2 months ago

You must not be very imaginative.

Plenty of Django businesses making tens of millions. Some in the billions.

I know a solopreneur making around $2m a year and all he uses is Django

vb-8448|2 months ago

Man, the only true part is the async/web socket part (and it's most because of python and not django itself) ... you can do a lot, and by a lot I mean almost 99% of websites/apps out there, with django and it's 2005-era nickel cadmium features

ptx|2 months ago

The lithium-ion battery analogy seems fitting: When we're not careful about sourcing those modern batteries from a trustworthy supply-chain, they tend to explode and injure the user.

blagie|2 months ago

It is, and intentionally so.

NiCd batteries could also sit on a shelf forever, holding their charge. They had virtually no self-discharge, which was super-convenient.

They came in standard form factors (AA, AAA, 9V, etc.).

I really liked NiCd batteries.

But realistically, you couldn't sell a phone or laptop in 2025 which ran on them.