Live data from Hacker News

The Decline of Django

david-dahan.com

141–150 of 173 posts

Re: The Decline of Django

#141
post #136

I mean, web development is kinda like that 40 year guy who feels "in" using Facebook. As an industry it's 25 years old and approaching maturity. The author cites Node and TypeScript as where the cool kids are, but that was where the cool kids were 8 years ago. The cool kids today are into cryptocurrencies, AI, and robotics. Even there, some of the frameworks you probably think of bleeding edge are already losing mind…

The cool kids today are into cryptocurrencies, AI, and robotics That too is where the cool kids were 8 years ago... Even I was into all that 8 years ago and I was never a "cool kid". I have no idea what the cool kids are into these days. AI is still hot though, so perhaps they are building GPT-4.

Still there, just different frameworks. Think of AI 2012 = Web 1995, TensorFlow = Netscape, PyTorch = IE, and Jax = Firefox. We're at about 2004 and Chrome hasn't been invented yet. There's probably another "pole" of the ecosystem (analogous to server frameworks like Rails & Django) that also hasn't been invented yet.

Or in the crypto world, Bitcoin 2009 = WWW 1989. Ethereum 2015 = Netscape 1995. Facebook Libra/Diem 2019 = IE5 1999, except less successful. Actually useful cryptocurrencies haven't been invented yet, although they probably exist in nascent form. Think of how the web came to be primarily used for social media, communications, discussions, information - all of which existed in the form of Fark, SomethingAwful, Xanga, etc. in 1999, but MySpace, Facebook, LinkedIn, Reddit, YouTube, Yelp, AirBnB etc. were all in the far-off future.

Re: The Decline of Django

#142
post #133

Earlier quoted context omitted.

> Second, you're wrong. So you know better than me what source code I've read so far? Do you also happen to know what did I do with my spare camera battery? That could be useful.

Did you check your desk? Get a second pair of eyes, it's always in front of you and you don't realize it. If you're going to state opinions as facts, you can't then come back and tell people "oh so you know my own opinions better than me?!".

[deleted]

Re: The Decline of Django

#143
post #77

> Django looks like the 40 years old guy who feels "in" using Facebook, while everyone else is already using Instagram or TikTok. wow fuck ageist bullshit like this. everyone knows I'm no big Django advocate but what is the point of a blog post like this? I'm not seeing how effort spent on writing articles like this makes the world better for anybody, including the author. Go create something? >But what if tomorrow,…

I need to write a blog post "in defence of boring, reliable tech". It baffles me that significant portions of the web crowd seem not to have learned this lesson yet. Who enjoys learning a new framework every 6 months?

Tools are not supposed to be exciting. We're not usually hyped for a new version of a hammer, wrench or a soldering iron. That's not the point. This collective ADHD is really counter-productive IMO.

I still remember that comment on HN a couple of years ago where somebody was claiming that JQuery was dead because there hadn't be a new release in literally 4 months.

Re: The Decline of Django

#144
I don’t buy in “the dealing with two IDEs is not an option”, many people use many IDEs depending on what they do. I find myself jumping between PyCharm, VSCode and Visual Studio all the time at work. At home, I will have PyCharm running permanently as the core programming environment for the colour-science projects and VSCode also in the background for everything else.

Re: The Decline of Django

#145
As a Drupal developer, I understand what this article is saying. The issue is that these systems are built for an older paradigm and not meeting the needs of today's developers. It's taking time to adjust existing code to the new ways, and the developer crowd that built them is interested in new things.

Some projects need the rapid development capability of a CMS, but want the front end flexibility of a js app.

The problem is that the plumbing produced by these systems are geared to serve whole pages, and not an API first app. We've added the ability to layer an app on top of the CMS, but most of the content and admin pages don't fully use ajax (at least in drupal).

The reason for the current problem is that these open source frameworks required a ton of contribution to become successful. That effort has moved on to new projects with fresh architecture. But those still don't have nearly the same level of features as traditional platforms.

One of the challenges I see for building the perfect system is having all the front end features and components integrated. In Drupal, a module may add a component with template and some css/js. Other modules are free modify or mix this component with others, so the data model, styles, and js all need to be compatible. Drupal solves this by standardizing on jquery, which was a wonderful solution for the last decade but now people don't want to use it.

I think to get the same level of compatibility in a js app, you would have to define the components to be included by the system. These are the batteries they currently don't include. It's less of a technology issue and more of a challenge of defining standard ways of doing things that are not overly opinionated.

I would love to have an easy point and click CMS that lets me quickly assemble 80% and a streamlined development experience for the rest. I can imagine something integrated with the cloud and IDE that is super quick and cheap to spin up a complex application.

Sorry if I'm just complaining about drupal in a django thread. I think the issue for both is whether we can get where we want from here or if recreating the ideas in a new language will get more traction. Or if these platforms are good enough, they'll continue to have a place in the back end, allowing users to manage content and data for custom apps.

Re: The Decline of Django

#146

1) Documentation is too verbose 2) Onboarding new developers lacks IDE specific tooling for free 3) Admin GUI isn't great 4) Async support is still incomplete 5) Static types aren't used in Django 6) Django is MVC which isn't useful if you just need a light V 7) People ignore other, newer tech because Django exists What??? 4 and 5 are legit complaints, the rest is literally the nittiest of picks, in my opinion. You d…

I love Python, and I love Django, but I think async support would be a bad idea personally.

I’ve written a lot of things using asyncio and steered into it hard when it was first stable, but I’ve found it cumbersome and (zooming out) pretty unnecessary in the grand scheme of things.

Asyncio is cooperative concurrency where you’re supposed to politely yield back to the event loop when you’re blocking on IO, but the event loop doesn’t bawk (that I’ve seen) when things are blocking accidentally. I’ve chased a number of very real bugs around this in production and I will say it’s some of the most infuriatingly difficult to pin down set of bugs I’ve encountered to date (for example, redis is fast enough to not notice any issues until your redis query grows slow enough that you do, and at that point things behave strangely with no clear indication why).

Remember, even printing things to stdout is still technically a blocking IO operation. Same with reading/writing any files. Lots of issues can crop up in weird ways with stuff like this.

On the other hand, the “boring” Python threading library is preemptive concurrency, meaning your libraries can’t hold things up even if you wanted to. In general give me preemptive concurrency any day - I find it easier to carefully code around state mutations than diagnose why a library might be blocking the event loop. I haven’t noticed a massive perf difference between the two and to guarantee that I don’t have weird “you’re blocking accidentally” sorts of issues means I’ll stick with threads any day of the week.

Also exception handling in asyncio land is (again just from my experience, it’s been a couple years) not great, I subscribe to the mantra of letting things crash, but things silently crashing is a deep seeded behavior change that seems to go against the Python mantra of “throw exceptions and let things fail”.

For now I keep things boring with Python, and if I need massive concurrency just rewrite things in elixir (which is preemptive concurrency and the actor model which is super powerful as a combo).

Re: The Decline of Django

#147
post #36

Seems like a strange bit of feedback to me. My company uses Django as the backend for our REST API and it's simply phenomenal. Django isn't a complete solution out of the box, but that's why things like Django REST Framework [0] exist. It supports JSON-based views and has an excellent serialization layer that can map directly to the ORM models. This setup does NOT help with serving our frontend app, but we're using R…

I typically use DRF + Django for the backend and then have one “view” that renders an index.html with a context bridge (passed via a global JS variable) so I can bootstrap the front end with enough server side state to load quickly (and do feature gating and whatnot).

Seems to be a great combo to me - you get all the awesomeness of Django/DRF and none of the more archaic html temperate rendering stuff.

The only bad bit I’ve found in Django is lack of real websocket support when it’s needed. Server side events are great to have.

Re: The Decline of Django

#148
post #137

Earlier quoted context omitted.

Pycharm gets little love, esp comapred to the free alternative, VS code. I actually like, use, and pay for PyCharm, but it annoys me when JB chase new (ds) customers with DataSpell, or teams management stuff with "Space", When long standing, trivial Pycharm bugs have gone unfixed for years; https://youtrack.jetbrains.com/issue/PY-14743 [0]. I have no hope Pycharm will innovate any time soon, and will eventually fall…

That's par for the course with JetBrains. I'm a big fan of PyCharm, don't get me wrong. It was the first IDE I've tried out of maybe a dozen that actually gave me a reason to convert from Vim with plugins and a number of self-written project mgmt/organization tools. That said, JetBrains often rolls out new things while sitting on long-standing bugs. There's three or four issues in PyCharm and TeamCity that I've been…

This is true.

Re: The Decline of Django

#149

Is instagram not hip anymore ? I’m using fastAPI after moving to flask for a personal project but all of these microfraneworks make me want Django for what is built in. Also , why not have backend frameworks in JavaScript? Everyone focuses on performance and disregards ergonomics. > I mean, Instagram server is still a big Python codebase. It's Django at the core, I mean, it still runs through the Django request handl…

You may want to keep an eye on https://github.com/vitalik/django-ninja Its still a bit young, but I like a lot of what they are doing. As for Instagram, I wonder if they replaced the ORM with their own in-house ORM or something else?

I’ve heard of another company that replaced Django’s ORM with sqlalchemy. Also, I am going to switch to Django ninja fastAPI is good but this is a backend to a video game so I’m going to need a backend and login information and you can add a CMS using wagtail which I will need so thanks for the link :)

Re: The Decline of Django

#150
post #77

> Django looks like the 40 years old guy who feels "in" using Facebook, while everyone else is already using Instagram or TikTok. wow fuck ageist bullshit like this. everyone knows I'm no big Django advocate but what is the point of a blog post like this? I'm not seeing how effort spent on writing articles like this makes the world better for anybody, including the author. Go create something? >But what if tomorrow,…

Not to mention, it's genuinely kind of sad that the author's idea of being part of the "in crowd" consists of which social network a person is using. I don't think many 40 year olds are under the illusion that they're part of the "in crowd" because they stay in touch with their grandmother on Facebook.

The ironic part about that sentiment is that the author is clearly well on their way to becoming the 40 year old they were making fun of - one who doesn't grow up and continues to rely upon social media to obtain affirmation.

Post reply on HN