Show Changes Show Changes
Edit Edit
Print Print
Recent Changes Recent Changes
Subscriptions Subscriptions
Lost and Found Lost and Found
Find References Find References
Rename Rename
Administration Page Administration Page
Topic Locks Topic Locks

Search

History

3/8/2004 1:29:11 PM
-213.120.112.19
List all versions List all versions

RSS feed for the IanWij namespace

Reduce The Code Base
.
Summary

There are a few trends occurring that help alleviate the pain described so far.

As always, there is an evolution in software development to work at higher and higher levels of abstraction. It is a slow process when the application model must accommodate a broad range of applications. There are numerous examples of this such as going from Win32 to .NET or the rise of Java and J2EE. The next horizon is Long Horn. A very interesting extreme is the use of Executable UML for embedded systems. Raising the abstraction of the programming model is the main approach to increasing developer productivity.

Declarative programming tries to acquire behaviour by stating what is needed rather than forcing a programmer to call a procedural API. The application platform then takes responsibility for providing it. Gradually, the application platform is becoming more extensible so that domain-specific declarations can be made. The attribute class in .NET is a good example of this mechanism.

Aspect-oriented programming tries to disentangle platform logic from the domain logic at a programming language level in order to preserve the original intentions of the developer. It’s still very much a research topic but shows promise. Intentional programming is another related approach that tries to preserve the original design intentions rather than encode them into a text-based language. Neither approach is in mainstream use yet.

All these approaches essentially address the problem by expressing the solution using less code. The marketing slogan for Visual Studio .NET is “Do more; write less”.

Not logged in. Log in

software development notes

This is FlexWiki, an open source wiki engine.

Change Style

Recent Topics