> I started writing compilers in order to speed up my game Empire (www.classicempire.com). Compilers turned out to be more interesting :-)
That seems to be a recurring pattern in the history of software. Unix was created for similar reasons (to create a self-hosted development environment for game), and the Linux kernel started out as a terminal emulator.
> D was started because I got bored with retirement (6 weeks of watching TV will do that do you).
Waw, you retired "young".
Thank you for Empire, Walter! One of the best turn-based strategy computer games ever created. Many hours of fun.
Re:DigitalMars C/C++ Compiler
by WalterBright on Wednesday May 23, 2018 @03:26PM
(#17137298)
> One of the best turn-based strategy computer games ever created.
Who'd have thought that would ever happen? I wrote it simply because it was the game I wanted to play.
When I started, everything was closed source. Open source was inconceivable.
I started writing compilers in order to speed up my game Empire (www.classicempire.com). Compilers turned out to be more interesting :-)
Yes, many bought licenses.
D was started because I got bored with retirement (6 weeks of watching TV will do that do you). My ideas for improving C++ met with enormous resistance. So I did my own language. Ironically, D features have steadily been adopted by C++.
> have there been any mistakes made?
Haha, I could spend months responding to that!
Probably the worst abstraction in the DMC code base is the use of linked lists. They're slow, cache-unfriendly, and leaky. I learned my lesson with DMD, which uses adjustable arrays instead.
I've tried encapsulating the lists, like CodeBuilder in the back end, but it's a LOT of work to get that in. It wouldn't have been so much work if the list abstraction didn't leak the structure of the list at every opportunity.