Chris Anderson has been learning Python via Jim Hugunin's excellent IronPython and came to the conclusion that Microsoft has been missing the boat in programming language trends. In his post The Hobbyist and the Script  he writes

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.

I've actually been quite upset by how many programming language camps Microsoft has neglected in its blind pursuit of competition with Java and the JVM. Besides the scripting language camps, there are significant customer camps we have neglected as well. We have neglected Visual Basic developers, we gave them a poor replacement in Visual Basic.NET which the market has rejected which can be gleaned by posts such as Chris Sells's pointing out that publishers don't want to VB.NET books and the Classic VB petition. We have neglected DHTML developers who have been building web sites and web applications against Internet Explorer, we don't even have a Javascript IDE let alone a story for people trying to build complex AJAX/DHTML applications like GMail or Google Maps.

The main problem is that Microsoft is good at competing but not good at caring for customers. The focus of the developer division at Microsoft is the .NET Framework and related technologies which is primarily a competitor to Java/JVM and related technologies. However when it comes to areas where there isn't a strong, single competitor that can be focused on (e.g. RAD development, scripting languages, web application development) we tend to flounder and stagnate. Eventually I'm sure customer pressure will get us of our butts, it's just unfortunate that we have to be forced to do these things instead of doing them right the first time around.

On a similar note, thank God for Firefox.


Thursday, May 19, 2005 5:14:31 PM (GMT Daylight Time, UTC+01:00)
Dare - can you make eventually come sooner, so I have a reason once again to actually use Microsoft development products.

Unfortunately, when you're an Ocean Liner you can afford to miss many boats. And that attitude has relegated Microsoft to a member of the pack instead of a front runner. Light some fires and good luck.
Thursday, May 19, 2005 7:12:43 PM (GMT Daylight Time, UTC+01:00)
What do you mean you don't have an IDE for JavaScript? Microsoft has had a standalone JavasScript debugger[1] since day one. Not to mention the Visual Studio integrated debugger which, IMHO, quite simply beats the crap out of any other JavaScript debugger out there. Not to mention Microsoft's debuggers work not only on web browser script, but anything that uses the ActiveScripting architecture (ASP, WSH, third party hosts, etc.).

JavaScript is a truly underrated language. I think it just got this bad name by being so tightly tied to the manipulating the browser originally. It's so much more powerful than what most people use it for. I'd say it's pretty much on par with what Python is capable of and the upside of it is it's built into every machine where the .NET framework is deployed.


Thursday, May 19, 2005 7:37:43 PM (GMT Daylight Time, UTC+01:00)
I wonder if this is a sign of MS getting "disrupted". Are MS's core customers driving this emphasis on competing with Java?

Thursday, May 19, 2005 7:53:18 PM (GMT Daylight Time, UTC+01:00)
Dare - thanks for a great post, I think you've hit the nail right exactly 100% square on the head.

I just want you to know that my estimation of Microsoft and it's people goes up 10-fold when I hear honest and frank talk like that: A thinking man's Scoble... ;-)

I also think that some recent MS things (DSL/Modeling, Avalon, PAG) and the like are more than just competition battlefronts though, i.e. smart people coming at it from an ideas stand point rather than just market cap or wrestling a big known enemy. Ironically it's how these things survive the productization/revrec mangle that will be telling. I hope the ideas/innovation make it through the filters. Being from the product side of dev I know how hard it is to keep something new and small alive long enough to survive a business plan.

- David
Thursday, May 19, 2005 8:02:08 PM (GMT Daylight Time, UTC+01:00)
Dare, what you've described is exactly how a monopoly works. Microsoft is very good at competing and crushing (most) competition, but once they've achieve monopoly status in a particular field, then they just totally stop all meaningful work in that area because there is no need anymore. Unless it generates profits or destroys competitors, then Microsoft doesn't really care.
Thursday, May 19, 2005 8:10:28 PM (GMT Daylight Time, UTC+01:00)
The last line of your article would surely be quoted in many rants against Microsoft that's for sure :-)
Thursday, May 19, 2005 8:34:58 PM (GMT Daylight Time, UTC+01:00)
Drew, Is a debugger really an IDE?

Carlos, I don't think it's a case of monopolistic behavior. I think Microsot's tunnel vision comes from being so LARGE. They are the patient zero of "Not invented here" syndrome.
Thursday, May 19, 2005 9:10:44 PM (GMT Daylight Time, UTC+01:00)
Microsoft is absolutely getting destroyed by LAMP in the small to mid markets. LAMP is more accessible and easily suitable for 90% of the projects that anyone really needs to do. And solutions can be deployed inexpensively on virtually any hosting provider.
Friday, May 20, 2005 4:56:25 PM (GMT Daylight Time, UTC+01:00)
A telling and courageous post, especially coming from the developer of one of the very few serious client-side .NET apps out there. The Zeepe crew salute you :-)
Friday, May 20, 2005 9:56:27 PM (GMT Daylight Time, UTC+01:00)

Well, to quote myself from comments that have ensued from a related post over at my weblog:

"Yeah, but the simple script debugger IDE had code colorization and allowed you to manage your scripts. That's the old/simple version. Visual IntDev obviously offered more (browser and ASP intellisense)."


"How do you define IDE? In 1996 what else was there to do with JavaScript except color it and debug it? Intellisense was just coming on the scene and if you want to say Script Debugger wasn't an IDE, then how about InterDev?"

Saturday, May 21, 2005 7:27:59 PM (GMT Daylight Time, UTC+01:00)
"The focus of the developer division at Microsoft is the .NET Framework and related technologies which is primarily a competitor to Java/JVM and related technologies."

I find it pretty distasteful that another MS employee would be spreading FUD and ignorance about other groups inside MS. Maybe you had a sour experience or something, but this statement is certainly not even close to being true. Yes there are employees who are concerned quite a bit with Java--although I admit I've been extremely surprised how few people 'round here have even worked with it--but making such a broad statement like this is just completely and undeniably untrue.

"Eventually I'm sure customer pressure will get us of our butts, it's just unfortunate that we have to be forced to do these things instead of doing them right the first time around."

Hmm. What else is supposed to motivate us? Let's see... why to build a product... Well, I can think of one good reason. Customers.
Tuesday, May 24, 2005 11:27:15 PM (GMT Daylight Time, UTC+01:00)
As a casual programmer, I do not have years of my life to drain away so I can learn one of those "real" programming languages that all the so-called "real programmers" work in. That is why it is doubly tragic that M$ has abandoned Classic VB. It was easy to use, it was fast & it got the job done.

I am amazed at the number of .Net apologists defending M$. Don't they realize that when M$ doesn't need .Net anymore, they'll just drop it like a hot potato? Of course, these same apologists will convince themselves, just as they convince themselves now, of how wrong they are & how brilliant M$ truly is.

My only regret during this entire fiasco was that I missed out on the opportunity of downloading a free standard edition license for RealBasic 5.5.5. Oh well... Onto the next language...
Wednesday, May 25, 2005 11:50:13 PM (GMT Daylight Time, UTC+01:00)
"My only regret during this entire fiasco was that I missed out on the opportunity of downloading a free standard edition license for RealBasic 5.5.5. Oh well..."

Save the regrets for those who actually paid for it over the years.

Thursday, July 28, 2005 1:50:46 AM (GMT Daylight Time, UTC+01:00)

The July 2001 Issue of VisualBasic Developer has an article (see link below) that below explains how DOT-NET Really Works. If you read this, you will understand that all DOT-NET Applications actually compile into Assemblies. And these "Assemblies" are actually compiled into "Microsoft Intermediate Language" a.k.a. MSIL. In other words, "Tokens" so this actually INTERPRETED BASIC (or "C-Sharp" or whatever), just like it was back in the old DOS Days. This is NOT progress! Also, a "Native Compiled" VisualBasic Application (any version) runs native machine code, so it's going to be a lot faster than DOT-NET.

Guess what: Since DOT-NET Requires the run-time library, along with a bunch of other things, in the final analysis, DOT-NET is really an INTERPRETED-ONLY version of VB6, with a bunch of Classes added and a compiler that adds standard classes to the project when you "Import" them.

The main (dis)advantage to DOT-NET is that, instead of executing actual machine code, applications call all functions through the Byte Code Interpreter - a.k.a. MSIL, and this allows Microsoft to track the program flow behind the scenes - and Log your actual program logic. (That's one of their advertising points - that all calls are Logged.) Looks to me that you might just as well give them your source code too! The only one who really benefits is Microsoft - especially with their back doors into your system.

Am I moving to DOT-NET? Absolutely not! And I'm not about to spend thousands on a "new" compiler and libraries either! There is nothing in DOT-NET that I cannot do with Classes.

The Bottom Line: As long as Developers don't port their applications to DOT-NET, it will never become a standard and any new Microsoft OS that does not support the needs of the Developers will have no applications - except the ones Microsoft writes. No applications means no business. We Developers define what is "Standard" - not Microsoft.

I was one of the lucky ones - Got my Free Standard Edition of Realbasic on the day before the offer expired. Also, has anyone tried Phoenix Object Basic? It's much like VisualBasic 4.0 and the rest we can do with DLLs.

Gregg (A security developer)

Gregg Morrison
Friday, November 11, 2005 7:48:05 AM (GMT Standard Time, UTC+00:00)
Hi guys,

I am just new here and listening to your discussions. I think the last comment made by Gregg is very practical. In the end of it all, FUNCTIONALITY wins.
Comments are closed.