(no title)
stevex | 2 months ago
You can get a working site with the usual featuers (admin panel, logins, forgot reset/password flow, etc) with minimal code thanks to the richness of the ecosystem, and because of the minimal code it's relatively easy for the AI to keep iterating on it since it's small enough to be understandable in context.
btown|2 months ago
And when you do create backends and React components, you can have a known-good ground truth in your Django admin that's independent from that frontend. This is incredibly useful in practice - if a certain e.g. malformed input triggers a catastrophic frontend crash, you have an entirely separate admin system you can use to play with the data, without needing to trace to find the exact cause of the frontend crash, or dropping into direct database access.
(My one gripe with Django, which is more with the broader Python ecosystem, is that if the community had leaned into the gevent programming model (no explicit async, all socket calls are monkey-patched to yield, you just write sync code), there would be no need for async versions/ports of every Django library function, no confusion in the library ecosystem, and instant upgrades of every Django library in existence to an async world. gevent is a thing of beauty and that's a hill I'll die on.)
factorialboy|2 months ago
It is rather sad for humanity that good ideas through-out time have been lost thanks to neurodiversity / social-acceptability constraints.
Induane|2 months ago
kitsune_|2 months ago
graemep|2 months ago
stuaxo|2 months ago
INSTALLED_APPS and other bits in the settings provide a central registration point, from there the system where a project is made up of apps is enabled.
Each app, has it's own migrations, models, templates and static files.
This enables the whole ecosystem of parts that's easy to add, and makes it easy to toggle things (e.g. enabling the django-debug-toolbar only on your dev and local instance).
In the outside world of Flask, Fast API etc - things hang together much more loosely and it means the integration just isn't as complete.
This manifests itself in 1,000 little papercuts that make things take longer.
benatkin|2 months ago
Someone tried to make an ecosystem of Django apps, called Pinax, and it was pretty nice, but didn't pick up that much market share.
physicsguy|2 months ago
rufugee|2 months ago
JamesSwift|2 months ago
neonsunset|2 months ago
[deleted]
BowBun|2 months ago
megaman821|2 months ago
Chiron1991|2 months ago
Edit: Background tasks for light work are also included in this release.
physicsguy|2 months ago
benatkin|2 months ago
michaelyin|2 months ago
[deleted]
bigfatkitten|2 months ago
giancarlostoro|2 months ago
theflyinghorse|2 months ago
throwawaymaths|2 months ago
jorl17|2 months ago
Sure, the AI _can_ code integrations, but it now has to maintain them, and might be tempted to modify them when it doesn't need to (leaky abstractions), adding cognitive load (in LLM parlance: "context pollution") and leading to worse results.
Batteries-included = AI and humans write less code, get more "headspace"/"free context" to focus on what "really matters".
As a very very heavy LLM user, I also notice that projects tend to be much easier for LLMs (and humans alike) to work on when they use opinionated well-established frameworks.
Nonetheless, I'm positive in a couple of years we'll have found a way for LLMs to be equally good, if not better, with other frameworks. I think we'll find mechanisms to have LLMs learn libraries and projects on the fly much better. I can imagine crazy scenarios where LLMs train smaller LLMs on project parts or libraries so they don't get context pollution but also don't need a full-retraining (or incredibly pricey inference). I can also think of a system in line with Anthropic's view of skills, where LLMs very intelligently switch their knowledge on or off. The technology isn't there yet, but we're moving FAST!
Love this era!!
acdha|2 months ago
risyachka|2 months ago
Why would you generate sloppy version of core systems that must be included by default in every project.
It makes absolutely zero sense to generate auth/email sending/bg tasks integration/etc
stuaxo|2 months ago
At some point you'll need to understand things to fix it, and if it's laid out in a standard way you'll get further, quicker.