4 ms·
I'm a little confused. I've heard of Digital Mars around the internet but I don't know what it is or why the company was started. For my entire life as a Softw
by gravypod 8y ago
I'm a little confused. I've heard of Digital Mars around the internet but I don't know what it is or why the company was started.
For my entire life as a Software Engineer the idea of a close sourced or proprietary compiler was just alien to me.
What set you down the path of writing compilers? Did anyone buy licenses to your compilers? Why was D started?
A more technical question: Was there any abstraction/pattern that has been deeply rooted into your code base that you are unable to change due to prevalence yet this pattern/abstraction makes it more difficult to maintain your code base? In any other words: have there been any mistakes made?
- WalterBright 8y agodigitalmars.com ! 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.
- krylon 8y ago> 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.
- glandium 8y ago> D was started because I got bored with retirement (6 weeks of watching TV will do that do you). Waw, you retired "young".
- fetbaffe 8y agoThank you for Empire, Walter! One of the best turn-based strategy computer games ever created. Many hours of fun.
- WalterBright 8y ago> 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.