Remix.run Logo
pjmlp a day ago

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.