OFF-TOPIC:: Why Lisp is not my favorite programming language

Roger Binns rogerb at rogerbinns.com
Tue Mar 23 00:58:16 CET 2004


> ludicurous. However when some one says that the code might be 31.?
> times slower as compared to C, kinda of scares me. Could assert such
> figures. I know speed is not the one and only goal but just wondering
> if these figures are correct.

It will depend on what you are doing.  Every language has a sweet spot
and/or data structures that it is very efficient at.  For most, much
of the runtime library is implemented in C, and so the only difference
between the languages is how many instructions it takes to go from
the language into the C library.  There are also pathological examples
of poor performance in all languages.

The thing you should look at most is programmer productivity. Consider
the following two scenarios:

 - Product A is developed in 6 months, 6 months is spent testing etc
   and then shipped/used for 6 months.

 - Product B is developed in 18 months, with minimal testing time.

If the products are identical in function, but product A is a quarter
of the speed of product B, which would you prefer?  Don't forget that in
18 months the speed of the average computer doubles.

Even though A is slower, you will have been getting results for
more than 6 months before B is ready.

It is also a fallacy that you have to use one language.  You
can normally fairly easily run multiple languages in the same
process by embedding interpretters and/or providing extension
libraries.

The answer is pick the best tool for the job, and in most cases
programmer productivity is of great importance.  You can try and
optimise program resources (memory, cpu) early on, but it usually
isn't worth it.  You can work on them later (by coding extensions
in a lower level language), or buy more hardware with the money
and time you have saved by getting something working sooner.

Roger





More information about the Python-list mailing list