Wednesday, July 25, 2007

Microsoft Research Faculty Summit

Last week I attended the Microsoft Research Faculty Summit. I was very pleasantly surprised. There was no Microsoft marketing, and the presentations were at a very high level, including a number of well known outside people. Attendees were all faculty, many from top Universities.

Starting next year they will be holding two biannual events: 2008 will be for new faculty; 2009 will be for tenured faculty. If you get a chance to go I recommend it. It's all expenses paid; a top class hotel; all meals (good food); and very nice treatment.

What struck me technically was the emphasis on multi-core and robotic computing. (Of course there was a lot of work on interactive and collaborative work. But that's not surprising.) What I also found interesting was the rebirth of functional programming. Apparently functional programming is going to be one of the favored approaches to dealing with multi-core computing. MS has its own functional programming language (F#). It's not as pure as HUGS, but it seems quite reasonable. They are doing a lot of work on it, including a very nice IDE. When I teach CS 332F (our functional programming class) I usually tell the students that they should understand functional programming because it forms the basis of programming language theory but they probably won't be writing many real functional programming applications. I think that's no longer true. As you probably know Ruby has a fair amount of functional programming features, and now that functional programming is undergoing a revival as a way to deal with multi-core programming, our students are more likely to be seeing it on their future jobs.

Another interesting development was the breadth of interest in computing in support of other disciplines -- like the new program Raj, Chengyu and I are writing up this summer. That seems to be going on throughout the country. Furthermore, Jeannette Wing (formerly Chair of CS at CMU and now head of the CS section of NSF) was on the opening panel and was pushing what she calls computational thinking. That's the idea that the concepts we in CS have developed are important and useful for everyone to learn. Here's a CMU web page (that still has her picture) that talks about it. It also links to an ACM Viewpoint column and some PPT presentations. Perhaps we should push to put Computational Thinking in the GE core!

1 comment:

Gaurang Jadia said...

I was surfing Internet and I found that there is Eclipse IDE to support development in functional programming languages Visit link for more: http://eclipsefp.sourceforge.net/