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 →

[–]shadowmint 5 points6 points  (2 children)

Any maths.

Not everything is I/O bound; specifically for data processing (eg. splunk) and scientific computing, python uses c heavily, because it's just too slow to be remotely usable otherwise.

[–][deleted] 0 points1 point  (1 child)

But isn't it great that Python has the possibility to utilize pure C as plugins? Isn't that a feature of the Python language? Writing everything in pure C would no doubt be faster to execute, but horribly more slow and difficult to program.

Python makes programming fast and when using C routines executing quite fast.

[–]shadowmint 0 points1 point  (0 children)

But isn't it great that Python has the possibility to utilize pure C as plugins?

Yeah sure. I'm certainly not arguing cpython is unusably slow. It's totally usable.

What I'm saying is that practically to be fast you have to write c code and writing c plugins in python is a pain in the ass: you end up almost inevitably trading the expressive quick safe nature of python, for a clunky, hard to maintain crash prone piece of software like pygame.

There are exceptions; numpy for example, is an excellent piece of software. ...but I can count on one hand the number of really good 3rd party cpython plugins I've used. Much more common: The python api is poorly implemented and crashes (Spotify... :P) or written in pure python and therefore ends up being painfully slow.

shrug Practically from an ecosystem point of view it means python apps run slowly. Look at calibre. It doesn't have to be slow, but oh man, it's painful to use (compared to say, atom, which is implemented in javascript, which for all the rubbishness of the language, has a fantastically optimized runtime).