RFC in Comparison between Rust, D and Go

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Sat Nov 14 03:30:03 PST 2015


On 11/14/2015 1:58 AM, Ola Fosheim Grøstad wrote:
> [...]

Like I said, you think the points I raised are all non-issues. You'll change 
your mind once you try to implement one, and then try to support it with a 
diverse group of customers.


 > C99 defines [...]

I just have to laugh. You even admit that Microsoft C doesn't implement C99. 
What do you think is going to happen when you file a bug report? Do you really 
believe that all the other C compilers out there are C99 compliant? Or even C89 
compliant?

Remember the Warp C preprocessor I wrote a couple years ago?

https://github.com/facebookarchive/warp

Guess what happened when I found out that people were relying on bugs in gcc's 
preprocessor, not to mention all of its non-standard behavior.

 > Modern C has headers with exact bit representations though.

I'm sorry, but Modern C does not provide exact representations for 10 bit bytes 
unless the underlying hardware supports 10 bit bytes. And the 10 bit byte Modern 
C compilers do not provide representations for 8 bit bytes.

----------------------------------------------

Your posts on this subject remind me of when I learned how to do data flow 
analysis from Ullman and Hennessy. The algorithms looked great, and were 
provably correct. I implemented them. They did not work - because real CPUs and 
languages did not behave according to Ullman's mathematical models. Getting 
things to work right required considerably more effort. The Dragon Book was not 
terribly concerned with the dirty details of how things really work.

There's a huge difference between reading an academic paper about something and 
getting it to work in the field, one you discount completely.



More information about the Digitalmars-d mailing list