Leandro Lucarella wrote:
Bill Baxter, el 20 de noviembre a las 15:43 me escribiste:
octal(755)?
What's the base-10 identity of that?
decimal(493) or decimal(755)?
base-16 etc.
Fine. Make it octal!"755" if you prefer.
The point is just that you can write a function that will convert a
number to octal for the rare cases when you need it.
You don't absolutely need octal literals.
Please, understand this: IS NOT RARE IF YOU DO POSIX SYSTEM PROGRAMMING.
If you remove octals because they can be implemented in the library,
remove hexa and binary literals as well. And please, stop using the
argument of octal literal being rare, they aren't when programming using
POSIX. You use the all over it when managing filesystem related stuff.
That's quite a false dichotomy! Octal literals are used for POSIX file
systems calls, and pretty much nowhere else (These days, they're a
PDP-11 relic, really, once hex was invented octal became obsolete). For
example, I don't think arithmetic is ever done on octal values.
I don't believe octal!("317"); is so terrible -- it's still much shorter
than the equivalent code on Windows! Especially considering that they
should never appear in OS-independent code.
But it's a matter of little consequence. The problem really is that
octal has this preferred status, 0123 looks far too normal for something
which is so obscure.
I do think octal literals should be 0oNNN (or 0cNNN, I prefer 0oNNN
because it's already used by Python, so I would be very error prone to me
when switching the language to remember which to use).