Fabulous Adventures In Coding

Eric Lippert's Blog

Top Minds Are Working On It

Mike Schinkel writes a long, rambling blog about a long, rambling conversation we had regarding VBScript, novice programmers and .NET

I don't have time to respond at length today, but I wanted to make a couple quick points.

First, as Peter noted in a comment to my entry the other day, I made the rhetorical mistake of conflating "Mort" with "Matt".  Matt is the “knowledge worker” developer who produces personal productivity applications in order to get his "real" job done.  Mort is also a line-of-business programmer, but Mort's job title has "Developer" or "Programmer" in it somewhere.  Much of Mike's article is about tools for the Matts of the world, not so much the Morts. 

I've decided that for the purposes of my blog, these whimsical names create more confusion than they prevent -- I'm going to eschew using them from now on.

Second, I absolutely 100% agree that there is way, way more we can do for knowledge workers, LOB developers and novice programmers in the tools space -- both in terms of the "framing" user interface (the menus,   windows, buttons, panels,…) and language design.  My team in particular is thinking very hard about these issues.  I can't talk much about our ideas at this time, but if you guys have suggestions, I'm happy to hear them, and a big thanks to Mike for bringing up his ideas. 

And Mike has good ideas -- of course, I only say that because I proposed most of them to the VB.NET team years ago. :-)  Back then I spent a lot of time working with the VB .NET language designers to see if these ideas from VBScript would work in VB .NET, thereby giving VB .NET a better backwards compatibility story with VBScript.

Regrettably, by and large, they don't.  (I may go into details in future blogs as to some of the crazy ideas we had for making VBScript work in the .NET world.) Based on that experience, I absolutely 100% disagree that fracturing VB into a FOURTH variant -- VB6, VBScript, VB.NET and the proposed VBScript.NET -- is a good way to achieve the laudable goal of lessening the VB learning curve.  We can improve VB without fracturing it into yet another variant. 

However, I'm not the person to ask about that -- if you want to know what's happening in VB land, well, top minds are working on it.  Talk to Paul, he's your man.

 

Published Thursday, March 11, 2004 5:31 PM by Eric Lippert
Filed under: ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

Tarjei T. Jensen said:

Bunching the documentation would help a lot. I really hate the way documentation is organized on microsoft sites. No nice pdf files to print.

It is extremely annoying when you have to print the documentation one page at a time. And you have to search for documentation under several versions of the product.


greetings,

March 12, 2004 12:57 AM
 

Tarjei T. Jensen said:

Having thought a bit more on this, my conclusion is not that I want more language features. I want more ability. I want to be able to do more, not have more interesting ways of doing what can be done now.

It may be that being a system administrator skews my point of view, but those are my needs.


greetings,

March 13, 2004 5:09 AM
 

Alex Angelopoulos said:

Eric, could you go into a little more detail about this point: " I absolutely 100% disagree that fracturing VB into a FOURTH variant -- VB6, VBScript, VB.NET and the proposed VBScript.NET -- is a good way to achieve the laudable goal of lessening the VB learning curve."
My initial reaction to that was to disagree, but reading what you said carefully, there are some very complex topics wrapped up in that one sentence. Do you mean you think there is no role for a language which uses the same VB-style language core but behaves in a more scripty way?
March 14, 2004 8:54 AM
 

Eric Lippert said:

> Do you mean you think there is no role for a language which uses the same VB-style language core but behaves in a more scripty way?

No, that's not what I mean. I mean that yes, that sounds great, but the way to get there is not to create another language that is 99% like VB.NET. If that's what we want to do then lets add features to VB.NET that make it more like what we want.

VB.NET already is somewhat scripty, if you turn off Option Strict and Option Explicit. It's got a bunch of features that are not very scripty. Like, if you have a file that just says

Console.WriteLine("Hello world")

it sure would be nice if it would figure out that it ought to wrap that thing up in a class and create a Main method for you. JScript .NET does that.
March 15, 2004 5:30 PM
 

Tarjei T. Jensen said:

If VB.NET is scripty, what is the point of creating VBS.NET?

Would it not be better to just add a few tools to the development so that those who don't know much can create working programs. E.g. adding a class and creat the Main method.

greetings,

March 16, 2004 5:58 AM
 

Panopticon Central said:

An interesting equation.
March 19, 2004 9:41 PM
 

Mike Schinkel said:

March 19, 2004 9:17 PM
 

Peter Torr said:

One can always hack together the basics of "VBScript .NET" using the ICodeCompiler interfaces. Wrap the "Hello World" with a Module and a Sub (and maybe some Imports and some custom library functions) and then execute it. Far from fool proof, but it would work for simple things.
March 20, 2004 12:22 PM
 

Mike Schinkel said:

Peter, this I don't know: with ICodeCompiler can one modify the parser too? For example could I create my own simple datatypes and have it recognize them, for example a "Number" and have it convert to my own special datatype behind the scenes? (I *wish* I had time to actually try to build a "VBScript.NET" but I unfortunately have to make sure I run the business to ensure the revenues are there to cover payroll every month! :)
March 20, 2004 8:02 PM
 

Peter Torr said:

No, you can't, but you can do some simple Regex replacements for :s/Number/Double/g before passing off to the compiler. Obviously you want to be a bit smarter than that in case the user has "Number" inside a string... but you get the idea.

Anything you do will be pretty fragile, but if you only have some limited scenarios then it might work for you.
March 21, 2004 12:43 PM
 

James Hugard said:

So after many years of frustration and dispair, I finally installed QBasic on my kids computer. Know what? He took the first program we developed together (solving quadratic equations for his homework) and modified it mostly himself (!) to solve for a later homework assignment.

That's a lot more than he has done with: Smalltalk (Squeak), JScript & notepad, Logo, DarkBasic, and a few others we have started on over the years.

Pains me, though, because I see JScript as far far superior a teaching language than Basic.

But, nowhere can I find it (or anything similar) hosted in a qbasic/turbo-pascal/quick-c like IDE: simple, self contained, concise help, useful object-set like turtlegraphics, turtle3d, or even a graph window. I can't imaging sticking him in front of Dev Studio.NET and turning him loose.

I keep threatening to write my own using JScript.NET or Rhino/Java, but with all the spare time I have my kid will be out of high school before I am done.

March 26, 2004 2:22 PM
 

Karl's .Net Blog said:

April 5, 2004 1:09 PM
 

M. said:

I teach a Windows network administration scripting course to about 1500 admins and auditors each year. I've been using VBScript all along mainly because it's a good transition language to VBA/VB.NET (and I thought maybe a VBScript.NET would eventually come out) but I will likely switch the courseware to ActiveState's Win32 Perl instead.

It seems like MS is going to let VBScript die a slow death and I'm doing a disservice to my students by making them invest their time in it. I think MS should definitively state its intentions for the future of VBScript on the Script Center website and perhaps start doing all of its example administration and ResKit scripts in JScript (or Perl) instead so as not to trick new scripters into wasting their time.

It's too bad, I still think VBScript is easy to teach and a gentle intro to VBA/VB.NET, but if the language isn't going anywhere, then I have to look out for my students' long-term interests. Perl looks like it will become the de facto cross-platform administration language (if it isn't already) and there's a gigantic and solid community of support behind it (whereaas MS seems to just abandon its user base sometimes).

If I'm wrong here about VBScript's future, then please tell me otherwise. Thanks for being straightforward and honest in this blog.

April 8, 2004 5:35 PM
 

Fabulous Adventures In Coding said:

August 12, 2004 11:32 AM
 

Panopticon Central said:

An interesting equation.
May 8, 2006 3:33 PM
 

Mike Schinkel's Miscellaneous Ramblings said:

A long rambling rant about why Microsoft's Developer Division is failing to meet

December 29, 2006 2:14 AM
 

Mike Schinkel's Miscellaneous Ramblings said:

Clarifying my Microsoft Developer Division rant from the other day by responding

December 31, 2006 9:40 AM
 

Clarifying my Microsoft Developer Division Rant | MikeSchinkel.com said:

June 15, 2008 4:53 PM

Leave a Comment

(required) 
(optional)
(required) 
Submit

About Eric Lippert

Eric Lippert is a senior developer on the Microsoft C# compiler team. Before that he worked on the framework of Visual Studio Tools For Office. Before that, he worked on the compilers, runtimes and tools for VBScript, JScript, Windows Script Host and other Microsoft Scripting technologies. He lives in Seattle and spends his free time editing books about programming languages, playing the piano, and trying to keep his tiny sailboat upright in Puget Sound.

This Blog

Syndication


© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker