Posted Dec 8, 2005 22:02 UTC (Thu) by ncm
In reply to: lambda functions
Parent article: The Boost C++ Libraries
The point is not how pretty it is (although it's remarkable how well they've done), but rather that it was possible to do this entirely in the library. In practical terms, it means that Boost's lambda library makes advanced techniques available for use in an industrially useful language.
It's easy to build fancy features into the core of a toy language. It's hard to make a language powerful enough not to need fancy features coded in its core. In a very real sense, any directly-useful core-language feature that doesn't map to a machine instruction or two indicates a language design failure: the language isn't up to the job of letting a user express the feature using the primitives provided. In that sense, for example, LISP's CONS/CAR/CDR, not to mention the garbage collection they imply, indicate fundamental failures. Most languages taken seriously in academia repeat LISP's failures, which suffices to explain why they are not taken seriously in industry, and why there is *still* no credible alternative to C++ for industrial use.
If this sounds like an indictment of academic Computer Science, you read it right.
to post comments)