Path: ...!news.nobody.at!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch
Newsgroups: comp.lang.c
Subject: Re: question about nullptr
Date: Sun, 11 Aug 2024 20:52:21 -0700
Organization: A noiseless patient Spider
Lines: 27
Message-ID: <865xs6gzyi.fsf@linuxsc.com>
References: <20240706054641.175@kylheku.com> <877cdyuq0f.fsf@bsb.me.uk> <2ckiO.19403$7Ej.4487@fx46.iad> <87plrpt4du.fsf@bsb.me.uk> <9bCiO.7108$sXW9.3805@fx41.iad> <877cdwu9s1.fsf@nosuchdomain.example.com> <87y16bw1hf.fsf@nosuchdomain.example.com> <86r0c18gbl.fsf@linuxsc.com> <87h6cxuexa.fsf@nosuchdomain.example.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Mon, 12 Aug 2024 05:52:22 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="f42e4005105099d89c60a754521770ce";
logging-data="3282385"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19y7aKDTgt5vu+e3P5KqrqErCz34cRvMrc="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:XmPxwwiEP7/uEW8jj/rEdDsn/SI=
sha1:GOaOALqFAKGsY2ibJgvwdpfpOs0=
Bytes: 2555
Keith Thompson writes:
> Tim Rentsch writes:
>
>> Keith Thompson writes:
>>
>>> Hmm. I like the idea of a type-agnostic way to express a "zero"
>>> value, [but] C's use of 0 for all scalar types strikes me more as
>>> an historical accident than a design feature.
>>
>> I don't think it was an accident at all. It was chosen to be
>> consistent with how if(), while(), !, ?:, and so forth, all act.
>> There is a very consistent design philosophy there. Sometimes
>> people who come from a strong Pascal background don't like it,
>> but personally I find the C model easier and more convenient to
>> work with than the Pascal model.
>
> In early C, int was in a very real sense the default type. In B,
> types weren't even explicit, and IIRC variables were effectively "of
> type int", or more precisely a 16-bit PDP-11 word. (I'm glossing
> over some details of B, many of which I don't know). In that
> context 0 made sense as a general-purpose "zero" value.
My comment is not about the type but about the value. That
the constant 0 happens to be of type int is irrelevant to
my conclusions.