[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / s / t / u / v / vg / vm / vmg / vr / vrpg / vst / w / wg] [i / ic] [r9k / s4s / vip] [cm / hm / lgbt / y] [3 / aco / adv / an / bant / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / pw / qst / sci / soc / sp / tg / toy / trv / tv / vp / vt / wsg / wsr / x / xs] [Settings] [Search] [Mobile] [Home]
Board
Settings Mobile Home
/g/ - Technology


Thread archived.
You cannot reply anymore.


[Advertise on 4chan]


File: 1761247613736720.webm (3.95 MB, 416x740)
3.95 MB
3.95 MB WEBM
Was the Python 2 to 3 transition THAT bad or was it overblown by a loud minority?
>>
>>108895880
There are a gorillion projects that have never been updated to 3 and now they're just abandoned.
>>
>>108895893
Devs got filtered.
>>
>>108895880
Far worse than even the loud outrage about it would lead you to believe a posteriori.
As >>108895893 many projects never got upgraded at all, people moved to different languages over this (and rightfully so). Several piece of software is still mid-migration TODAY and rely on docker to let people use the python 2.7 version instead.
The 2to3 tool was the most hilariously retarded shit I've ever seen in my life. Python 3 is/was 30% slower than 2.7 by the way. Brings in no real advantages, just massive pain to upgrade extant codebases.
If only python 3+ was backward compatible, but no fuck that shit every subpoint version moves or outright removes functions between stdlib components (that was another reason people were holding off on migrating, we were hoping that 3.x would stabilize more, but that never happened).
>>
Unironically all those old scripts could probably be updated to 3.0 by claude now
>>
>>108895880
i am still migrating code at work.
theres no reason to do some of the changes. they needlessly broke a lot of the interface but didnt fix the actual retarded parts.
fuck unicode.
>>
>>108896248
These are the woes of using a language that isn't internationally standardized. Nobody gives a single shit if you target your C program to use C99, just set the compiler flag and you're good.
>>
>>108896310
to be fair full support for c99 is a recent thing.
>>
>>108895880
It was bad (albeit probably overblown nevertheless), but it was worth it.

You hear all sorts of screeching in other languages for keeping unnecessary backwards compatibility (e.g. Sepples), hence I was pleased for Python to ditch it for a change in order to actually improve the language.
>>
>>108896310
By this logic, you can simply run a Python 2.7 interpreter to execute old Python code.
>>
>>108895880
it was that bad for some people, Armin “mitsuhiko” Ronacher the most because I think he was using some kind of CGI replacement that got bitten really hard by the bytes/string split
>>108896255
not even opus, probably
>>
>>108898125
That's wrong, because GCC is still being developed, while Python 2.7 is dead since 2020. Any new vulnerabilities and bugs that get discovered in the 2.7 interpretor will never get fixed.
>>
>>108895880
only thing I remember about the change was print becoming a function.
>>
>>108895880
No, everything relevant moved pretty fast. The only reason it is considered to have taken a decade is because some faggots couldn't accept abandoned projects were in fact abandoned and move on
>>
>>108895880
my 2nd job out of uni was porting a backend from python 2 to python 3/flask it was pretty comfy
>>
>>108895880
About as poorly as the PHP5 -> 7.2 migration
>>
>>108900642
>still being developed
That's besides the point.
>>
>>108895880
I'm still getting griefed by a build pipeline script which requires Python 2.
>>
>>108895880
it was fine and the projects that died weren't worth a thought just like their lazy devs
>>
>>108895880
>[is] ... Python ... THAT bad?
yes
>>
>>108903485
t. never worked a day in software
>>
>>108895880

keep your guard ,even an amateur would knock you out.
>>
>>108895880
It really was that bad. I can't stand when people refer to Python2 as Python. They are literally different languages.
>>
File: IMG_5935.jpg (106 KB, 683x1024)
106 KB JPG
>>108903556
>never worked a day in software
12 years by now, I know what I'm talking about thank you very much.
python 2 to 3 is trivial to do by hand in the first place, and if you *really* have such a huge python codebase (hugely debatable, it was not even close as popular at the time as it is now), then there's still a fuckton of options to fully automatically convert it.
tools that have also existed for a decade now, I'm not talking about any AI bs.

either you're a dumb larp/nocoder of the contrarian sort.
but let's assume you're actually a software engineer (doubtful), then you're one of those devs:
- who argued that 64 bits was too hard 15 years ago, and
- has been arguing that ARM is too hard for the past 5, and
- tomorrow will continue arguing about whatever comes next in computing being too hard.

lazy fucks like you are a deep rot.
there's a lot of you everywhere.
you fucking suck, your software sucks, and your decades long temper tantrums accomplish nothing.
so go sit alone in the corner, keep moaning about the world changing under your feet, and await the sweet release of death patiently while in a catatonic state
>>
>>108895880
It was not great.
>>
>>108895880
It's fine.
>>
>>108905270
go back to r*ddit you faggot
>>
File: things-bad.jpg (615 KB, 1408x768)
615 KB JPG
every well-known runtime is in a state of decline. almost every decision "they" make these days is retarded.
>>
>>108895893
I find this hilarious because it's really not difficult to port from 2 to 3 at all. Unless your codebase is retarded, but this is why you don't make retarded code.
>>
>35 year old language
>still major breaking changes so it's not backwards compatible
Is this shit made by Indians?
>>
>>108906210
> The most complained-about change was the str (text) vs bytes separation — i.e., Unicode becoming the default string type in Python 3 and bytes becoming a distinct type. It caused widespread breakage in I/O, network code, web frameworks, and libraries because code that implicitly mixed text and binary data under Python 2 suddenly raised TypeError in Python 3, requiring explicit encoding/decoding and API adjustments.

>>108906249
if romes papa says kissing african feet is good, would you justify its easy to kiss? its easy to wash mounth afterwards, right?
>>
>>108906309
the 2-to-3 change was a decade+ ago
>>
>>108895880
nothing that anyone writes in python should have a lifespan of more than a week or two anyway
so it doesnt really matter
its a scripting language for mucking around simplifying one off tasks not serious development
>>
>>108906430
>https://docs.python.org/3.14/whatsnew/changelog.html
>search "remov"
>943 results
>mfw
>>
>>108905270
What a clueless tard.
12 years means you were a little baby when python 2 was deprecated and have no clue at all what sort of software may have been written for it. Other guy is correct, you are afflicted with terminal reddit and will never become self-aware or good at programming.
>>
>>108895880
It was not a minority. Fucking pyhon fags were whining about it for a decade non stop. And as always I advise them to uninstall all the versions of that shitware and forget it ever existed. That solved the python version problem and python existence problem as well. And it clearly is a real problem.
>>
You can literally just install different versions
>>108895880
You can literally just install different versions
>>108906309
You can literally just install different versions
Every single language lets you install different versions
>>
there are so many versions of python on my machine lol
but it looks like ruby is doing the same thing
>>
>>108906641
my company migrated to python 3 in 2022. even that fucking late, we had to port individual third party libraries that didn't have a python 3 compatible build. it was a complete clusterfuck and took us months.

>>108905270
larp or retard
>>
>>108900642
>Any new vulnerabilities and bugs that get discovered in the 2.7 interpretor will never get fixed.
I thought the point of OPEN SORES was that you could fix them yourselves rather than relying on some Creator-God with the sole powers to change things?
>>
>>108906847
Open Source is about working for free
>>
>>108907088
I thought it was about opening PRs that add your jeet name to the readme
>>
>>108906430
3.10 programs aren't compatible with 3.12 and vice versa. The language removes, moves, and changes core functions every sub-point version. It's not as massive between subsequent subpoint versions as 2 to 3 was, but every 5 subpoint version is about the same scale. It's really really fucked up.
>>
>>108908094
trannies. not even once.
>>
>>108908094
Works on my machine. Dunno what your problem is.
>>
>>108908224
No, it literally doesn't.
>>
>>108906641
>12 years means you were a little baby when python 2 was deprecated
I was in uni, retard. The migration was the main reason why I never bothered to learn kikethon past what was required and never wrote anything in it afterwards. There's also their peak retardation of forcing formatting and their "zen" bullshit, both throwing a gazillion warnings for the latter and silently fucking up control flow for the former.
>just use a proprietary ide bro
For a fucking scripting language? GTFOOH
>>
>>108908232
Explain what doesn’t work
>>
>>108908256
oh, a leaf. of course. no wonder that youre so butthurt.
>>
>>108908333
You'd know if you had ever used it. You are free to lookup the changelogs yourself.
>>
>>108908344
>leaf
it's 9AM, retard
>>
>>108908424
what does that mean? time to sit on a baguette?
>>
>>108908380
>you can’t describe what your problem is
Typical. Meanwhile I have production code at work that was developed in py3.10 but runs just fine in py3.12. The only way you get things ‘suddenly breaking’ is when you do stupid shit like disregard deprecation warnings. So again, not a problem if your code base isn’t retarded.
>>
>>108908504
>haha my c code works perfectly when compiled with rustc without any change heh you can't prove otherwise it's in production heh
You are so clueless it's almost cute.
>>
>>108895880
https://desuarchive.org/g/thread/106862696
>>
>>108908537
lol
https://docs.python.org/3/library/sys.html#sys.remote_exec
>>
>>108906501
>nothing that anyone writes in python should have a lifespan of more than a week or two anyway
>Should
That's not how the real world works, though. Rarely is a script made to be used only once, but it might seldom be used.
In corporate this means someone writes it, they probably leave, eventually someone else takes over, infra is updated, now they have to figure out which version the original niche-but-important scripts used.
In OSS, this means some well-meaning retard will add python as a dependency to do something niche that they only know how to do in py, and now the whole project won't build unless a disproportionate amount of time is spent wrangling python dependency hell.
Or more often than not someone writes a whole backend with django because python is all they know.

Thus, python should not be used and especially taught at all.
>>
>>108906309
Worse. It's made by Europeans.
>>
>>108909447
What language do you suggest instead?
>>
>>108895880
Just use Common Lisp if you value language stability.
>>
>>108901499
Except that's literally my point.
>>
>>108908523
Still waiting for you so show an example of things that broke.
>you won’t
>>
>>108909716
Europeans are great programmers, cope.
>>
File: file.png (20 KB, 1396x276)
20 KB PNG
>>108908256
>I
tf are you replying as if you were other people for?
and why tf did you make it into a judgment of python as a language. it's shit but that's miles besides the point.

>>108908344
>a leaf
nah, leaf is diff anon, I'm French

>>108906722
>migrated to python 3 in 2022. even that fucking late, we had to port individual third party libraries that didn't have a python 3 compatible build
oh fuck off that is such a LARP unless said libraries were homegrown internal (or contracted) shit
python 3 was already ubiquitous by 2022 this is so fucking dishonest lmao

>>108906641
>you were a little baby when python 2 was deprecated and have no clue at all what sort of software may have been written for it
and yet you lots were STILL complaining loudly that it was insurmountable so much later after the initial announcements. you don't realize that this sentence makes you look even more retarded and that is kinda beautiful.
either way, by the time I started seriously working full time there were still a lot of you whiny lazy pieces of shit throwing tamper tantrums about it, and yet six (https://pypi.org/project/six/) was released in 2010. twenty-fucking-ten. sixteen years ago.
it didn't fix everything magically, but it sure made it a big ass lie that porting was oh-so-hard as you shit programmers liked (and still like) to claim
just stop lying. you didn't like change, and you still don't like change. that's all. but don't pretend that is was either:
a) particularly difficult porting from 2 to 3, unless you are really just THAT shit of a programmer to be filtered by minor syntax changes that could almost entirely be regex-replace'd away, and
b) that there wasn't a fuckton of aides and tools to do it even faster by 2016 or so

was it unnecessary from the python foundation? maybe
was it impossible/hard? fuck no. there's no excuse other than "waa waa I dunlike it waa waaaaaaaaa"
>>
>>108910758
t. never ported anything
Thanks for playing, professional fizzbuzz programmer.
>>
>>108910823
t. complained about having to port something for 20 years, but never did, and just assumes everyone is larping about getting over it to protect their shit programmer's ego
Thanks for playing gramps, but now it's time to change your nappies
>>
>>108910758

très basé mon ami les gens sont des feignasses.
fuck lazies
>>
>>108895880
I worked on a large project whose entire infrastructure was written in Python, across multiple repositories.
It took over a decade to complete the transition. The main difficulty was having code that was Python 2 and 3 compatible. As another anon mentioned, the tool provided by the Python foundation, 2to3 was almost completely useless. It was fine for small one-off scripts but not for large libraries.
I think the part that pissed me off the most is that Python 3 is not even stable. There are APIs that have been deprecated since Python 3.6, for instance. Python is also a fucking nightmare to test so we were landing a change and just praying that nothing would break. I advocated for abandoning all of the Python code and rewriting the infrastructure in a sensical language with real typing and testing infrastructure but that went nowhere. At least, we did start enforcing type hints so that's something.
>>
>>108895880
Yes, it was that bad and still is.
There are libraries that I extensively used that weren't updated to python 3 until the last couple years. At least one I haven't found a good replacement for at all.
The changes in string encoding handling continue to be a pain in the ass to this day, and it had a huge performance penalty. To make matters worse, python 3 has incompatibilities within itself between versions. Stuff might just randomly break on update, meanwhile py2 just worked and even got some of the improvements backported during the support window when both coexisted.
>>
>>108911899
Nothing ‘randomly breaks’. It’s all well documented and broadcasted ahead of time. What a stupid trope.
>>
>>108912259
Retarded underageb& nocoder detected
>>
>>108912604
Please provide an example
>>
>Python thread
>Filled with nonsensical larp and obvious samefagging
Out of all the language autists this one's the dumbest. I guess it fits since it's Python
>>
>>108912698
This. One can tell a lot about a language and the worth of its ecosystem by observing these interactions though. Rust is another one that's fucked up, but it's fucked up in a totally different way than python threads are. Otherwise it's C threads, but those have a clearer pattern (heavy overrepresentation of beginners).
>>
>>108895880
Python's 2->3 transition was nothing short but a shitshow.
Most languages, even popular ones, would have died in usage over such a change. But for quite a while people only used 2.x and outright ignored 3.x.
>>
>>108895880
it was never bad. there was even a free conversion utility. but some devs were lazy and so their projects kinda died.
>>
File: 1758766508359473s.jpg (2 KB, 117x125)
2 KB JPG
>>108908537
>>108908537
>>108908537
>>108908537
lol
https://docs.python.org/3/library/sys.html#sys.remote_exec
>>
>random encodes and decodes everywhere not knowing whether your strings were unencoded or encoded as if you were a C dev wrangling buffer overflows
>old style classes unless you explicitly inherit from object
yeah nostalgia glasses off I say good riddance
>>
>>108895880
Python 2 to 3 was only a problem because pythonistas are stupid and because python is a poorly designed language and because the python tooling is inadequate. If all of those things were fixed python 2 to 3 would have been a breeze. If all of those things were fixed pythonistas would be excited about what a 3 to 4 transition could bring.
>>
>>108914053
Have you tried it? Of course not. The tool was a simple sed script in the form of a python script that didn't touch 90% of syntax changes and broke scripts in a way that they didn't work in either 2 or 3 because it created invalid syntax everywhere, you had to manually fix everything and never use the tool instead.
>>
>>108914252
>https://docs.python.org/3/library/sys.html#sys.remote_exec
Fuck you, it's useful
Though I do agree that it should've been opt-in, not opt-out
>>
>>108909716
Why do amerisharts larp as white, yet hate Europe which would then have been their old homeland?
>>
>>108906249
I wonder how much python 2 stuff never migrated because of dependencies.
>>
>>108915816
they push templates as standard way to buffer overflow
"sys.remote_exec" is for overload sensibility of community
>>
>>108916012
holy esl
>>
>>108915854
when the vikings left sweden etc, they settled in england which had good farming land etc, they left behind all the thrall slaves who were too cowardly to win their freedom and instead chose a live of toil and servitude. the same is true of europe as a whole.
>>
>>108916253
for ((overload sensibility) of community)
stop using the shitty "language"
>>
>>108896248
Moved 100k LOC to 3.6 in a few weeks
Started with the 2to3 script and gradually fixed the remaining pieces by hand

We had a few minor bugs in prod because of it, but they were trivial to fix
3.x breaking backward compatibility in every minor version was much more painful. Fucking glad I moved away from it.
>>
File: Bjarne2018.jpg (23 KB, 270x354)
23 KB JPG
>>108910728
Europeans are great at inventing solutions looking for problems. Pic related.
>>
>>108900945
I’ve been out of the PHP game for 15 years. What was the issue here?
>>
>>108911574
Speak Christian.
>>
>>108916325
Worst larp I've ever seen lmao
Literally not even trying, wtf is even the point of this shitpost.
>>
>>108909900
And it's retarded. So what?
>>
>>108916375
>everyone had the same problems, i couldn't possibly be the retard here
>>
print() filtered millions
>>
>>108916349
You don't get it. C was a problem so he created sepple, now C isn't so bad.
Success!
>>
>>108916392
Yes, everyone legit has the same problem. Every single person who provably worked with it, that is. 100%, not 90% or 99%, literally 100%.
You are a retard and a larper. It's hilarious seeing you flounder so hard.
>>
>>108916628
You forgot the /s at the end.
>>
>>108916353
Πάνυ στοιχειῶδες, ὦ φίλε· οἱ ἄνθρωποι ὀκνηροί εἰσιν.
>>
>>108916350
PHP's issues make Python look stable as a rock because PHP was such a haphazard and shoddily designed language.
Changes are too many to list but included basic shit that most every dev was using. Mysql connector changes, i think to_string() changed... tons of other functions. PHP still breaks with upgrqdrs and like modern python careens forward with new versions faster than any sane dev with a life wants to deal with. 7 to 8 broke some things also, though not as much as 5 to 7.
>>
>>108916518
Honestly, I missed the print statement for longer than I expected. It was an easy trivial fix and the motivations were obvious but I really liked not needing to type parens. (Don't @me about how IDEs do it now).

Either way always the main issue with breaking changes is unsupported packages. You're forced to go digging into an unfamiliar codebase with access to none of the original build workflows or upstream repository access to fix stupid irrelevant breakage.
>>
>>108916973
Wrong language.
>>
>>108910758
>was it impossible/hard? fuck no. there's no excuse other than

submissive french men were occupied, hehehe. kiss african feet now, its easy to wash mouth afterwards >>108906319

in tech its also said "justification" not an excuse. you have to have a justification for the change. if the change is placed before you, you still have to think about it, otherwise why do you run around with excuse thing? be silent submissive french man, you wont at least disgrace french or related.
>>
>>108914252
ye, retard feature.. implemented not as a module or a native code.. it means the runtime has to check for some signal regarding this particular function and it comes with a small perf price.. the IPC is completely absent..

>>108915816
whats the usecase of that
>>
>>108908537
>templates
ye, retard feature.. implemented not as a module or a native code.. so insertion here buffer overflow error affect maximum web services
>>
>>108916353
>>108917169
Quaeso mortem conscisce, niger infrahumane et hebes.
>>
>>108911899
>python 3 has incompatibilities within itself between versions. Stuff might just randomly break on update
just like gtk3 and later
>>
>>108916948
>>>/r/eddit
Don't come back
>>
>>108917544
Close but no cigar. Hint: what language did Jesus speak?
>>
>>108917706
Irrelevant, he wasn't Christian because that religion didn't exist in his lifetime yet.
>>
>>108916350
Massive breaking changes in the specification

also unrelated but this is /g/ not /theology/ talk about stallmans on /poi/ or something
>>
>>108917777
Good points, blessed by 4 7's, which is pretty biblical. One must therefore accept that you are currently expressing yourself in Christian, which means English is the Christian language. QED.
>>
>>108917817
>which means English is the Christian language
only for anglican and protestant heretics
>>
>>108917372
>whats the usecase of that

that is my Q for python'tards, you can answer now
>>
>>108895880
SEND THESE FUCKERS TO WAR TO DIE!
HOW MANY MILLENNIA DO WE HAVE TO DO IT BEFORE THEY'RE WIPED OFF ?
>>
File: IMG_0290.jpg (201 KB, 1040x1023)
201 KB JPG
>>108917270
>allegedly decades of programming
>still can't speak even 5 words of english decently, worse ESL than even curryniggers
>and projecting about niggers out of nowhere
your lot might be even more of a pathetic waste of oxygen than I thought, damn

and finally:
>waaa waaa waaaaaaaaa you don't HAVE to do changes WAAAA WAAA WAAAAAAAAAA
it's time for your afternoon nap, grampa, you're obviously a little tense right now



[Advertise on 4chan]

Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.