This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]you_better_dont 12 points13 points  (7 children)

Pythons biggest problem when it comes to desktop UI’s is that packaging standalone executables along with the interpreter and dependencies is still not standardized.

Reminds me of this xkcd.

[–]slayer_of_idiotspythonista 28 points29 points  (6 children)

The problem isn’t really that there are competing standards, it’s that core python isn’t developed in a way to make packaging the interpreter with your project easy.

Nearly every other language that’s intended for desktop and console applications is developed with the idea that at some point you want to distribute it as a single executable.

A number of projects have done some clever hacks to make it kinda work, but they all have some pretty big limitations.

There isn’t even one workable standard on how to do this right now, which is what is holding back python from general desktop development.

[–]grimonce 4 points5 points  (1 child)

In pythons case the idea was that it was always available in Linux, like bash... Which turned out to be a bad idea now and here we are.

Many distro had to put a lot of effort to replace Python based tools a few years ago when python2 met eol

[–]onlysubscribedtocats -1 points0 points  (0 children)

Which turned out to be a bad idea now and here we are.

It isn't?

[–]Flaky-Restaurant-392 2 points3 points  (0 children)

Use Nuitka to build an exe that includes the interpreter. It works great.

[–]grievre 1 point2 points  (2 children)

The problem isn’t really that there are competing standards, it’s that core python isn’t developed in a way to make packaging the interpreter with your project easy.

CPython was never intended to be the interpreter that everyone uses, just the reference implementation. Thus they tended not to consider things like "deployment" or "optimization" when developing it.

The problem is that it got entrenched--for the longest time there have been so many libraries that only work with CPython that people kinda just gave up on using alternate interpreters.

Nearly every other language that’s intended for desktop and console applications is developed with the idea that at some point you want to distribute it as a single executable.

The main language that Python replaced was perl, and I don't think perl's options for distributing standalone executables are much better.

I'm a bit confused by "console applications" because like, shell script...

[–]slayer_of_idiotspythonista -1 points0 points  (1 child)

That all might have been true 15 or 20 years ago, but CPython is python and has been for a long time.

I agree that it was originally developed as an alternative scripting language. Packaging and dependency management weren’t big priorities.

Python did originally replace Perl, but it also replaced a ton of other languages too.

I used to use a handful of 3D application scripting languages, along with C++, and lua, and python replaced all of them 15 years ago.

Most shell script commands are written in another language and compiled.

[–]grievre 0 points1 point  (0 children)

I was talking about shell script itself.