In this interview filmed during QCon London 2008, Ted Neward, author of "Effective Enterprise Java", talks about languages, statical, dynamical, objectual or functional. He dives into Java, C#, C++, Haskell, Scala, VB, and Lisp, to name some of them, comparing the benefits and disadvantages of using one or another.
Watch: Ted Neward on Present and Past Languages (47 min)
Community comments
Fantastic Talk!
by Kent Fenwick,
here's your currying for c#
by Stefan Wenig,
Re: here's your currying for c#
by Stefan Wenig,
currying not querying
by George Mauer,
Fantastic Talk!
by Kent Fenwick,
Your message is awaiting moderation. Thank you for participating in the discussion.
Totally agree with Ted on the subject on team communication. It is very easy to blame a language, framework or API for putting up barriers between passing information from author to user or from author to maintainer but the truth is that good communication trumps all of that! It doesn't matter how beautiful the code is... if you have bad communication you will not be able to successfully pass on knowledge.
I think what could have been said is that bad language design can highlight or amplify bad communication in a team, but the underlying issue is, and always will be with the people doing the writing. Spending five minutes with the author of a piece of code, library, framework or language can do more than 10 hours of books or googling.
Fantastic talk! Keep these coming. Thanks for such high quality (and entertaining) content!
here's your currying for c#
by Stefan Wenig,
Your message is awaiting moderation. Thank you for participating in the discussion.
public static Func<T1,Func><T2,TR>> Curry<T1,T2,TR> (this Func<T1,T2,TR> func)
{
return a1 => a2 => func (a1, a2);
}
Func<float,float,float> div = (a,b) => a/b;
var inv = div.Curry()(1);
Assert (0.5 == inv(2));
it's not as nice as in f#, but it's there. (Actually, only the Func<> syntax sucks, the body of Curry() hits it quite neatly. Functional programming in C# would look so much nicer with built-in syntax instead of Func<>)
still a very interesting interview!<><></float,float,float></t1,t2,tr></t1,t2,tr></t2,tr>
Re: here's your currying for c#
by Stefan Wenig,
Your message is awaiting moderation. Thank you for participating in the discussion.
oh, and I'm so glad the system provided all those closing tags for the generic arguments that I forgot ;-)
currying not querying
by George Mauer,
Your message is awaiting moderation. Thank you for participating in the discussion.
In your transcript:
For example, an important part of this would be functional querying
it should be "currying"