RE: "intentional language" Re: POL: Reaction to Microsoft Ruling

From: Billy Brown (
Date: Mon Apr 17 2000 - 18:16:37 MDT

Mike Linksvayer wrote:
> Billy Brown wrote:
> > If you value rapid
> > improvement, use VB or another 4GL on Windows (or wait for MS's new
> > Intentional language, but that's another story).
> I want to know the story. I can't find any mention of "intentional
> language" on Microsoft's web sites or anywhere else relevant.

What Charles Simonyi calls "Intentional Programming" started out as a
research project at Microsoft Research in the early 90s. Unfortunately the
section on the MS Research site ( seems
to have been taken down a few weeks ago, but there are still two papers
online that explain the concept:

MS apparently made the decision to build a commercial software development
tool based on this research in late '99, so the research group moved over to
production and started hiring more staff. They don't seem to have anything
on the Ms web site yet, as you noted (and I'm sure the marketing guys will
come up with a better name for it before it is released).

This is a very ambitious project, and it may or may not succeed. But if it
does, the result will be a revolution in programming practice comparable to
the invention of the compiler.

> > There are several
> > major revolutions in application development coming down the road, and I
> > don't want to have to wait another 2-5 years for all the pieces to come
> > together.
> If you're so inclined, I'm interested seeing your list of
> coming revolutions.

Sure. Here are the big ones I see in the near future:

Language-Neutral Components
Technologies like COM and CORBA largely solve the packaging problems that
made re-use of OOP objects so difficult, while simultaneously allowing
programmers working in different languages to share the same building
blocks. They also significantly reduce the complexity of building large,
distributed applications by providing a much more effective form of
encapsulation than has been possible in the past. The change from monolithic
applications to component-based apps is already underway, but it will
probably take a decade or more to fully run its course.

Distributed Application Services
Systems like COM+ (and possibly future versions of EJB) make it practical to
actually build distributed, scaleable applications instead of just talking
about it. This will have lots of minor effects on the way programming is
done, but the big effect is simply a vast expansion in the effective
computer power available for microcomputer applications. Within a few years
it will cheap and easy to spread an app across hundreds of PC servers, and
the reliability will actually end up being higher than that of a mainframe.

Intentional Programming
I've already talked about this one a bit. If it works out, we get a big jump
in our ability to deal with high-complexity programming. If not, oh well.

High-Level Application Design
Combining the first two items above gives you a world where code re-use is
only slightly painful and most companies have far more computing power than
they need. That means it will finally be possible to raise the level of
abstraction used in business software. We can build generalized applications
in which things like SQL statements, data validation requirements, business
logic rules and even screen layouts are data, rather than hard-coding them
the way we do now. The performance will be slower than the current approach
(by a factor of ~2-3), but the effort required to build a typical business
app could easily be reduced by an order of magnitude with a good app

Those are the big ones I feel most confident of. XML might reach a similar
level of impact, if everyone actually does standardize on it for e-commerce
transactions, but I wouldn't want to defend the idea. That problem is much
harder than it looks, and others have tried the same tactic before without

Billy Brown

This archive was generated by hypermail 2b29 : Thu Jul 27 2000 - 14:09:27 MDT