BitC, Rust, dog food and more

Walter Bright newshound2 at digitalmars.com
Sun Mar 25 12:21:11 PDT 2012


On 3/25/2012 10:31 AM, bearophile wrote:
> One more disadvantage of not using D (or a language safer than C/C++) to
> implement a safe language as D is that the compiler will have many more bugs,
> so while you program in the implemented language (D) you will find many D
> compiler bugs. Today I think that it's very hard to create a reliable
> language writing its compiler in a not reliable language.

Oh, rubbish. Vanishingly few of the reported DMD compiler bugs would have been 
caught by using a safe(r) language.

The bugs have been logic errors, usually due to making improvements in the D 
language and failing to account for all of the effects of those improvements in 
the compiler.

So why hasn't dmd been subject to all sorts of safety errors (like buffer 
overruns, uninitialized pointers, etc.)?

It's because I've been writing C/C++ code for 30 years now. For the first 10 
years, my code suffered a lot from those sort of bugs. Over time, the code had 
less and less of them. I simply learned to avoid them. It's like playing the 
guitar - do it enough and you eventually learn to avoid all the more basic mistakes.

Don't take this as an argument that we don't need safe(r) languages. We do. I 
don't see a reason for programmers to spend 10 years suffering in the wilderness 
to learn to avoid making certain kinds of mistakes.


More information about the Digitalmars-d mailing list