Last updated at 2005/04/23 10:28:33 PDT by Temporal

Why create yet another programming language?

The programming languages we use today are obsolete. In fact, they have been obsolete for a long time. Programming language theory is so far ahead of the languages we actually use that one wonders if the theorists and the software industry are even aware of each other. We still see new software products being written in C, which is now over 35 years old. Meanwhile, a vast array of ideas have been developed which could greatly reduce software development costs and increase software quality, but go unused.

Even "new" languages like C# and Java are really only conservative extensions of C and C++. They offer some significant new features, such as garbage collection and bytecode distribution, but there are so many other good ideas that they overlook. Do Microsoft and Sun believe that programmers are uninterested in learning languages different from C? Are they afraid to try ideas that they feel have not been proven? Perhaps their real goal is just to gain control over the platforms on which developers build, rather than create environments which are truly better for the developers.

On the other end of the spectrum, you have the academic languages. Obviously, most of the advanced ideas in programming language theory have been implemented in a language by someone. Unfortunately, these implementations are usually just some well-known existing language extended with one new idea. Often, it is the person who invents this idea who implements the extension, and they do not always see the importance of integrating their own idea with everyone else's great ideas. So, we end up with no single language that integrates everything.

This is where Evlan comes in. Evlan is a programming language and a virtual machine which intends to integrate a wide array of ideas into one coherent platform. Although Evlan contains some completely original ideas, most of its major features were invented elsewhere, in exclusion from each other.

Now, don't let this attitude fool you into thinking that Evlan is another experimental, academic language. Evlan is meant to be a language suitable for real systems. From web servers to game engines to operating systems, Evlan will have real value in commercial software. The ultimate goal of the project is not just to compete with C, C++, C#, Java, and the rest, but to replace them. Granted, this goal may be ambitious or even unrealistic, but hopefully if we set our sights high, we'll produce something valuable along the way.

evlan.org © Copyright 2003-2005 Kenton Varda
Powered by Io Community Manager, Evlan, and FreeBSD