News for hackers. Stuff that matters.
Re:DigitalMars C/C++ Compiler by gravypod on Tuesday May 22, 2018 @10:21PM (#17131051)
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?

Re:DigitalMars C/C++ Compiler by WalterBright on Wednesday May 23, 2018 @12:06AM (#17131421)
digitalmars.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.

Re:DigitalMars C/C++ Compiler by krylon on Wednesday May 23, 2018 @01:51AM (#17131706)
> 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.

Re:DigitalMars C/C++ Compiler by glandium on Wednesday May 23, 2018 @07:07AM (#17133084)
> D was started because I got bored with retirement (6 weeks of watching TV will do that do you).

Waw, you retired "young".

Re:DigitalMars C/C++ Compiler by fetbaffe on Wednesday May 23, 2018 @07:48AM (#17133312)
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.