Ed Grochowski's Website
Software Museum
Operating Systems
BASIC Language
E Language
String Art
Memory Test
Schematic Editor
Running Legacy Software

E Language

By 1985, I had outgrown BASIC and was looking for a more modern programming language. So, I invented one! The E language combined elements of BASIC, C, and Pascal. It was block-structured and procedural with local variables, parameter passing, pointers, and user-definable data types. It also compiled and ran fast!

I used the E language to develop the majority of the software on the Genius 2 computer. It would not be the language of choice for a software development project today.

E Language for 68000


Years: 1985-1992
Language: E language
Size: 7K lines (compiler), 3K lines (assembler), 1K lines (linker)

The E language development tools consisted of the E language compiler, assembler, and linker. The compiler generated 68000 assembly language that was then assembled and linked. All three programs were written in the E language and could process their own source code. This raises the question: how did I get the first version? Answer: I used an older E language compiler written in 68000 assembly language, and an older 68000 assembler written in BASIC 5.1 to bootstrap the process. Once working, the tool chain could perpetuate itself.

Whereas older programs used arrays as the primary data structure, the E language compiler made good use of linked lists, trees, and hash tables.

E Language for Windows


Year: 1995
Language: E language
Size: 7K lines (compiler)

In 1995, I rewrote the compiler's code generator to output C instead of 68000 assembly language. Then, the Microsoft C compiler and linker were invoked. Together with a port of the E language runtime, E language programs could run on Windows!