Thank you for this great interview, i love watching this stuff. It would be interessting when microsoft starts using the new compiler on real world products like windows, office or the .net framework. Also it would be interessting how much faster the new code will run compared to the old code.
Oct 21, 2007 at 1:34 AMJohn Melville, MD wrote:
Actually, to be more correct a lambda does NOTHING to solve the concurrency problem. Functional languages solve concurrency by disallowing mutable state. Lambdas are just one of many techniques that you need to get real work done in the presence of that draconian restriction.
I see a looming disaster if programmers misunderstand the implications of "functional elements" in imperative programming languages.
That's exactly what i tried to say to charles (my english is not so good), thank you john. He missed this discussion in his last interviews when he was talking to Erik, Anders or Joe Duffy. Actually Joe Duffy was pointing at this problem when he wrote his "a(i)" function to the whiteboard - but it was only one short sentence.
Oct 19, 2007 at 11:52 PMThank you charles for your reply. I agree that all those nice features like lambda expressions in c# can help to write better code (and of course everyone should use it). But unfortunately a lambda expression alone does not solve the concurrency problem. Take a look at your interview with Anders Hejlsberg and Joe Duffy, even with ParallelFX a lambda expression is just a nice way to express what the programm should do. In fact it's just a delegate and the code that is executed is still the same as before (with all the concurreny problems).
Don't get me worng, i don't blame lambda expressions that they can't solve the concurreny problem - because they are not designed for it. Anders Hejlsberg said in his interview: "You still have to think" and that's the truth.
Oct 19, 2007 at 2:04 PMvery interessting interview (i really like erik). but i have to say some words to charles.
I think charles is in a mindset that functional programming is the way to go and all problems just fade away as soon as you write your code in ruby or F# and so on. I don't know what kind of programms charles is writing, but my experience as a professional developer is that "the old style" of programming is very appropriate for real world problems.
even in the world of multicore CPUs it's not that hard to use all those core for your programm. especially for web and database related software it's very easy. libraries like ParallelFX will help to write nice code. so i don't see that functional programming is the way how programms will be written in the future. (Of course there are some perfect exceptions but please don't nail me on that).