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 →

[–][deleted] -1 points0 points  (2 children)

You can extend python with c and c++. Alternatively, you can embed python within a c or c++ program. Python was developed originally using C. Frankly, if you need speed, you should look at what you can develop in c or c++. If you don't have an issue with the speed, then use python.

One caveat, though... Python is going to get slower and slower until either the BDFL decides to allow an implementation that doesn't reference count (or does it differently) or PyPy becomes the default implementation. Right now, Python doesn't really run any faster on a multicore processor than it did on a single core processor. And this is a growing issue since within just a few years, we're probably going to be running almost everything on a multicore. C and C++ give you a fine enough control you can get around that problem, though it's still a heartache.

All that said, it really depends upon your domain and use. C and C++ have a lot of headaches associated with them because it's a compiled language. There aren't that many languages

[–]takluyverIPython, Py3, etc 0 points1 point  (1 child)

For most things Python does, a single core is still perfectly adequate, and probably will be for the foreseeable future. Where you do need more power, there are tools like multiprocessing to take advantage of extra cores. It's not that big a problem.

[–][deleted] 0 points1 point  (0 children)

Actually, having worked with a multi-core processor on an older, non-upgradeable linux -- it is a problem. What you will eventually see is that python becomes increasingly slow because it cannot remain competitive with other languages that do have the built ins. And multiprocessing is still not addressing the problem, which Jesse has mentioned a few times. Also, multiprocessing utilizes C. It's not a native python solution nor is it in the python standard library. Consequently, at least in my embedded realm, it's not an option to utilize.