« Missing the Inflection Point | Main | No Language Lower than C++ »

June 23, 2004



The Reflector presentation (which is not about Reflector) you are mentioning is online for almost 3 years - you just discovered it last week. I had a conversation with Lutz once a few years ago and the guy is amazing. He can draw roadmaps 10 years out in the future and next tells you in all detail why these roadmaps will fail.


You might not have noticed it but your post is somewhat funny. You claim that Microsoft might miss the future and at the same time you point to a 3 year old presentation done by some Lutz who is now working at Microsoft :-)


I've been hearing this kind of statements forever.
IBM and others, try to make this happen, but the real power and control is allways in the code.

IMHO, we will keep adding more power per line of code in the future, just the same way is happening today. You write less code, that performs powerfull tasks (think XALM, Indigo)

Daniel O'Connell

I hear about this alot and I have to say there are some problems here.

1) Instead of language lock in, you could easily end up with ide lockin...which is far worse. Each IDE defines a feature in a different way, perhaps in a way that doesn't map directly to others. IDE's end up half their own code and half code dealing with other IDE's parse trees. Users have to learn that <= means delegate in VS.NET, but its (-<< in #Develop. This "see it the way you want to" is mostly BS. Its "see it the way the IDE wants you to" and thats all it is.

2) It locks you into one parse model...one logic model...is it even possible to express every language the same way? Or are we talking an IDE that does orders of magnitudes more processing to achieve langauge parity?

3) it forces the editors to work to define new language extensions for every language it want's to define at times. Imagine pointers in VB or trying to express the VB My statements in C#. This isn't possible with existing syntax without great complexity(and having the IDE totally lie to the user about whats going on). And lets not forget about roundtripping issues.

Those are all big issues, IMHO. It may be doable with a system that is pretty constrainted(java), but for a system that was designed to allow multiple languages and multiple ways of expressing the same thing, I fear such an approach would cost in semantic awareness of your program and significant loss of control over it(I'm thinking somewhere along the lines of going from assembly to C# without development speed benifits).

It has its benefits...and there may be a point where IDE's operate like that, however I don't believe it is the panacea that people have been making it out to be. Its really just XML-Fever, I think. Developers try XML and suddenly want everything in untyped trees so they can play with it, even if its a really bad idea.

Robin Curry

Ok, after rereading your posts in the context of your last comment, I think I have a better understanding of what you are suggesting.

Although you haven't explicitly stated this, it seems you are envisioning basically a Model-View-Controller type approach to the code editor wherein the code (in the form of a parse tree) is the model, and the editor can show any number of different views of this model and can manipulate the model separately from the view.

I can certainly see the benefit if that's what you are going for. Am I understanding you better?

Sean Hernandez

Doesn't Microsoft have rights to the intellectual property that Charles Simonyi and gang are developing for Intentional Programming?

Bruce Williams [MSFT]

Sean beat me to the punch. This sounds just like Intentional Programming, which used to be a research project here at Microsoft, run by Charles Simonyi. It seemed like a cool concept, but year after year, nothing seemed to come of it. Finally, Charles left to form his own company, presumably to continue the quest. Personally I'm skeptical - ever since the non-fruition of wearable displays, I've been wary of technologies that are always coming but never arriving.

Note that I have no knowledge of the current status or progress of Charles Simonyi's company or product.

Michael Earls

Bruce, I'm still a believer in Intentional Programming. However, I also understand that we're in the _business_ of software development, whereas IP is part of the _science_ of software development.

I think Wesner has some great points here, but to conclude that this "new" way of programming will be "hot" before Whidbey gets here is a bit premature.

In fact, I believe it will be Whidbey that gets the ball rolling towards what Wesner envisions here.

I mostly agree with what's being presented here, but I must add that I diagree with your chosen implementation of the IDE visualizations.

Therein lies the core problem, as Daniel suggested. Honestly, I think we're much faster programmers with typing source code than we would be dragging that darned mouse around the desk for millions more miles per project.

Good post. Keep exploring and telling us what you find!


I don't think the "IP" on IP is worth very much. The patents are not very useful beyond extensible compilers and from what I hear none of the IP researchers continued working on the project except for Simonyi.


I can't imagine any place where a revolution like this would start other than Microsoft. No one else has any reason to spend billions of dollars and zillions of developers to make a shift like that happen. Notice today there is no business model for selling development tools anymore. Borland is just learning this the hard way.

Michael Earls

Chris, there is a difference between business value and absolute value. IP is an awesome idea. However, not all awesome ideas make it in this capitalist world. I defend Simonyi's vision. I do, however, realize that the world isn't ready for it. Sadly, we may see the end of him before we see the beginning of the fruits of his labor. IP, or some newly renamed rendition of it, will see the light of day.


Michael, I agree. IP is an awesome idea and I would love to see stuff like that becoming real.

Actually IP is more a bag of ideas that a bunch of different people came up with during the 10 year lifetime of the IP project. Most of them have little to do with Simonyi's ecology of abstraction pitch and just ended up under the same umbrella. From what I heard there was lots of disagreement between Simonyi and other people working on the project and most of the people left over time in disagreement with Simonyi's leadership.

I also concur there is business value and idealist value which sums up to absolute value. The business value of IP is simply not there. There is not a single data point that IP ideas would be an improvement for any real scenario. Reflector might be an exception but the stuff Lutz Roeder is doing looks a whole lot more professional than anything the Simonyi crew ever showed at conferences. Reflector could have been by someone that never heard about IP before.

Sean Hernandez

Chris, how about the business value of IP to the Mort's of the world? It is a type of usability that is beyond API usability.


I've been programming since 1970. And since 1970, I have heard every single year that "programming will go away", "programming will become simplified", "programming will be vastly different". Well, programming is not going away, and programming is not simpler. In fact, the trend is the other way.

It is so much more difficult to create SOLID and MAINTAINABLE systems in languages such as Java and C++ than ever before. What I see today is a mess of classes and derived classes; a mess of inheritance and polymorphism; a potpourri of private, public, friends access modifiers. Once the person who wrote this stuff is gone from your company, the usual company solution is to re-write the whole mess with the "new and improved" language of the year.
No, programming is not getting simpler, it has gotten more and more complex from 1970 to 2004. My job is threatened by outsourcing, not by simplifying programming tools.

Ares to the Ninth

Ares to the Ninth (to hell with war) Can you figure out why? Hint: Ares, Mars is war.



How to improve our coding style which requird to improvment?
where should we get this info.
please send path or artical on this or related.

The comments to this entry are closed.

My name is Wesner Moise. I am a software entrepreneur developing revolutionary AI desktop applications. I worked as a software engineer in Microsoft Excel group for six years during the 1990s. I worked on PivotTables and wrote the most lines of code in Excel 97-- about 10 times the median developer. I have a Harvard BA in applied math/computer science and a UCLA MBA in technology entrepreneurship. I am a member of the Triple Nine Society, a 99.9 percentile high-IQ society.

December 2013

Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31