Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

"Well hello there Charlie Brown, you blockhead." -- Lucy Van Pelt


devel / comp.lang.misc / Confusing language, library and OS

SubjectAuthor
* Confusing language, library and OSJames Harris
`- Re: Confusing language, library and OSDavid Brown

1
Confusing language, library and OS

<sp81tb$sml$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1600&group=comp.lang.misc#1600

  copy link   Newsgroups: comp.lang.misc
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: james.harris.1@gmail.com (James Harris)
Newsgroups: comp.lang.misc
Subject: Confusing language, library and OS
Date: Mon, 13 Dec 2021 18:03:22 +0000
Organization: A noiseless patient Spider
Lines: 32
Message-ID: <sp81tb$sml$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 13 Dec 2021 18:03:23 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="d842a4d07706bcb1a2eea14a3163b6fb";
logging-data="29397"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/MQ7zt6AMbtHY5biFiDrMxin0mwM9VSeg="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.14.0
Cancel-Lock: sha1:LZnRYJm8hfh+lqLITPkEVC54t94=
Content-Language: en-GB
X-Mozilla-News-Host: snews://news.eternal-september.org:563
 by: James Harris - Mon, 13 Dec 2021 18:03 UTC

From another thread:

On 07/12/2021 09:57, David Brown wrote:
DB> On 07/12/2021 10:22, Bart wrote:

B>> That might be the case on Unix where where the OS and C are so
B>> intertwined that that you don't know where one ends and the other
B>> begins.

DB> No, /you/ don't know where one ends and the other begins

I suspect that's true of many of us. It /is/ confusing when:

1. the C standards documents include the standard library, not just C
2. Clib and OS calls are invoked in the same way (flat namespace)
3. compiler and linker are expected to /search/ for referenced files
4. the 'OS calls' aren't really OS calls but wrappers
5. C headers are separate from the modules they describe
6. one C header can bundle declarations for multiple modules and one
module may need the inclusion of multiple headers (AIUI)

IMO that's a bit of a mess. All of those, even if I understand them
correctly (which is far from certain), blur the boundaries between the
language, the language's library/ies, and the operating system.

In a new language all of those six problems can be fixed - and should
be, IMO.

--
James Harris

Re: Confusing language, library and OS

<sp9kvl$m5m$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=1602&group=comp.lang.misc#1602

  copy link   Newsgroups: comp.lang.misc
Path: i2pn2.org!i2pn.org!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From: david.brown@hesbynett.no (David Brown)
Newsgroups: comp.lang.misc
Subject: Re: Confusing language, library and OS
Date: Tue, 14 Dec 2021 09:35:00 +0100
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <sp9kvl$m5m$1@dont-email.me>
References: <sp81tb$sml$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 14 Dec 2021 08:35:01 -0000 (UTC)
Injection-Info: reader02.eternal-september.org; posting-host="ee9917acb922739b66ea8d48b68c09f3";
logging-data="22710"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/zUeTVkTcG8bkX0G2UDqi3vaNQJom6vtw="
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101
Thunderbird/78.11.0
Cancel-Lock: sha1:Wgn6N9LKTDdXhvUJVgXlYgJS/yw=
In-Reply-To: <sp81tb$sml$1@dont-email.me>
Content-Language: en-GB
 by: David Brown - Tue, 14 Dec 2021 08:35 UTC

On 13/12/2021 19:03, James Harris wrote:
> From another thread:
>
> On 07/12/2021 09:57, David Brown wrote:
> DB> On 07/12/2021 10:22, Bart wrote:
>
> B>> That might be the case on Unix where where the OS and C are so
> B>> intertwined that that you don't know where one ends and the other
> B>> begins.
>
> DB> No, /you/ don't know where one ends and the other begins
>
> I suspect that's true of many of us. It /is/ confusing when:
>
> 1. the C standards documents include the standard library, not just C
> 2. Clib and OS calls are invoked in the same way (flat namespace)
> 3. compiler and linker are expected to /search/ for referenced files
> 4. the 'OS calls' aren't really OS calls but wrappers
> 5. C headers are separate from the modules they describe
> 6. one C header can bundle declarations for multiple modules and one
> module may need the inclusion of multiple headers (AIUI)
>
> IMO that's a bit of a mess. All of those, even if I understand them
> correctly (which is far from certain), blur the boundaries between the
> language, the language's library/ies, and the operating system.
>
> In a new language all of those six problems can be fixed - and should
> be, IMO.
>
>

I am not sure how much of a "problem" this all is - we've had C for
decades, and it seems unlikely that you, me, or anyone else in this
group is smarter than the last 40-odd years worth of programmers,
language designers and systems architects put together.

Without going into details of your points, since that might just start
another long and unproductive thread, I would certainly agree that the
single flat namespace of C is a limitation of the language. Any new
language that aspires to be used for more than small and simple tasks
needs hierarchical namespace handling of some sort - modules,
namespaces, units, interfaces, whatever you want to call it and however
you want to divide it up. And it is definitely important to think
through the balance between flexibility and structure here - there are
significant pros and cons associated with tying interface files and
implementation files together tightly or loosely.

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor