Disallow arrays as pointers

Timon Gehr timon.gehr at gmx.ch
Mon Oct 31 13:35:23 PDT 2011


On 10/31/2011 02:49 AM, bearophile wrote:
> Timon Gehr:
>
>> A lot of C's carefully designed syntactic elegance is
>> lost when going from pointers/iterators to arrays and ranges.
>
> I think that a large part of that C syntactic elegance is an illusion. From my experience, I want my code to look very simple to read and clean every time this is possible. I want it to be easy to port to other languages, because I have do it often enough. C code that uses lot of pointers is often bug-prone, messy and hard to safely translate to other languages.
>
> There are situation where pointers are necessary or are better than the alternatives, or they give the needed flexibility, so I prefer a language with pointers, but in a well designed language those situations are not common, and I think raw pointers should be avoided when they are not needed. I have debugged enough C code to be rather sure of this. Good luck with your pointers.
>

I rarely use pointers in D, its arrays are a better concept. I just 
remarked that C code using pointers is sometimes more elegant than 
equivalent D code using arrays or ranges, and that it is a little bit 
unfortunate that we have all that while(*p && *p++ == --*q++){} stuff in 
the D grammar without the possibility to use it.


More information about the Digitalmars-d mailing list