Live data from Hacker News

Python 2 will be replaced with Python 3 in the next RHEL major release

access.redhat.com

291–300 of 341 posts

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#291

Earlier quoted context omitted.

> Well, the CGI industry had money, competent people, and 10 years to upgrade. An entire decade. And a LOT of tooling and documentation to help. I don’t think that’s a money issue. Python 3 upgrade is not really compelling. You get slower speed - at least until recently -, tests might pass on 3.x, but documentation and edge cases still are better on 2.x, etc. While nothing is really exciting in the 3.x branch.

>While nothing is really exciting in the 3.x branch. Sorry, have you looked at Python 3 lately? I don't think I can sum up all of the amazing work that's been done in one post (async? Cleaned up stdlib? Better errors? Not having an aneurysm from text encoding issues unraveling your whole project? New splat syntax?). I would really encourage you to check out what's happened in the last ten years. I think you'll find m…

I think that he's kind of right about the problem.

In my opinion, Python's primary business value has been that sweet spot it occupies. It's not the most fun, but it's pleasant. It's not the fastest, but it's not too slow. It's not great on resources, but it's not too bad either.

Good people will work with it, and they tend to be the "let's not get creative, let's just get it done" folks that businesses love. Mediocre people do great with it, because it feels much nicer than many of the other things they've worked with and it channels them towards producing better code and being more productive.

Python makes it huge pain-in-the-ass to get weird/creative, and generally frowns upon it, so people tend not to as much. Junior and low-skill contributors can't really get in too much trouble as long as they stick to the program. It's an awesome "just sit the fuck down and do your work" language.

As a language, it's carved out a great space being pleasant, consistent, well-rounded, predictable, etc.. I know there are people on here using it to build their rocket ships. And it can go there too... maybe not as flexible or fun as more extreme alternatives, but it's also less likely to blow up in your face. For those software rocketeers (probably most any SV start-up), updating makes undeniable sense. Python 3 is hands-down better, and they can handle the transition no problem.

But a lot of people don't use Python to build rocket ships. They don't build rocket ships at all. They build delivery trucks and conveyor belts and coffee dispensers. And, for them, the very things that make Python a great choice - a very clean and conservative focus on simplicity and stability - are the very reasons not to switch. There's just not really anything that's been introduced in the last 10 years that is going to make any real difference for their use cases. Whatever trouble they've had with unicode and the other bs has long been lived with. Whatever's missing they've long lived without. And things have been just fine.

Python's killer feature - being a really nice and well-rounded option that works pretty damn good for a large swath of people - is sorta it's undoing here. It's hard to really be that too much more so.

I mean I switched to 3. It's clearly better. But if I was running a Python team that had been effectively just trying to get the job done in 2.7 for over a decade I would have to admit that I wanted to switch for my own sake - I think it would be unlikely to make them that much more happy or productive.

Hell, many people can't even set their same environment back up in a week after loosing their laptop.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#292
post #281
post #278

I'm a Rubyist. Why are Python users so doubled down on keeping on with Python 2? I can't imagine using Ruby 1.8.x at this point, and even older versions seem well outside the realm of consideration.

We're not, nobody uses Python 2 anymore. It's just a shame we have to type "python3" and "pip3" now even when Python 3 is the default on a distro.

FWIW I literally just got my boss on board with switching last week. There are still a lot of stragglers who are stuck thinking that they're going to have library compatibility issues with Python 3.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#293

Any leaks/leads when Red Hat will announce RHEL 8.0?

> We're expecting to hear more about RHEL8 next month. Other current expectations are that Btrfs will be completely gutted in favor of the company's own Stratis Linux storage tech, the workstation session using GNOME on Wayland by default, shipping with the GCC 7 compiler, and possibly shipping with the Linux ~4.14 kernel. We're expecting an alpha sometime soon and would be perfect if announced at May's Red Hat Summi…

Thank You.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#294
post #281

Earlier quoted context omitted.

We're not, nobody uses Python 2 anymore. It's just a shame we have to type "python3" and "pip3" now even when Python 3 is the default on a distro.

I don't. I use pyenv and it's always just python, even though I have many different versions on my system.

Same with virtualenv, but without users of scripts using pyenv or virtualenv the shebang is broken if it's pointing to #!/usr/bin/env python. Many users of scripts aren't python developers, so they won't be using pyenv or virtualenv. Just wish we had a cross-platform way to run python scripts reliably like we did when /usr/bin/python always existed.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#295

Earlier quoted context omitted.

Hello from the embedded world! The web world indeed can rapidly change their entire stack from LAMP to MEAN to Dockerized Q-Basic CGI scripts and load balance their Twitter clone. There's challenges for sure, but pushing updates is simple and quick, and you can always throw more cloud if you run into walls. If your complete platform rewrite fails, just roll the load balancer back over and try again tomorrow. It's a l…

Automated tests is extremely beneficial for such cases. You should know that the code works before you deploy.

Easier said than done. This isn't the web world, things aren't so simple.

How do I mock a temperamental motor controller responding to AT commands? I mean, I'm sure it's hard enough to replicate the oddities of their serial port parser, but the temperamental part is gonna be tricky. This is an embedded system I'm talking to, which is parsing bytes coming over a serial port in an interrupt service routine at 16 MHz with 4 kB of RAM. Not an async callback with JSON in a nodejs app with GHz of processing power and 8 GB of memory. Emphasis on: temperamental.

Oh, and don't forget. This is a mechanical system, not a website. We'll have to put torque and strain gauges on the system to make sure it's doing what we want.

The skinny is, the system my python scripts talk to is far too complicated to just "stub out". You may be able to test 90% of the cases, but what you really worried about is that 10% of freak accidents that break things. Look up the Therac 25 and how that failed.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#296

Any leaks/leads when Red Hat will announce RHEL 8.0?

IMHO they are waiting for Modularity to mature https://docs.pagure.org/modularity/ since I really think the existing RHEL support model is becoming a tougher sell in today's environment.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#297

Earlier quoted context omitted.

Hello from the embedded world! The web world indeed can rapidly change their entire stack from LAMP to MEAN to Dockerized Q-Basic CGI scripts and load balance their Twitter clone. There's challenges for sure, but pushing updates is simple and quick, and you can always throw more cloud if you run into walls. If your complete platform rewrite fails, just roll the load balancer back over and try again tomorrow. It's a l…

I’m not sure what you’re complaining about here. Those applications will still work.

The attitude of most python3 devs, which can be surmised as: "I moved my Twitter clone from python2 to python3, and it was easy. What's the big problem? You've had ten years to get this done! Hurry up, you're hurting my productivity."

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#298
post #95

Earlier quoted context omitted.

> most popular packages are now compatible with Python 3 I often see this but I think it's a perception from the Internet/web world. I work for CGI, all (I'm not kidding) our softwares (we have many) are 2.7. You will never see them used "on the web/Internet/forum/network" place but the day-to-day job of millions of peoples in the industry is 2.7. And we are a tiny focused industry. So I'm sure there is many other in…

Hello from the embedded world! The web world indeed can rapidly change their entire stack from LAMP to MEAN to Dockerized Q-Basic CGI scripts and load balance their Twitter clone. There's challenges for sure, but pushing updates is simple and quick, and you can always throw more cloud if you run into walls. If your complete platform rewrite fails, just roll the load balancer back over and try again tomorrow. It's a l…

So keep using Python 2.7 on some previous version of RHEL? There's still banks using COBOL, man. We don't insist that RHEL ships IBM COBOL with it.

Re: Python 2 will be replaced with Python 3 in the next RHEL major release

#300
post #174
post #158

Earlier quoted context omitted.

We've switched from 2.7 to 3.4 (and upwards to 3.5, 3.6) in about a month or so. It delayed some deployments but nothing serious. If you do it step-by-step it's not that hard. The worst part was str/binary conversions but afterwards everything was a lot easier and better to maintain. If your company is big enough you should maintain and keep it up-to-date, not "it just works"(TM) and hope for the best after 10 years.…

It's not that hard unless you had some very advanced code utilizing Python 2 internals that were significantly changed in Python 3. However, conversion takes a lot of time and if something works, why should you be forced to change it?

Nobody is forcing you to do anything. The developers of Python aren't volunteering their labor to continue to support older versions of Python. RHEL is deciding not to continue to support older versions of Python past their EOL per their developers. Seriously, Python is free software, libre and gratis. You are completely free to do whatever you want to with Python 2.7, except expect other people to do the work for you.
Post reply on HN