On 10/26/07, Darren New <[EMAIL PROTECTED]> wrote: (snip) > In truth, you can look at something like Haskell (theoretically) as > computing a giant formula that is valid for any input and tells you what > the associated output is, before it ever sees any of the input. Then, > when you're all done evaluating that function, you give it a specific > input and the result is a specific output. > > It always seemed to me that would be a great model for a transactional > system, like a web app that takes HTTP POST as input and results in a > list of SQL statements and HTML output to be returned.
Your comment stimulated a fuzzy memory from the Lang.NET 2006 Symposium. One of the presenters proposed--hope I get this right--that server-side web development would be better done with functional languages. His sales pitch was that it was easier to manage state where the result of a web request was a continuation that would pick up again upon the next request from that same user. The code would be smaller, cleaner and easier to read and debug. I think it must have been "Shriram Krishnamurthi" on this page: http://www.langnetsymposium.com/speakers.asp There is a link to his video. Also, I enjoyed Don Syme's presentation on F#, same page. I'm still an imperative/OO man, but some of the FP examples have been impressive and I'm fairly convinced that there are typically fewer bugs for algorithmic/formulaic type problems when coded up in an FP. I have concerns about speed in FP, however, and I see more problems that can be more easily cast as OO than FP. Nouns are classes, verbs are methods, adjectives are properties. It's how I think now. And with contracts and unit tests I can get the quality I require. But I could be overly biased towards OO... Regarding current LISP usage, the Yahoo turn-key merchant system was developed in LISP (by a startup that Yahoo bought). Also, all the products at www.irobot.com are done in LISP, primarily because Rodney Brooks and his grad students formed it. Note that I'm not claiming it's popular or that I would use it for day-to-day work. Regarding someone's request for an objective proof, I find such requests are synonymous with "I will never believe you." And what do we have objective proofs for? Is there one that says OO is better than plain old procedural code? Is there an objective proof that unit testing is good thing? I think objective proofs are much more scarce than good ideas. -Chuck -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
