Posted Dec 13, 2005 22:26 UTC (Tue) by pimlott
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.
... in a limited, difficult to use, and unreliable form. But at least it makes C++ slightly less painful.
It's hard to make a language powerful enough not to need fancy features coded in its core.
You consider lambda a fancy feature, but you don't consider multiple inheritance or the rules for implicit type conversion and copy constructors and overloading fancy features? That's a skewed perspective.
any directly-useful core-language feature that doesn't map to a machine instruction or two indicates a language design failure
That's an arbitrary standard (especially as CONS, CAR, and CDR map to machine instructions on some processors). At most, it matters to a tiny fraction of programs. You already acknowledged that OCaml has performance on par with C++ despite not mapping directly to machine code (and despite many fewer people working on OCaml compilers).
.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.
Come on--this is an industry that is terrified by new ideas (unless they're old ideas reintroduced with some new buzzword). C++ owes its current status to momentum and widespread support, not to any intrinsic quality. Companies that have used "academic" languages for "industrial use" have been quite successful.
to post comments)