The A-Z of Programming Languages: C#

Microsoft's Anders Hejlsberg reveals the history behind one of the most common programming languages, C#, and what the future holds for C#4.0.

1 2 3 Page 3
Page 3 of 3

Do you have any idea when that release will be coming out?

I don't think we're saying officially now, but we're on a cadence of shipping every two years or so, or at least that's what we hope to do. So 2010 sometime hopefully... there's a set of features that we're working on there that we're actually going to talk about at the PDC (Professional Developers Conference) at the end of October. We're giving some of the first presentations on what we're doing.

Where do you think programming languages will be heading in the future, particularly in the next 5 to 20 years?

I've been doing this now for 25 or almost 30 years, and I remember some early interviews that I gave after Turbo Pascal became very popular. People would always ask me where programming will be in 20 or so years (this is 1983 if you go back.) Of course, back then, the first thing out of one's mouth was well 'maybe we won't even be programming at all and maybe we'll actually just be telling computers what to do. If we're doing any programming at all it's likely to be visual and we'll just be moving around software ICs and drawing lines and boxes'.

Lo and behold here we are 25 years later. We're still programming in text and the programs look almost the same as they did 25 years ago. Yep, we've made a little bit of progress but it's a lot slower than everyone expected.

I'm going to be very cautious and not predict that we're going to be telling computers what to do, but that it will look a lot like it does today, but that we're going to be more productive, it's hopefully going to be more succinct, we're going to be able to say more with less code and we can be more declarative. We will hopefully have found good programming models for concurrency as that does seem to be an unavoidable trend.

Honestly, it's anyone's guess what it's going to look like in the next 20 years, but certainly in the next 5 years those are the things that are going to be keeping us busy.

And do you have any advice for up-and-coming programmers? I think it's important to try to master the different paradigms of programs that are out there. The obvious object oriented programming is hopefully something that you will be taught in school. Hopefully school will also teach you functional programming, if not, that is a good thing to go look at.

Go look at dynamic languages and meta-programming: those are really interesting concepts. Once you get an understanding of these different kinds of programming and the philosophies that underlie them, you can get a much more coherent picture of what's going on and the different styles of programming that might be more appropriate for you with what you're doing right now.

Anyone programming today should check out functional programming and meta-programming as they are very important trends going forward.

This story, "The A-Z of Programming Languages: C#" was originally published by CIO Australia.

Copyright © 2008 IDG Communications, Inc.

1 2 3 Page 3
Page 3 of 3
7 secrets of successful remote IT teams