Does Python Need to Change? (zdnet.com) 233
The Python programming language "is a big hit for machine learning," read a headline this week at ZDNet, adding "But now it needs to change."
Python is the top language according to IEEE Spectrum's electrical engineering audience, yet you can't run Python in a browser and you can't easily run it on a smartphone. Plus no one builds games in Python these days. To build browser applications, developers tend to go for JavaScript, Microsoft's type-safety take on it, TypeScript, Google-made Go, or even old but trusty PHP. On mobile, why would application developers use Python when there's Java, Java-compatible Kotlin, Apple's Swift, or Google's Dart? Python doesn't even support compilation to the WebAssembly runtime, a web application standard supported by Mozilla, Microsoft, Google, Apple, Intel, Fastly, RedHat and others.
These are just some of the limitations raised by Armin Ronacher, a developer with a long history in Python who 10 years ago created the popular Flask Python microframework to solve problems he had when writing web applications in Python. Austria-based Ronacher is the director of engineering at US startup Sentry — an open-source project and tech company used by engineering and product teams at GitHub, Atlassian, Reddit and others to monitor user app crashes due to glitches on the frontend, backend or in the mobile app itself... Despite Python's success as a language, Ronacher reckons it's at risk of losing its appeal as a general-purpose programming language and being relegated to a specific domain, such as Wolfram's Mathematica, which has also found a niche in data science and machine learning...
Peter Wang, co-founder and CEO of Anaconda, maker of the popular Anaconda Python distribution for data science, cringes at Python's limitations for building desktop and mobile applications. "It's an embarrassing admission, but it's incredibly awkward to use Python to build and distribute any applications that have actual graphical user interfaces," he tells ZDNet. "On desktops, Python is never the first-class language of the operating system, and it must resort to third-party frameworks like Qt or wxPython." Packaging and redistribution of Python desktop applications are also really difficult, he says.
Python is the top language according to IEEE Spectrum's electrical engineering audience, yet you can't run Python in a browser and you can't easily run it on a smartphone. Plus no one builds games in Python these days. To build browser applications, developers tend to go for JavaScript, Microsoft's type-safety take on it, TypeScript, Google-made Go, or even old but trusty PHP. On mobile, why would application developers use Python when there's Java, Java-compatible Kotlin, Apple's Swift, or Google's Dart? Python doesn't even support compilation to the WebAssembly runtime, a web application standard supported by Mozilla, Microsoft, Google, Apple, Intel, Fastly, RedHat and others.
These are just some of the limitations raised by Armin Ronacher, a developer with a long history in Python who 10 years ago created the popular Flask Python microframework to solve problems he had when writing web applications in Python. Austria-based Ronacher is the director of engineering at US startup Sentry — an open-source project and tech company used by engineering and product teams at GitHub, Atlassian, Reddit and others to monitor user app crashes due to glitches on the frontend, backend or in the mobile app itself... Despite Python's success as a language, Ronacher reckons it's at risk of losing its appeal as a general-purpose programming language and being relegated to a specific domain, such as Wolfram's Mathematica, which has also found a niche in data science and machine learning...
Peter Wang, co-founder and CEO of Anaconda, maker of the popular Anaconda Python distribution for data science, cringes at Python's limitations for building desktop and mobile applications. "It's an embarrassing admission, but it's incredibly awkward to use Python to build and distribute any applications that have actual graphical user interfaces," he tells ZDNet. "On desktops, Python is never the first-class language of the operating system, and it must resort to third-party frameworks like Qt or wxPython." Packaging and redistribution of Python desktop applications are also really difficult, he says.
This headline: (Score:4, Informative)
A classical example of Betteridge's law of headlines.
Re: (Score:3)
What Python desperately needs is to STOP changing.
Re:This headline: (Score:5, Funny)
"You must not have read the actual article. "
Obviously! We're not newbies with a 7 figure uid.
Re: (Score:2)
Instructions unclear, link pasted in an email to my female boss.
wut (Score:5, Funny)
Plus no one builds games in Python these days.
Ah yes, the good old days, when Doom was written in Python. I remember it well, a more civilized tool, for a more civilized age.
Re:wut (Score:5, Insightful)
It's also incorrect. The Ren'py engine is widely used for creating visual novels. Granted, C++ dominates the videogame industry, but Python still has a niche there.
It's silly to try to turn Python into a high-performance language, which many games requires. Let Python do what it's good at, and leave C++ at what it's good at. There's this stupid idea among some that a language needs to be all things to all developers, and that's simply never going to happen.
Re: (Score:3)
C# (and Java to some degree) are kindof all things to all developers. You can transpile it to C++ (Unity3D does this for console compatibility) to make games, make webapps or smartphone apps.
Although with this transpilation approach you lose features like reflection, but idiomatic C# uses it sparingly anyway. And that's why Python can't do that, because reflection is much more heavily used in dynamic languages. And the lack of type information makes efficient transpilation impossible.
Re: (Score:2)
I am still a relative novice in C# but I have only seen transpiling primary as a third-party trick. If you are the owner of the codebase, there should be zero reason to transpile unless again you are consuming some assemblies that you are not the owner and even then a more professional approach would be working with the owners or writing wrappers. Is there something I am missing? The use case I have experienced is writing mods for RimWorld. As an owner of the codebase, are there real use cases for transpili
Re: (Score:3)
Disclaimer: I'm not an expert on transpilation, I just experienced it from a novice gamedev's point of view in Unity3D.
The main benefit in case of Unity3D is that you can use reflection for PC (e.g. for level editor) and leave it out for consoles. You also get to work with a language that has less gotchas than C++.
Re: (Score:2)
Re: (Score:2)
Come to think of it, I haven't seen any website designed with assembly language. Perhaps assembly needs an overhaul to avoid being relegated to drivers and low-level development.
Re: (Score:2)
The only game(s) built in python are those built on PyGame which Ren'py is the only one to really have any support. However Ren'py can't be run on iOS, the web browser because it relies on old versions of Python and PyGame which have license issues, never mind no runtime for iOS.
Python's criticisms are similar to that of Java, where too much changes between version numbers, and isn't backwards compatible even between minor versions. Java has largely been abandoned for game development, and the only game th
Nah (Score:5, Interesting)
To build browser applications, developers tend to go for JavaScript, Microsoft's type-safety take on it, TypeScript, Google-made Go, or even old but trusty PHP
I've never seen a decent backend built in JavaScript. Express sucks, and MongoDB isn't much better (just try building a substantial data model without redundancy).
Re: Nah (Score:5, Insightful)
Yes, MongoDB is a fucking disaster zone. It's great if all you want is key-value searches on particular document structures but if you need to do even simple relational queries between documents or god forbid change the document structure without reinstalling your entire DB and rewriting your access code then you're in for a world of pain. Far more so than changing table structures in an RDBMS. Give me a relational DB and SQL any day, the NoSQL experiment has failed. They knew what they were talking about in the 70s as theyd been using the horror that is flat file sDB structures for 20 years already and relational was the solution.
Re: Nah (Score:5, Informative)
I'll disagree that NoSQL has 'failed' in some way. The only failure is hoards of people chasing the 'new shiny' and using it when they need a real RDBMS. NoSQL DBs are fine for certain problems, just not EVERY problem.
NoSQL is one more instance of silver bullet syndrome where people try to make a new tool do everything. That NEVER works out.
Re: Nah (Score:4, Interesting)
"NoSQL DBs are fine for certain problems"
Niche problems that rely purely on key value lookups which are few and far between. Any complex business logic will require relational queries at some point. At best a NoSQL DB can be used as a side loading document store to complement the main DB in an RDBMS.
Re: (Score:3)
Niche problems that rely purely on key value lookups which are few and far between.
They work really well for things like cookie lookup, which happens a lot on websites.
Re: (Score:3)
Re: (Score:2)
It's great if all you want is key-value searches on particular document structures
But today, so is PostgreSQL, and even other established solutions, aren't they?
(NOTE: "Filter error: Your comment looks too much like ascii art."...WTF is that supposed to mean?)
Re: (Score:2)
It means the post filter on Slashdot fucking sucks.
Re: (Score:2)
Perhaps you have failed?
Using a NoSQL DB when it was not appropriated?
They knew what they were talking about in the 70s
In the 70s - against popular believe - mostly _ALL_ databases where NoSQL. I learned around 1989/1990 in university: SQL _AND_ graph based data bases on Vaxes!
If you can not use a NoSQL DB, then either you are not as smart as you think you are, or it is the wrong technology for your problem. Simple as that.
Graph data bases like Neo4J or OrientDB are on the rise, because guess what: there a
Re: (Score:2)
"Using a NoSQL DB when it was not appropriated?"
You've never worked in a big firm where some halfwit manager follows the new shiny and expects every problem to fit around it have you.
"In the 70s - against popular believe - mostly _ALL_ databases where NoSQL"
Yes, well done, thats why SQL was invented then.
"f you can not use a NoSQL DB, then either you are not as smart as you think you are, or it is the wrong technology for your problem"
GIven most large solutions except for warehousing require relational que
Re: (Score:2)
> where some halfwit manager follows the new shiny
there are some extra steps:
. sql is hard to learn (db theory needed)
. sql takes years to get great at because information theory is hard
. somebody comes along saying nosql is just as good and easy (wrong)
. mongo sounds fun to say
. let's shit on people who understand db theory because we don't want to be inferior to them.
. learning is hard
. look, several articles
. look, benchmarks for simple reductive cases
. look, lots of people in the same situation agree
Re: (Score:3)
Aside from the seemingly obvious observation that SQL != relational, I can teach the basics of both to a moderately bright developer in about a day or two. Normalization is very intuitive once you grasp why it's needed and how it works, and most of learning SQL is learning how joins work.
As for why people who understand the relational model may sound a little persnickety to those who do not, well, in my case at least, it's not because I feel "superior" but because I know from decades of sometimes painful e
Re: (Score:3)
And you seem keen to call people stupid when you clearly have little experience of developing large systems in either. /.
a) I did not call you stupid - read again
b) yes I have experience - as you should know as we met often enough on
And if you had management pressing you, it is still not a cause against NoSQL :P
I'll pass thanks. I doubt its anything that I haven't seen or heard in the last 30 years of working in IT.
Ah, little child. You indeed should watch this as: you do not have seen anything like that in
Re: (Score:2)
Re: (Score:2)
Yeah but MongoDB is webscale...
Re: (Score:2)
What I would choose to use server-side would largely boil down to what the application was doing, what it was running
Re: (Score:2)
MongoDB is a document data base.
Storing and querying JSON documents. It is not supposed to have a schema or be redundancy free.
Have to check express :D But I would never use Javascript anyway for a backend, that is IMHO where Java excels and there is basically never a reason not to use Java.
Re: (Score:2)
Oracle. More specifically Oracle's greed.
I used to think as you do.... then Oracle bought Java and started doing stupid crap like filing lawsuits against companies for copying ideas from Java, or more recently even charging developers just to use their language professionally.
Java has a lot of technical merits that otherwise make it interesting, but Oracle has time and again proven that they can turn anything they get their hands on into shit.
Re: (Score:2)
Well, that's extremely anecdotal of you. And anecdotes are pretty worthless as indicators of anything.
Re: (Score:3)
python is python (Score:2)
Yep, Pyhon GUI tools suck (Score:5, Interesting)
I've tried several GUI frameworks over the years. They all seemed to use a different language so in the middle of your program you'd have to start using different syntax - or a different programming paradigm entirely.
As a casual user (a few days/year), I like Python. It's simple enough to understand that I can open the editor and start cranking out usable code immediately. All of the GUI toolkits I've tried are byzantine by comparison.
Re: (Score:3)
After many years programming in multiple GUI frameworks on multiple OSes in C++, Java and Python, I find WxPython can do all I need with almost minimal lines of code.
I just miss an IDE for form design and the ability to hotfix code.
Re: (Score:3, Interesting)
Re: (Score:2)
That actually looks promising. Thanks I'll try this.
Re: (Score:2)
Some scripts can be much improved by adding a simple GUI.
The GUI API should not be part of the language (Score:3)
There are too many variations between OSs and form factors so one size does not fit all. If you try you end up with Java Swing and no one wants that. Plus bundling a massive API that may well not be needed for the task the user wants Python for just wastes space and complicates packaging.
As for it not being a first class language , well I cant speak for Windows but on *nix the shells are intricately linked to OS functionality such as spawning command programs, job control etc. Yes you can do that in Python too but with 3 times or more the code to do the same thing so why would anyone want to?
Re: (Score:2)
Re: (Score:2)
Oh right. So if I develop an app with multiple windows what happens when it gets ported to a phone?
Re: (Score:2)
If you try you end up with Java Swing and no one wants that.
Sorry, you are just silly.
Java + Swing is excellent. Swing is one of the best GUI frameworks ever, unfortunately they never made a true Application Framework.
One tool to rule them all (Score:5, Insightful)
My hammer makes a terrible screwdriver. It needs to come up to speed, because I have a lot of applications that call for screws!
Re: (Score:2)
Oh man. That's exactly what I said, but you said it better.
Re: (Score:2)
If you could become proficient in a new programming language in the same length of time in takes to master the use of a screwdriver, your argument would have been excellent... it's not.
Re: (Score:2, Insightful)
It is not an argument, it is an insight...and it is excellent.
Also, the time to "become proficient" relative to the time required to perform the task is not necessarily different between a programming language and a screwdriver. If it were, your argument would have been excellent...it's not.
Re: (Score:2)
Why not just buy a hammer multitool?
Re: One tool to rule them all (Score:2)
Re: One tool to rule them all (Score:2)
python and webassembly (Score:3, Informative)
Python in a browser 8P (Score:3)
Who cares? (Score:5, Interesting)
It's a nice command line oriented dynamic language with enough OO and functional behaviours to cater to different tastes.
But what makes it nice for cranking out useful algorithms quickly is what makes it unsuited to desktop graphical programs. The horror of GUI APIs shines right through. There are several GUI frameworks and none of them are elegant or simple. They all seem to suffer from the object tree of a million things problem. The only clean GUI APIs I've seen are in plan9 and TempleOS and they are not going to be mainstream any time soon. Since I don't write GUI applications, I do not care. I develop algorithms in Python and if necessary convert to C or C++ (for nicer GMP/MPFR than in C) later if it's worth making it faster.
If I was programming a GUI, I would pick a language that mapped better to the task. I don't need python to be broken for the sake of GUI programming. I need them to fix the versioning and packaging issues. That's all.
Re: (Score:2)
What I want of Python is a better way of handling fixed length binary record oriented files. A decent way of QUICKLY mapping values to fixed byte length values. Unsigned 64 bit integers would be a real plus. It would also be nice if the "multiprocessing" module could be more tightly integrated into the language. But using struct to pack and unpack values all the time, while extremely flexible, is a real pain.
Also useful would be language recognition of immutable values (other than strings and literals,
Python is the main language? (Score:2)
Once again? Oh boy!
IEEE is really getting a marketing turn, then!
The usual programmer madness (Score:2)
Data science people like python because it's reasonably simple, reasonably fast, and it works. Adding cruft to it will make it worthless to everybody.
Programmers always come up with reasons to keep programming. Sometimes that Ferrari doesn't need a trailer hook. Classic example KDE 3. It got as good as it was going to get, but at that time it had a big group of programmers who just wanted to do something, so they wrecked the whole project with pointless rewrites of core components.
Re: (Score:2)
Python is "reasonably fast" exactly to the extent that it calls non-Python code.
In an app I used to work on, the core was C++ and the high-level for logic was Python. The Python code was strictly bookkeeping, but it was still responsible for about half the mallocs and ten percent of CPU usage in a CPU-bound app. Plus it kept a "get it done quickly" architecture so there were tuples inside arrays inside tuples rather than objects. And the code had outgrown the size where dynamic typing was easy to use; yo
Re: (Score:2)
where index 4 of the array at position 2 in that tuple came from
That actually sounds like a problem in any language you could have reasonably used that isn't dependently typed (which si probably all of them).
Re: (Score:2)
and have to spend three hours tracking down where index 4 of the array at position 2 in that tuple came from.
That should only need a few seconds. Sorry, exception break point in your IDE, walk up the stack trace until you are at the place the parameter is passed down, then go further up and check how it is calculated.
Wow: so easy ...
Re: (Score:2)
That app had/has a dict that persists across multiple transactions and holds the nested list-like types. Because elements are accessed by index rather than name, foo[0][1] can have both different type and semantics than foo[1][1], and sometimes foo[0] or foo[1] would be passed to functions, it was ob
Re: (Score:2)
Data science people like python because it's reasonably simple, reasonably fast, and it works. Adding cruft to it will make it worthless to everybody
And:
a) the data usually comes from resources with high latency
b) the number crunching is delegated to C/C++/Fortan vector math
c) Python is only the super readable and super maintainable glue code
Yes (Score:4, Funny)
They keep changing the damn language so why not .. it's like Chinese turning into Swahili over time. I say we skip the BS and just turn Python into FORTRAN 66 with Perl-like variable syntax and PHP function names.
Python (Score:2)
is not popular because of the language, but because it is taught in many classes as first language and in some areas has excellent libraries.
If you know a lot if different languages, you use python despite the language because you find an excellent library which you often cannot find somewhere else in this quality!
Re: (Score:2)
[Python] is not popular because of the language, but because it is taught in many classes as first language and in some areas has excellent libraries.
Not in my case. I have never had any classes in programming. There are two main points that make Python attractive for me.
a) It behaves like executable pseudo-code, so I can guess how something should be written, and it tends to work. When I used Perl, there was so much syntax to learn that I could not understand my own code.
b) It is strongly typed, so you do not get daftness like numbers becoming strings, but only sometimes, like in Perl or Javascript.
I have not tried GUI programming in Python, but the iss
Re: (Score:3)
Re: (Score:2)
PyQt needs much better documentation. I agree that WxPython is pretty good. PyQt depends too much on the C++ documentation, and that doesn't always tell you everything you need to know.
Re: (Score:2)
Trying to build detailed GUI facilities into Python would lead to all sorts of OS and platform dependencies.
While that is true, Java solved it nicely. Three times!!
a) AWT
b) Swing
c) JavaFX
However for Python it probably makes more sense to provide a "standard" binding to Qt (which probably already exists anyway):
Re: (Score:2)
Trying to build detailed GUI facilities into Python would lead to all sorts of OS and platform dependencies.
While that is true, Java solved it nicely. Three times!!
a) AWT
b) Swing
c) JavaFX
However for Python it probably makes more sense to provide a "standard" binding to Qt (which probably already exists anyway):
I admit to ignorance of writing Java code, but the "write once, run anywhere" idea did not seem to work out in practice. You can end up with an application that is equally crap on all platforms. I certainly have no fondness for Java GUI implementations. Qt seems to do fairly well, but it is a hefty beast.
Re: Python (Score:3)
Re: (Score:3)
You're confusing Perl with Forth, or possibly APL (which looks even more like line noise than Perl does).
First class language with a GUI ?! Wut ? (Score:5, Insightful)
"Python is never the first-class language of the operating system, and it must resort to third-party frameworks like Qt or wxPython."
What first class language of what operating system has its own GUI ?
This is just nonsense.
Re: (Score:2)
Erm, by "GUI" I mean "GUI Framework". ( Obviously, as that's what Qt and WxPython are. )
Re: (Score:2)
Re: (Score:2)
"Python is never the first-class language of the operating system, and it must resort to third-party frameworks like Qt or wxPython."
What first class language of what operating system has its own GUI ?
This is just nonsense.
Yeah, they lost me there too. It's bad because they have to use libraries? WTH?
Vala. (Score:2)
Ok, it's actually the other way around, Gnome has Vala as it's first class PL, but PLs exist is what I'm saying. Like Livecode or visual basic. ... For example.
Re: (Score:2)
Oberon, Modula II, Java.
And if you skip "cross platform": C++/Swift/Objectiv-C and Pascal on Macs and NeXT.
Obviously C# on Windows.
I would not wonder if FreePascal or that TurboPascal clone, I keep forgetting its name, has one, too.
Lisp ...
Re: (Score:2)
Oberon, perhaps.
Modula II, not any version I used.
Java, yes.
C++, no.
Swift, perhaps.
Objective-C, no.
Pascal, no.
They have GUIs, but the GUIs are libraries, not part of the language. Even ObjectivePascal for the Mac didn't have a GUI as part of the language. (Well, not in 1990.) TurboPascal may have, but that was a commercial product, not a langauge. It was an implementation of a language. And I always heard the GUI referred to as Delphi, so I think it was a separate product. (Like Lazarus and FreePascal
depreciate (Score:2)
What browser languages? (Score:5, Interesting)
I don't see much useful or new here.
Python is terrible because you can't run it in browser tabs?
Last time I checked, only (really) JavaScript was supported in the browser -- yes, there are some subset and superset languages, but in the end, it is JavaScript. There are projects to compile Python to WebAssembly, but no you can't take the C Extensions with you. You don't have them in JavaScript either.
Python is terrible because it's hard to write desktop apps?
It is hard to write desktop apps, because users are unforgiving of applications that do not use native GUI features. Heck, even in the Linux world, people get upset if the app they want to use doesn't match the ecosystem they have picked. There is a cross-platfrom GUI library for Python, and it will do simple apps, but it is isn't going to look like a native app across platforms.
Python is terrible because you can't use it for mobile apps?
Programming for mobiles is like programming for the web. You generally have to use what the platform provides. And phones don't provide Python runtimes. But they don't provide runtimes for your favourite language either.
Python is terrible because it is hard to deploy projects?
Have you ever tried deploying someone else's JavaScript application...?
Re: (Score:2)
You generally have to use what the platform provides. And phones don't provide Python runtimes. But they don't provide runtimes for your favourite language either.
There's no shortage of languages that you might want to program your phone in. So much so that you can't expect phone manufacturers to provide them all. It's up to programming language developers to provide their own runtimes. Hell, these days, even platforms like LispWorks or VisualWorks have their Android runtime, and those are not exactly *that* popular. If *those* can, why not Python, if it has *that* many more users than those platforms?
Re: (Score:2)
There are dozens, if not hundreds Python runtimes/IDEs on Android.
Even iOS has close to a dozen.
Re: (Score:2)
You can take the C extensions with you.
C was one of the first languages compiled to JavaScript or WebAssembly.
But: why in hell would anyone want that?
Python is first class on non-Windows systems (Score:5, Insightful)
Also, you can tell the Anaconda guy is very Windows centric, probably because what he distributes to make money depends upon OSes not having decent centralised repositories.
Qt is a first party Linux/BSD framework for GUI apps. It is only third party on Windows and even then, it powers more of what I use than the native option (WinForms) does. For me, without Qt, I wouldn't be able to use: VirtualBox, Beyond Compare, TeamViewer, VLC Media Player, Google Earth, qBitTorrent, OBS, XnView, AMD GPU Drivers, Dolphin and a ton of other stuff.
The only advantage native Windows GUI code would give is longevity of support which is something Python doesn't give two hoots about anyway. 32-bit Windows 95 apps still work great on Windows 10 with many underlying libraries still receiving security patches, while Python apps (and all their modules) break the moment you change major version anyway
For languages to be accepted in the year 2020, they need to be supported with minimal breakage long term. That is the real reason Python needs to (not) change. I already have great options available that won't shaft me years down the line.
Re: (Score:2)
But you do know that even Windows has a $PATH variabel and that you can keep new and old versions of any language nicely separated?
Right tool for the job (Score:3)
Different languages have different strengths and weaknesses for different applications, simply because a language isn't suited for a particular task doesn't mean that it makes sense to bloat or introduce feature creep into the language.
Again? (Score:3)
35 years old... (Score:5, Insightful)
"But 35-year-old Python does have its weaknesses"
What a surprise. People complain that Java has problems, because it is 25 years old. There's a lot of cruft that accumulates, and frankly we have learned something in that time. Python is even older, and it's a scripting language, which is rarely ideal.
I can only figure that Python took off, because it was initially easier for non-programmers to work with an untyped language. They built toolkits, which made Python popular for AI applications. But just about any other language would have been better. Java would have been better. Heck, a lot of languages would have been better. But people go where the toolkits and frameworks are, so...
And why do ppl write nonsense like this? (Score:2)
Plus no one builds games in Python these days.
One of the biggest online games in the world, is written server side _AND_ client side mostly in Python.
Seriously, if you want to bash a language: do your homework first.
I'm sure there are plenty of "Apps" for Android and iOS written in Python, and that includes Games - it is just so that no developer feels to need to brag which language he used.
Re: (Score:3)
Plus no one builds games in Python these days.
One of the biggest online games in the world, is written server side _AND_ client side mostly in Python.
Seriously, if you want to bash a language: do your homework first.
Indeed. That did surprise me as well. This person is either clueless or dishonest.
Re: (Score:2)
Also true of go and perl? (Score:2)
The big question- (Score:2)
Take a good language... (Score:2)
. ..."
"...you can't run Python in a browser and you can't easily run it on a smartphone. Plus no one builds games in Python these days.
Do not fuck it up (Score:2)
It works well. Any major changes can only make it worse. These people are completely unaware of tech history, it seems to me.
As to Python in the browser, that will come by itself via web-assembler. No need to change the language. And GUIs? That is _not_ in its target problem space. If you really want it, write your GUI in C and embed Python.
No. (Score:3)
Python going through breaking changes from v2.x to v3.x was bad enough. Don't change Python, not again . It's perfectly fine. It's the only PL used professionally in every industry and field. For that it's doing very very well. If some specialist blowhard doesn't like the featureset Python offers, then he should build his own PL. Better yet find a different existing PL that better fits his needs.
implication from article: Pythonista is "not easy" (Score:2)
Comment removed (Score:5, Informative)
Re: (Score:3, Interesting)
I don't like python, but I think the biggest problem is people trying to use it for *everything* - and in academia that seems impossible to resist. At my lab a lot of effort has been spent moving matlab code to python - even though the matlab code works and because of our educational status / contract, matlab with all toolboxes is free to all researchers.
We have have people doing numerical analysis and massive real time control systems in a language that is just not built for that type of work.
Re: (Score:3)
The biggest problem for developers with the ( great ) language Python was and IS the change from Version 2 to Version 3.
It should be an object lesson in how NOT to update a programming language.
Given that every new release of Python repeats the 2->3 experience in miniature it would appear that the Python dev team have taken that lesson to heart and believe that's just how it's done. At least the move from 2 to 3 was accompanied by a major version number to warn the users that something big has changed; they don't even bother doing that any more.
Python is literally a toy language for the intellectual amusement of the core dev team. It desperately needs some decent leadership.
Re: (Score:2)
I didn't find changing for Python2 to Python3 much of a problem at all. The main problem was that some libraries didn't make the change, but I didn't use any of those libraries.
That said, every breaking change is a problem for someone. That's why they ran Python2 and Python3 in parallel for a decade. If you want a bad job of change, look instead at Perl->Raku->Perl7. (Raku was going to be called Perl6, but people wouldn't accept the name.)
Re: (Score:2)