Follow-up post explaining research rationale

Timon Gehr via Digitalmars-d digitalmars-d at puremagic.com
Sun May 15 04:04:22 PDT 2016


On 15.05.2016 01:42, Joe Duarte wrote:
>
> Note also that I saw myself as being a bit *charitable* to C by choosing
> that sample. For instance, I didn't use an example littered with the
> word "void". Void in English most commonly means invalid, canceled, or
> not binding, as in a voided check, a void contract (such as where one
> party is a minor), and "null and void" is a common usage, so starting a
> function declaration by declaring it void is jarring.

(According to Wikipedia, 90% of the world population are not native 
English language speakers.)

> There was a
> discussion that Walter linked to from the late 1980s I believe, where
> people were requesting that this issue be fixed in C (Walter linked to
> it as background on the naming of D I think). It's a hole in the type
> system

There's no hole, it's just awkward.

> and bad syntax -- I predict that it adds confusion to learning a
> language that uses it.

That's mostly due to the amount of semantic special casing, it's not 
just narrow syntax concerns. E.g. 'void' is a "type" that is claimed to 
have no values, but functions returning void can still terminate normally.


More information about the Digitalmars-d mailing list