User: Password:
Subscribe / Log in / New account

lambda functions

lambda functions

Posted Dec 10, 2005 8:28 UTC (Sat) by ncm (subscriber, #165)
In reply to: lambda functions by dvdeug
Parent article: The Boost C++ Libraries

None of those scripting languages, nor "web languages", nor Visual Basic came from academia. For that matter, neither did FORTRAN or COBOL. Most have been reviled by academia, for generally good reasons. The various LISPs, Prologs, Haskell, the MLs, and suchlike have largely failed to escape academia, also for good reasons. Industry briefly flirted with Algol, Pascal, Ada, and their ilk, as well as Smalltalk, and then largely abandoned them, again for good reasons.

C++, in its original conception, supported one important new concept: the destructor. Languages conceived since have failed to adopt it, limiting the effectiveness of their exception handling, and the languages' industrial usefulness. (No, "finalize" doesn't help.)

Later additions, particularly templates in the form standardized by ISO, enabled STL, Boost, and a constellation of matrix- and signal-processing libraries that outperform languages specialized for the purpose. Only CAML has matched C++'s capability to define fast, powerful libraries, but often cannot be used industrially because of its limited support for resource management.

Object orientation has turned out not to be nearly so important as the '90s hype machine suggested. Languages designed to the hypesters' criteria have turned out peculiarly limited.

Why should academia care about industrial usefulness? Arguably, no reason; certainly academic art and literary criticism have precious little to do with actual art or literature. However, an academic who cares to avoid sterility and irrelevance must confront fundamentally hard, large real-world problems. Such problems are, by their nature, not limited to conveniently proscribed domains. Tools to address them must be equally well prepared for bit twiddling, lambda calculus, hard-core numerics, real-time hardware resource management, fancy data structures, and what-have-you. Academic CS department hostility to serious engineering needs leaves its graduates ill-prepared to contribute.

(Log in to post comments)

lambda functions

Posted Dec 10, 2005 8:46 UTC (Sat) by dvdeug (subscriber, #10998) [Link]

Most concepts embedded in C++ were originally developed in academic languages. It's not always about the languages academia developed; it's about how they influenced the languages that everyone uses.

Once again, your definition of industrial usefulness ignores most real-life problems. A huge number of computer people run servers; they may not touch a compiled language for years on end, but write and edit in scripting languages all day long. Or they may maintain websites or write Java games to be played on line, or program off-line games in Python, like Civ 4. Not every real life problem is to be tackled with C++.

lambda functions

Posted Dec 10, 2005 10:21 UTC (Sat) by ncm (subscriber, #165) [Link]

As I said, most problems are easy. Actually, most hard problems don't involve any coding whatsoever.

You don't learn much from solving the same easy problem over and over, or even from solving lots of easy problems. Hard problems teach deep lessons, if you can bring yourself to pay attention. A problem that was impossible to solve until you invented something new is more precious than any book.

Copyright © 2018, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds