std.utest, the complementary unit testing framework
Next

Speed

I might be hallucinating, but it seems that there's a good chance that recent dynamic languages like Python, Perl and Ruby are on the verge to become a great deal faster. Apart from, say, Psyco, the efforts mostly remain vapourware, but people with brains the size of a small planet are serious about this stuff, and, you've got to admit, a small dose of additional speed for Python programs wouldn't hurt. This is not to say that the current situation is intolerable; Python's been doing fine for well over ten years now. It's just that it's somewhat inconvenient to drop back to C/C++/Java for performance bottlenecks.

Languages like Lisp, Smalltalk and Self are mostly over this hurdle already. They've been optimized by the power of academic interest and really smart people [pdf]. One might ask that why don't I just switch to some of these languages, and to tell you the truth, I don't have a perfect answer for that. It's just that I've already learned Python, and I'm really comfortable with it, and I'm not, right now, willing to invest time to become acquinted with some other language. Learning the language is not the hard part; the hard part is to learn to make real programs with the language. With languages like Java or PHP, it's really rather easy to learn the language and to learn how to make real programs with them. Past some point it might be laborous and difficult to make programs with Java or PHP, but that's not what counts at first. (Sure, of course, it should count.)

Well, anyway. It's things like Psyco, Parrot (and its JIT), pycore, Starkiller, a general purpose Just-In-Time library, IronPython, and, yes, even PyPy (which at its current stage is not what you would call fast) that bring hope to speed addicts. I'm not really qualified to judge any of the projects, but I would guess that if it was (and is) possible to substantially speed up Lisp, Smalltalk etc. in the past, why wouldn't it be possible to speed up Python. It just needs a handful of geniuses and a lot of work. I wish them all motivation and resources to finish their respective projects.

(There's also the slim chance that the different people working on such projects could collaborate, but I really don't know if that would be useful.)

[1 comment]

Filed under:

Comments: