Wes talked about hobbyist
developers last month... With the work I've been doing (ok, not work, but play)
on Python and Avalon, I've really come to the conclusion that Microsoft is missing
the boat around dynamic languages and scripting in general. I have been a huge advocate
of strongly typed languages, and not confusing scripting with a real application development
platform.
Scripting is great for glue code - the same thing that VB1 and 2 used to be great
at. VB3 started to get into the serious app development with rich data integration,
and VB4 brought us into the 32-bit era, and in a way back to glue code. VB4's embracing
ActiveX controls gave VB developers an entirely new place to play. I remember working
on an application using a beta of VB5 and writing my "hard core code" in MFC ActiveX
controls. After a while I started writing more and more of the code in VB, because
it worked and wasn't the bottle neck in anyway for the application.
I think that scripting and many dynamic languages are in the same camp. They are great
for small applications and writing glue code. Look at Google Maps, the real processing
is on the server, and the client side AJAX is just the glue between the user, the
browser, and the backend server. I would argue that something more beefy like Outlook
Web Access (a Microsoft AJAX application, writen before AJAX was the name) demonstrates
more of the limitations of writing the majority of your client interface in script.
Regardless of the limitations, our singular focus on strongly typed compiled languages
has blinded us to the amazing productivity and approachability of dynamic scripting
langauges like Python and Ruby. I'm super excited that we are changing this. Hiring Jim
Hugunin is a great start. I hope we continue this, and really look to add a strong
dynamic language and scripting story to our developer portfolio.