On 03/25/2010 01:45 PM, Walter Bright wrote:
Andrei Alexandrescu wrote:
A: Use octal!"177"

W: Ugh.

A (esprit d'escalier): If you don't like the universal notation you
invented, who will?


Good point. As I recall, we expended an enormous amount of effort
working on template syntax, and I certainly feel that

octal!"177"

is far better than, say:

octal<"177">.value

but when I compare it to

0177

that's just hard to beat. A customized syntax is always going to be
better than a generic one. The octal syntax is used in several widely
popular languages, and is convenient and looks attractive. It's used a
lot in dealing with the unix file system.

Symbolic constants are the best way to deal with the filesystem.

It's not at all hard to beat. It would be if octal constants would be ubiquitous and ubiquitously useful. To disabuse yourself of that fallacious notion, PLEASE grep ALL your code for

[^0-9A-Za-Z."%_:\]0[0-9]

and let us know how many instances you find.

druntime has 152 octal constants for a total of 53130 lines. That's one for each 350 lines of code, or less than 0.3%. Ironically, most occurrences are used in defining symbolic constants that are good style for handling permission bits.

For Phobos I counted 11 true positives in 93,963 lines, which means one per 8542 lines of code or 0.01% of total.


Andrei

Reply via email to