Wednesday, January 02, 2008

C# MVP & Polyglot Programmer

I got the news today that I've been voted Microsoft C# MVP for the second year in a row. This may come as a surprise to people who only know me through my speaking at Java conferences, or think of me as a Ruby militant. But at heart, I'm a language geek. I love computer languages (it was after all my specialization in college) and I try not to get too religious about technology (to varying degrees of success because I also tend to get excited about technology). At my core, though, I'm a language switch hitter. I think it's important in this day and age of polyglot programming to understand a variety of different languages, as they are the design tools we use to craft software. Just like regular engineers must understand the physical properties of different materials, we should understand the capabilities, strengths, and weaknesses of different languages. And when to apply them.

Being a consultant affords me lots of opportunities to use different languages for different projects. The next project I move too is likely going to be a C# project. My last few have been (in order) Java, Ruby on Rails x 3, .NET x 2, and Java. I firmly believe that you should be versed in lots of languages because knowing multiple languages also exposes you to different idioms. I think that the classic K&R book ( The C Programming Language by Brian W. Kernighan and Dennis M. Ritchie) was as much about the idioms of C programming as the language itself. And, of course, the Pragmatic Programmer admonishes developers to learn a new language every year. Dave Thomas has been very publicly learning Erlang over the last year or so (and taking lots of people with him). So, since it's new year's resolution time, what new language are you going to learn this year?

7 comments:

Khat said...

Python and German :-)

erik said...

I think I'm gonna cave in to all the Groovy hype and try to become dangerous with it this year.

Danno said...

Crap, I forgot that it is new language time. 2006 was Ruby, 2007 was Groovy, and yeesh, uh.....gotta think about it

Fausto said...

Hi Neal,
In this year i want to dedicate myself to learn SmallTalk.
Great article, i agree with you on the benefits of knowing a lot of languages and various paradigms...

Frederick Polgardy said...

2007 was Ruby and JavaScript. I'm thinking 2008 is going to be Erlang and Scheme.

Dave Hoover said...

Erlang for me in 2008. And planning to start a Polyglot Programmers User Group with Fred. :-)

Sadek said...

Haskell, and maybe Erlang...
Actuelly I love Lambdas :)