Deutsch   English   Français   Italiano  
<100j6sn$2g2cg$1@dont-email.me>

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

Path: news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: "Paul Edwards" <mutazilah@gmail.com>
Newsgroups: comp.lang.c
Subject: Re: encapsulating directory operations
Date: Wed, 21 May 2025 10:31:15 +1000
Organization: A noiseless patient Spider
Lines: 65
Message-ID: <100j6sn$2g2cg$1@dont-email.me>
References: <100h650$23r5l$1@dont-email.me> <20250520065158.709@kylheku.com> <100i2la$292le$1@dont-email.me> <87a5770xjw.fsf@nosuchdomain.example.com> <100j09o$2f04b$1@dont-email.me> <100j232$2fb3a$1@dont-email.me> <20250520163755.523@kylheku.com>
Injection-Date: Wed, 21 May 2025 02:31:19 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="7d0475afa27e16a08c1e6e0485f4228c";
	logging-data="2623888"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+WWSf6pc+JqW18qU1nEveUsmE3BE5uf8Y="
Cancel-Lock: sha1:Bry4kSXq0vKsL8CeHNEmcQjCHW0=
X-MSMail-Priority: Normal
X-Priority: 3
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
X-Newsreader: Microsoft Outlook Express 6.00.2800.1106

"Kaz Kylheku" <643-408-1753@kylheku.com> wrote in message
news:20250520163755.523@kylheku.com...
> On 2025-05-20, Paul Edwards <mutazilah@gmail.com> wrote:
> > "Paul Edwards" <mutazilah@gmail.com> wrote in message
> > news:100j09o$2f04b$1@dont-email.me...
> >
> >> Manipulating directories is not as important as manipulating
> >> files. The C90 people didn't leave out file manipulation (I
> >> think the ISO Pascal people left it out, at least originally).
> >
> > Actually, I think it was program paramaters that weren't
> > specified.
> >
> > But again - maybe it is C90 that was wrong to specify argc
> > and argv and the Pascal people got it right.
> >
> > That depends on the philosophy of language standards.
> >
> > And I am not personally familiar with the philosophy of
> > language standards.
>
> ANSI C was codifying a lot of existing practices.
>
> C programs starting with a main() function which takes argc and argv was
> in this category.  It came from Unix, and C implementations on other
> platforms imitated that.
>
> C appeared as the systems programming language of Unix.
> C on Unix had a way to process directories via library
> functions.
>
> Implementors of C on other systems choose to implement some functions
> from Unix, and not others. They didn't implement the directory-related
> ones, rendering them nonportable, and unsuitable for standardizing
> into the language.

There was a reason they weren't implemented.

Probably the same reason they weren't in K&R C either.

Ritchie had the floor to himself. HE chose not to implement it.
Because directories don't really exist everywhere.

But - they sort of do. The concept is - or can be - there.

> From my understanding, C and Unix standardization were separate but
> somewhat coordinated efforts. Unix things that didn't get into C were
> standardized by the emerging Unix standard.
>
> Today, if I want a program tha tneeds to walk directories, I use the
> POSIX C library. It is widely implemented. The program won't run
> absolutely everywhere, but it will run on many embedded systems,
> as well as supercomputers, and everything in between.

You have stated the problem. I want to run on some
definition of "absolutely everywhere" that is different
from "many systems".

That's why I'm still on C90, for that "absolutely everywhere",
and now proposing a slight change so that "absolutely
everywhere" is still technically possible. Even on standard MVS.

BFN. Paul.