[Python-Dev] C++ for CPython 3? (Re: str.count is slow) (original) (raw)

Greg Ewing greg.ewing at canterbury.ac.nz
Wed Mar 1 05:28:25 CET 2006


Fredrik Lundh wrote:

should we perhaps switch to (careful use of) C++ in 3.0 ?

I worry that if the Python core becomes dependent on C++, it will force all extensions to be written in C++, too.

Not only is this inconvenient for people who don't know C++ or prefer not to use it, but I suspect this would lead to some severe interoperability problems.

On most platforms, C code will happily link to just about anything else, but in my experience, C++ code will only interoperate with other C++ code when it's compiled by exactly the same compiler and uses the same runtime system.

For another thing, I'm not sure that C++ polymorphism is flexible enough to implement Python's style of polymorphism. Think of all the tricks we play with type objects -- allocating them on the heap, extending them dynamically at runtime, etc. In C++, classes aren't even available as program-accessible entities.

So we'd end up implementing our own form of dynamic dispatch anyway, and it would probably look a lot like the current C-based type objects. I don't see that C++ would help much.

-- Greg



More information about the Python-Dev mailing list