Saturday, May 13, 2006


Very High Performance Programs

The SmartEiffel wiki discusses Eiffel and Very High Performance Programs:
Eiffel is a beautiful method and language, based on strong and elegant principles. But, what interest (except intellectual pleasure) would you have in using a wonderful language with poor performance for writing your programs?
The SmartEiffel team have always been proud of how well SmartEiffel performs on the Computer Language Shootout benchmarks, and state that they...
...have many ideas for improving generated code ... The main areas for improvement are generated code for dynamic linking, flow analysis and [the] garbage collector.
They dismiss concerns about "lines of code" counts:
In Eiffel ... expressivity is in the power of concepts. For example multiple inheritance and genericity are very powerful concepts, as are static type and dynamic type. This means that properly designed programs will be made with small code, this is global code compactness. On the other hand, there is no local code compactness. The Eiffel spirit is to make your code as legible as possible, because it is written once but is read many, many times...
I couldn't agree more that Eiffel should be a readable language, but I do wonder sometimes how to reconcile SmartEiffel's "smiley operators" ("?:=" and "::=") with this ideal.

If you need such high performance, wouldn't you use C or Fortran rather than Eiffel?
Are highly efficient and well structured mutually exclusive? I believe SmartEiffel shows this is not necessarily the case. I think C is useful when you need something closer to the hardware and you still need some portability (or you don't want to learn assembly).
Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?