On Jan 20, 2009, at 7:35 PM, wren ng thornton wrote:

Jim Burton wrote:
Hi, I will be a TA on a comparative PL course and I'm looking for
small examples (ammunition) which motivate the use of Haskell and
functional programming generally. The course is for 1st year Software
Engineers, none of whom are likely to have used a functional
language. They will all have experience programming Java and a little
C++, with a few of them knowing Python, Ruby, PHP etc etc too.

It's getting to be something of an old hat these days, but one of the most powerful selling points I've seen for purity (and strong types) is QuickCheck (and SmallCheck, LazySmallCheck,...). This entire paradigm of testing makes writing tests trivial and can only work right for pure functions.

I don't know if your students are just students or if they have some real software engineering experience, but anyone who's hacked on Perl, Python, Ruby, Java, or C++ enough to earn the title would be immensely impressed by how purity eases debugging.

I second this! For all of the wonderful benefits Haskell has, this is the one I miss most when programming in another language.

For an example of how hard it is to accomplish something like this in Java, check out JCrasher: http://ranger.uta.edu/~csallner/jcrasher/. Much less powerful, and much more work.

Aaron
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to