Deutsch   English   Français   Italiano  
<861pwm2aiq.fsf@linuxsc.com>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Tim Rentsch <tr.17687@z991.linuxsc.com>
Newsgroups: comp.lang.c
Subject: Re: Results of survey re. a new array size operator
Date: Wed, 29 Jan 2025 02:13:17 -0800
Organization: A noiseless patient Spider
Lines: 80
Message-ID: <861pwm2aiq.fsf@linuxsc.com>
References: <87a5bgsnql.fsf@gmail.com> <vn066i$28bkd$2@dont-email.me> <20250124121027.691@kylheku.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Injection-Date: Wed, 29 Jan 2025 11:13:18 +0100 (CET)
Injection-Info: dont-email.me; posting-host="ba8d9ca2da4b9314498ee7469992f70e";
	logging-data="2450859"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX19iXzHoGgbLqVQ9ttmKs3+xEwhEb7RZSV0="
User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.4 (gnu/linux)
Cancel-Lock: sha1:8C7bZaTRKwNuFlYcf0Le91+T530=
	sha1:905ch5K8aZ2ZaiHs6KHjM5ssnd0=
Bytes: 4419

Kaz Kylheku <643-408-1753@kylheku.com> writes:

> On 2025-01-24, James Kuyper <jameskuyper@alumni.caltech.edu> wrote:
>
>> On 1/24/25 01:57, Alexis wrote:
>>
>>> Hi all,
>>>
>>> JeanHeyd Meneide, a Project Editor for WG14, has just posted the
>>> results of a survey re. the preferred form of a new array size
>>> operator:
>>>
>>> "There is a clear preference for a lowercase keyword, here, though
>>> it is not by the biggest margin.  One would imagine that with the
>>> way we keep standardizing things since C89 (starting with _Keyword
>>> and then adding a header with a macro) that C folks would be
>>> overwhelmingly in favor of simply continuing that style.  The
>>> graph here, however, tells a different story:  while there's a
>>> large contingency that clearly hates having _Keyword by itself,
>>> it's not the _Keyword + stdkeyword.h macro that comes out on top!
>>> It's just having a plain lowercase keyword, instead."
>>
>> One of the most important goals of the C standard is backwards
>> compatibility.
>
> Backward compatibility matters in software.
>
> People use C compiler applications to open text documents of type
> C.
>
> All that matter is that there is a way to use their old document
> with the new application.
>
> It is almost purely a software matter, not requiring anything in
> the specification.
>
> The C++ people have already figured out this out, and are running
> with it (like crazy).
>
> It doesn't matter if the current language has a keyword "arraysize"
> which breaks every program that uses it as the name of something
> (goto label, struct member, variable, function ...) if
> the language implementation has an option like -std=c11
> under which that is not a keyword.
>
>> A lower case keyword would break any program that was
>
> That's like saying that the existence of Office 356 breaks every
> Word 97 document.
>
> That's only if Office 365 loses the ability to work with such a
> document;  the mere existence of the new format /per se/
> perpetrates no such harm.
>
> The problem with what I'm saying here is that it requires trust.
>
> The people specifying the language have to abandon their grasp of
> the reins of control on the compatibility issue and trust that the
> implementors will handle it in good ways for the benefit of their
> users.

It's hard to imagine a stance more antithetical to the point of
having a C standard in the first place.

> The people specifying the language also have to accept that
> the backward compatibility mechanism is not only out of their
> control, but that it has implementation-specific manifestations:
> the means by which an implementation is instructed to obey an
> older dialect isn't specified in the standard because they have
> decided that the manner of presenting a program for processing
> by an implementation is out of the Scope.
>
> Even if it were something that were somehow brought within the
> Scope, the standard couldn't go as far as to give a requirement
> like "a conforming impelmentation shall provide configurations
> for accepting programs in the following historic dialects of C:
> [...]"  You just can't do that.

These comments serve to underscore just how bad a decision it is
to add this unnecessary feature to the C standard.