Comment by tonymet

Comment by tonymet 14 hours ago

16 replies

I wish they would just go back to calling it Python, since it’s the Python that everyone knows and uses. No one gets confused over Python the spec and Python the implementation. Every time I see “CPython” i have to double check we’re just talking about Python.

I guess they “CPython’ed” back when people thought Jython would take off , and it never did because Java sucks.

vkazanov 14 hours ago

Just to name alternatives: Cpython, Pypy, jython, ironpython.

Then, there quite a few python-likes out there.

I wish they would stay precise.

  • appplication 14 hours ago

    Yes, but no one is ever talking about pypy or jython implicitly. They are always mentioned by name because they represent <0.1% of all Python usage and are relegated essentially exclusively to niche or experimental use cases for power users.

    It’s a bit like arguing people should start saying “homo sapiens” when referencing “people” for added precision. It may be useful to anthropologists but the rest of us really don’t need that. Similarly, CPython is really only a sensible level of precision in a discussion directly about alternative Python implementations.

    (although in this case the original post is about implementation internals so I’d give it a pass)

    • rich_sasha 14 hours ago

      This seems to be literally looking at the details of the C implementation of a Python interpreter. Exactly specifying the implementation makes sense here. You wouldn't say "how does the C++ compiler work" then look only at gcc.

      • tonymet 14 hours ago

        c++ / g++ is not comparable because the original c++ reference compilers are not commercially popular today. No one is using Strouvestroups compilers.

        CPython is Python. Every time your buddy says “just download python” you are using CPython . There’s no reason to be pedantic.

        • shakna 6 hours ago

          g++ and clang are comparable. You need to specify the implementation.

    • tonymet 14 hours ago

      I like this debate because it triggers everyone’s pragmatic frustration with the philosophy of language.

      Are things defined by the dictionary or by everyday experiences?

  • tonymet 14 hours ago

    CPython, pypy, jython are not alternatives.

    CPython is Python. The others are attempts.

    • tonymet 10 hours ago

      I don’t think it’s good form to downvote people you disagree with.

      • palata 9 hours ago

        I did not downvote, but I'm guessing that it is perceived as disrespectful to call them failures to the point where they don't even qualify as "alternatives".

        • nomel 9 hours ago

          The word "failure" was never used.

          But, they are technically correct. The language is defined as by CPython: it is the standard!!! None of the others fully meet that standard, which includes quirks! It's knows trade offs with them! They are, literally, attempts to adhere to that standard.

EdwardDiego 7 hours ago

I find it's usually referred to as CPython when discussing something specific to the implementation or internals of Python that don't apply to Pypy, which seems to be the alternative Python implementation with the most traction.

No harm in being explicit right? Tis part of the zen of Python after all.

paulddraper 10 hours ago

A lot to unpack there, but the language and the implementation are different.

JavaScript and Node.js are different too.

palata 9 hours ago

I feel like when the goal is to talk about the internals of it, then it makes sense to call it CPython.

In general, I never, ever see anyone saying "I will write a CPython script". Everybody says "Python" in my experience... do you see it differently?

EDIT: I don't think that your opinion deserves to be downvoted, though...

mkoubaa 12 hours ago

Precision in language is important for software engineering.