Wesner on the evolution of code editors

Wesner Moise wrote a post predicting that code editing capabilities in VS.NET 2005 will be behind the competition by the time it ships. I agree with the premise but disagree with the analysis. Wesner asserts that the advent of macro-less, easily parsable languages like C#, VS.NET, and Java opens the door for IDE's to work with parse trees. He correctly points out the benefits of this that will come through IDE intelligence about code (rather than just text). But then he goes off the deep end predicting that developers will work with a graphical representation of this parse tree directly. I just don't see that happening. Ultimately, IDE's are all about productivity, and (though is has been tried many times before), no RAD tool yet has offered a compelling replacement for laying out arbitrary code logic better than terse text syntax. RAD is great for laying out UI, its great for devising schemas, its great for visual analysis and 50,000 ft views, but its just not productive for the actual development of program logic.

What I do see happening is that desktop memory and processing power has finally enabled the IDE to maintain and work with code parse trees even for sizeable projects. I think this is the key reason we are finally seeing companies like JetBrains, Microsoft, IBM, and others start to put true code intelligence into their editors. The reason I feel Microsoft is going to end up behind the ball with Whidbey (err, VS.NET 2005) is that it was late to the party to begin with and hasn't done enough to jump ahead. The refactoring support in Whidbey (at least that has been shown to public to date) is at the level the competition was at years ago. Today, I see JetBrains putting more and more small but very powerful improvements into enhancing the actual process of writing code (think IntelliSence on steroids, it really streamlines “dull” typing); while others, like DevExpress with CodeRush take a more visual approach. In both cases, it is still all about the code expressed in a programming language and layed out by hand in a text file.

posted @ Wednesday, June 23, 2004 8:11 AM

Comments have been closed on this topic.