| ▲ | dec0dedab0de a day ago |
| Does anyone miss when "pure python" was a selling point of your library? I understand the need for speed, but I wish it were more common to ship a compiled binary that does the thing fast, as well as the same algorithm in python to fall back on if it's not available. |
|
| ▲ | smnrchrds a day ago | parent | next [-] |
| Pure Python was a huge selling point back when using a compiled library involved downloading and running random .exe files from someone's personal page on a university website. It is much less of a selling point now that we have binary wheels and uv/Poetry/etc. that create cross-platform lock files. I feel nostalgic seeing (a mirror of) that download page again, but that era was such a pain. Mirror: http://qiniucdn.star-lai.cn/portal/2016/09/05/tu3p2vd4znn |
| |
| ▲ | dec0dedab0de a day ago | parent [-] | | I always thought the selling point of Pure Python was that you might be running on some esoteric implementation of python, or hardware that the library maintainer didn't include binaries for. I mean, I am glad wheels exist, they make things a lot easier for a lot of people. I just believed in the dream of targeting the language for maximum compatibility and hoping a better implementation would eventually run it faster. | | |
| ▲ | kccqzy 17 hours ago | parent [-] | | Indeed. I was an early adopter of Google's App Engine using Python and at that time Pure Python is a must. |
|
|
|
| ▲ | pjmlp a day ago | parent | prev | next [-] |
| I rather find tragic that contrary to other dynamic languages, Python seems to fall under the curse of rewriting bindings into C and C++, or nowadays more fashionable Rust. And yes, Smalltalk, Self and various Lisp variants are just as dynamic. |
| |
| ▲ | woodruffw a day ago | parent | next [-] | | Why is it tragic? It's more or less idiomatic in Python to put the hot or performance-sensitive paths of a package in native code; Rust has arguably made that into a much safer practice. | | |
| ▲ | pjmlp 14 hours ago | parent [-] | | Because it forces mastering two languages, or depending on third party developers for anything that matters beyond basic OS scripting tasks. It became idiomatic as there was no other alternative. | | |
| ▲ | woodruffw 5 hours ago | parent [-] | | You don’t have to master Rust to use this, the same way you don’t have to master C to use all of the critical extensions written in it. (Besides, no language has this regardless of native extensions: a huge part of Python’s success comes from the fact that there isn’t a perfect graph of competencies in the community, and instead that community members provide high quality abstractions over their respective competencies.) | | |
| ▲ | pjmlp 2 hours ago | parent [-] | | Assuming someone else fixes the issues that might come up. One of the pain points from Python is exactly native libraries and getting them compiled. |
|
|
| |
| ▲ | foolswisdom a day ago | parent | prev [-] | | It's part of the original selling points of python, so it's not surprising that we've never stopped doing it. | | |
| ▲ | pjmlp 14 hours ago | parent [-] | | As someone that has been using Python since version 1.6 that was certainly not one of the original selling points. Rather being a better Perl for UNIX scripts and Zope CMS, there was no other reason to use Python in 2000. |
|
|
|
| ▲ | sharperguy a day ago | parent | prev | next [-] |
| They should just distribute it in some kind of bytecode compiled language with JIT VM like java. Then at least it will be cross platform. |
| |
| ▲ | pjmlp 13 hours ago | parent [-] | | Yeah, I heard about this new one taken from browsers. It is supposed to fix everything that previous ones never achieved. |
|
|
| ▲ | pphysch a day ago | parent | prev | next [-] |
| I certainly don't miss needing to install additional system libraries in addition to my pip install. |
| |
| ▲ | pjmlp 13 hours ago | parent [-] | | In what way does having to compile a Rust library prevent this? | | |
| ▲ | pphysch 2 hours ago | parent [-] | | IME, and I may be off base, the new generation of Rust/Go binaries have a more "batteries-included" philosophy, i.e. developers don't assume that they can piggyback off existing user system libraries, which generally makes it a nicer install UX. | | |
| ▲ | pjmlp 2 hours ago | parent [-] | | It will fail to compile as well if they depend on any system library or OS specific feature not present on your system. |
|
|
|
|
| ▲ | a day ago | parent | prev [-] |
| [deleted] |