Posted By: Charles | Oct 6th, 2008 @ 6:27 AM | 79,290 Views | 19 Comments
This is the second year I've been lucky enough to take part in the cross-platform software engineering conference JAOO. Like last year, I was very fortunate to get to sit down with a few key players in the programming languages design field and watch several technical presentations that span the industry and problems we face as software developers. One of the truly great things about JAOO is that it is not a product-focused conference: it's about programming first and foremost and enables the sharing of perspectives and ideas among the world's best and brightest programming minds. As you can imagine, I, like many technical types here at Microsoft, am a huge fan of JAOO. Thank you Trifork!!!

In this conversation Microsoft Technical Fellow and Chief Architect of C# Anders Hejlsberg sits down with programming language design legend and computer scientist Guy Steele (creator of Scheme and expert in several languages ranging from LISP to Java). I think Guy is one of the smartest people I've ever met.

The topic of conversation is the elephant in the modern general purpose programmer's living room: Concurrency. With today's widely-used general purpose languages like C++, Java, C#, VB, Ruby etc it's hard to express parallelism in productive ways. Anders et al are working on both language enhancements to C# and VB.NET and BCL support (Parallel Extensions to .NET for example). Today, Guy is working on a mathematical language (domain specific as opposed to general purpose) and runtime, Fortress, that is so concurrent it makes it hard for programmers to even write sequential code!

Listen in to two of the programming industry's most successful thinkers and get a sense of their perspectives on the future of general purpose programming languages now that Concurrency and Parallelism are entering the development status quo.

Enjoy. More JAOO coverage to come. You can watch Anders' keynote on language futures here.
Rating:
3
0
vesuvius
vesuvius
The Curious Incident of the Dog in the Night-time
October seems set to be a month where my download manager is abused by Channel 9, starting with JAOO and ending up at PDC.

What a way to begin!
Chadk
Chadk
excuse me - do you has a flavor?
Awesome, Jaoo content! Big Smile

I'm wondering about their titles. What lies behind "Technical fellow"? I thought that was a joke.
Charles, you rule like usual. I can't WAIT to watch this video. JAOO and OOPSLA are two of the conferences I'm determined to make it to some time. I love anytime these videos start coming out Smiley.

Awesome! Can't get enough of the videos featuring Anders, they're always thought provoking and insightful and right now are the perfect distraction from grim market news stories.

stevo_
stevo_
Human after all
Great video.
OH WOW!  IT'S GLS!!!

Guy Steele was my comparative languages professor back at CMU, he was hands down one of the best teachers I've ever had.

The man's simply amazing.
Without a doubt it's very exciting to focus on the end goal of shiny new languages and functionally 'pure' (or at least side-effect annotated) frameworks but over the next 5 years I'd really like to see Microsoft et al spend some of their community education budget on giving direction as to how we should transition our existing deeply object-orientated architectures to prepare for all this. How do we find that sweet spot of being more explicit about mutation without totally giving up on encapsulation. Should we start annotating mutations? Surely Microsoft should provide those annotation definitions so we can use a common standard. Will we get short term tool / framework / runtime changes to support the transition and not just the rewrite scenario.

Don't get me wrong, I'm not being anti-change here, but any pitch to management about adopting this stuff needs to include a technically strong discussion of how architectures can be changed over time in such a way that they don't immediately and severely impinge on developer productivity. There is clearly more to the problem than just 'pepper your code with LINQ query statements' (I'm being deliberately provocative, not as an attempt to troll but because I think this part of the story is currently missing.)
Microsoft Communities