The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: arnold@skeeve.com (arnold@skeeve.com)
Subject: [TUHS] origins of void*
Date: Mon, 06 Nov 2017 00:24:38 -0700	[thread overview]
Message-ID: <201711060724.vA67OcYi004590@freefriends.org> (raw)
In-Reply-To: <84CC038A-18DA-4E04-B2BC-8AC50F863B7B@planet.nl>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1581 bytes --]

Paul Ruizendaal <pnr at planet.nl> wrote:

> >> In the 4BSD era there was caddr_t, which I think was used for pretty
> >> much the same purposes.
> > 
> > Only for kernel code. I am pretty sure caddr_t wasn't used in user-land code.
>
> Ah, thanks for pointing that out, I had not realised that and it helps
> explain some things. But why wasn’t caddr_t used for user-land code:
> usage in the signature of e.g. write() would have made sense, right?

It's clear from K&R 1 that char* served as both pointer to string and
generic pointer to memory.  That's not unreasonable, since, in some sense,
"memory is just bytes".  So user-land code didn't need caddr_t.  I also
suspect that caddr_t came into being with the effort to port Unix off
the PDP-11 and the weight of Unix practice before then had been to make
do with char*.

I think it helps to remember the evolutionary processes that were happening
in the '70s.  High level languages had caught on for application code
(FORTRAN and COBOL in the US, Algol in Europe) but the weight of existing
practice for *systems coding* (operating systems and utilities) had been
to use assembly language.  Multics proved that you could write an OS in
a high level language, but Multics itself (at that time) wasn't a success.

So when C came along in the mid-'70s, strong typing had essentially been
absent from systems programming.  With time and experience, along with
the recognition in the general CS world that strong typing was valuable,
C also started to evolve in that direction.

This is my take on it, anyway. :-)

HTH,

Arnold


  parent reply	other threads:[~2017-11-06  7:24 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-04 10:19 Paul Ruizendaal
2017-11-05  9:48 ` Clem Cole
2017-11-05 10:06 ` arnold
2017-11-05 13:20   ` Ron Natalie
2017-11-05 15:14     ` Warner Losh
2017-11-05 17:53       ` Clem cole
2017-11-05 18:29         ` Steve Simon
2017-11-05 20:12           ` Clem cole
2017-11-05 21:08             ` Chet Ramey
2017-11-05 21:38               ` Clem cole
2017-11-05 21:53             ` Steve Simon
2017-11-05 20:44   ` Paul Ruizendaal
2017-11-05 21:06     ` Warner Losh
2017-11-06  7:24     ` arnold [this message]
2017-11-06 15:02       ` Warner Losh
2017-11-06 21:46         ` [TUHS] origins of void* -- Apology! Steve Johnson
2017-11-06 22:18           ` Warner Losh
2017-11-07  0:25           ` Ron Natalie
2017-11-07  0:34             ` Arthur Krewat
2017-11-07  0:36               ` Ron Natalie
2017-11-07  1:09             ` Bakul Shah
2017-11-07  1:55               ` Ron Natalie
2017-11-08 17:44               ` Ralph Corderoy
2017-11-08 19:56                 ` Ron Natalie
2017-11-08 20:39                   ` Don Hopkins
2017-11-08 20:42                     ` Ron Natalie
2017-11-08 20:47                       ` Don Hopkins
2017-11-08 20:48                         ` Don Hopkins
2017-11-08 20:43                     ` Don Hopkins
2017-11-08 20:43                     ` Clem Cole
2017-11-08 20:45                     ` Warner Losh
2017-11-09  6:33                       ` Lars Brinkhoff
2017-11-08 20:50                   ` Steve Nickolas
2017-11-08 21:25                 ` Bakul Shah
2017-11-09  6:37                   ` Lars Brinkhoff
2017-11-09  7:14                     ` Don Hopkins
2017-11-09  7:44                       ` Lars Brinkhoff
2017-11-10 23:43                       ` [TUHS] PowerPC, bit twiddling - was " Toby Thain
2017-11-10 23:58                         ` Ralph Corderoy
2017-11-05 15:43 [TUHS] origins of void* Noel Chiappa
2017-11-05 16:58 ` Steve Johnson
2017-11-06  0:37 Doug McIlroy
2017-11-06  4:59 ` Steve Johnson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201711060724.vA67OcYi004590@freefriends.org \
    --to=arnold@skeeve.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).