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

Why would they retire it? If it ain't broke...




It’s very likely that project is a security nightmare. Just an OS old enough to support 2.7 would be problematic.

I just verified. You can install Python 2.7 on an up to date Windows install as well as an up to date Linux install. Python 2.7 hasn't received security updates (or really any updates) in years, but that does not mean it can't still work on an up to date OS.

The latest 2.7 seems to have a lot of CVEs (did not verify that manually though)

https://www.cvedetails.com/version-list/10210/18230/10/Pytho...

IIRC some commercial distros maintain patches for 2.7 but then you're paying for being 15 years behind the future.


Yeah, it's been 5 years (almost 6) since python 2.7 stopped receiving security updates, but it does still run on modern OS's.

Looking at the list, I'm actually kind of surprised there aren't more CVEs for python 2.7, but if you're only running it locally or on an intranet I could see letting it ride.


There are variants of Python 2.7 that are supported

2.7 gave me problems last time I tried to install it from source on redhat. Something about ssl incompatibility.

wouldn't it be faster/safer to upgrade to latest django/python rather than rewrite it in React/Go?

Python 2 to Python 3 in a Django codebase ... may be a full rewrite anyway.

Many people migrated Django projects from 2 -> 3. Certainly something that takes effort, but hardly a rewrite.

Nothing like a full rewrite. I migrated multiple projects, but while there is a significant amount of work involved its a tiny fraction of what a full rewrite would require.

Its fine, I ported quite a few Django libraries to python 3 at the time just because I wanted to use them.

2to3 gets you pretty far and theres not much in the rest.


Did it a couple of times. Not something you can do with your eyes closed, but not even close to the nightmare of upgrading a JS application or upgrading a rails app.

"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.


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.

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

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


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


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.

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.


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



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

Search: