removal of cruft from D

Bill Baxter wbaxter at gmail.com
Fri Nov 20 15:18:36 PST 2009


On Fri, Nov 20, 2009 at 3:10 PM, Lars T. Kyllingstad
<public at kyllingen.nospamnet> wrote:
> Nick Sabalausky wrote:
>>
>> "Yigal Chripun" <yigal100 at gmail.com> wrote in message
>> news:he6sqe$1dqu$1 at digitalmars.com...
>>>
>>> Based on recent discussions on the NG a few features were
>>> deprecated/removed from D, such as typedef and C style struct initializers.
>>>
>>> IMO this cleanup and polish is important and all successful languages do
>>> such cleanup for major releases (Python and Ruby come to mind). I'm glad to
>>> see that D follows in those footsteps instead of accumulating craft like C++
>>> does.
>>>
>>>
>>> As part of this trend of cleaning up D before the release of D2, what
>>> other features/craft should be removed/deprecated?
>>>
>>> I suggest reverse_foreach and c style function pointers
>>>
>>> please add your candidates for removal.
>>>
>>
>> s/reverse_foreach/foreach_reverse/ ;)
>>
>> 1. Floating point literals without digits on *both* sides!!! "1.", ".1"
>> --> Useless hindrance to future language expansion!
>>
>> 2. Octal literals! I think it'd be great to have a new octal syntax, or
>> even better, a general any-positive-inter-base syntax. But until that
>> finally happens, I don't want "010 == 8" preserved. And I don't think the
>> ability to have an octal literal is important enough that lacking it for a
>> while is a problem. And if porting-from-C really has to be an issue, then
>> just make 0[0-9_]+ an error for a transitionary period (or forever - it'd at
>> least be better than maintaining "010 == 8").
>
> It would definitely be a problem if octal literals disappeared from the
> language, even if only for a short while. They are pretty much the only
> sensible way to specify POSIX file permissions.
>
>  import core.sys.posix.sys.stat;
>  ...
>  chmod("path/to/file", 0755);

Well you can always do..

chmod("path/to/file", octal(755));

--bb



More information about the Digitalmars-d mailing list