The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] C++ / Kernel
@ 2018-08-24  7:30 Paul Ruizendaal
  0 siblings, 0 replies; 30+ messages in thread
From: Paul Ruizendaal @ 2018-08-24  7:30 UTC (permalink / raw)
  To: TUHS main list

> Perhaps Steve Johnson can chime in on this? I suspect he'd know the history
> here well.

The origins of void were discussed 4-7 nov 2017 on this list.



^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: [TUHS] C++ / Kernel
@ 2018-08-24  1:27 Noel Chiappa
  2018-08-24  2:52 ` Clem cole
  0 siblings, 1 reply; 30+ messages in thread
From: Noel Chiappa @ 2018-08-24  1:27 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Clem Cole

    > Im pretty sure I remember void being in typesetter C also.

Hmm. In the two original 'help' files I have about the changes to C (the term
'typesetter C' doesn't appear, but it's pretty clear that's what the subject
is), available through here:

  http://gunkies.org/wiki/Typesetter_C

the term 'void' does not appear (although most other stuff - e.g. unions, bit
fields, typedef, yadda yadda - does).

    Noel

^ permalink raw reply	[flat|nested] 30+ messages in thread
* Re: [TUHS] C++ / Kernel
@ 2018-08-23 23:29 Noel Chiappa
  2018-08-23 23:42 ` ron
  0 siblings, 1 reply; 30+ messages in thread
From: Noel Chiappa @ 2018-08-23 23:29 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Ron Natalie

    > The BSD kernel looks as if it requires such a later compiler (it uses
    > bit fields which the earlier compilers didn't support).

Umm, minor nit: bit fields were added to/as of 'Typesetter C', which I gather
was intermediate between V6 and V7.

	Noel

^ permalink raw reply	[flat|nested] 30+ messages in thread
* [TUHS] C++ / Kernel
@ 2018-08-23 14:42 ron
  2018-08-23 17:24 ` Clem Cole
                   ` (2 more replies)
  0 siblings, 3 replies; 30+ messages in thread
From: ron @ 2018-08-23 14:42 UTC (permalink / raw)
  To: 'TUHS'


> Has anyone experimented with building Unix using C++, to take
> advantage of strong typing?  My guess is no--it would be a Herculean task
likely to introduce more bugs than it would fix.

I'm not sure what "strong typing" gain you expect to find.   With the
exception of the void* difference, C++ isn't much more "type strong" than C.
A lot of the type issues you can find on the Kernel just by turning up the
compiler warnings (or use lint).

The biggest issue we had was BSD didn't use void* at all.   Had they
converted pointers to void*, which is in implementation necessarily the same
as char*,
C would have done the right thing.   The problem is they did what I call
"Conversion by union."    They would store a char* into one element of a
union and read it out of another typed pointer.
This works fine for a VAX where all pointers are the same format, but fails
on word address machines (notably in our case the HEP where the target size
is encoded in the low order bits of the pointer).
Still, running around and fixing those was only a few hours work.

The DevSwitch is the beginnings of an object oriented philosophy.   Alas,
the original UNIX used it only for mapping major dev numbers to functions.
It got some later use for other things like multi filesystemsupport.

The scary supportability thing in the kernel, isn't so much typing, but the
failuer to "hide" implementation details of one part of the kernel from the
other.


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2018-08-27 16:31 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-24  7:30 [TUHS] C++ / Kernel Paul Ruizendaal
  -- strict thread matches above, loose matches on Subject: below --
2018-08-24  1:27 Noel Chiappa
2018-08-24  2:52 ` Clem cole
2018-08-23 23:29 Noel Chiappa
2018-08-23 23:42 ` ron
2018-08-24  0:30   ` Clem Cole
2018-08-24  2:05     ` Bakul Shah
2018-08-24 12:21     ` ron
2018-08-23 14:42 ron
2018-08-23 17:24 ` Clem Cole
2018-08-23 20:21 ` Bakul Shah
2018-08-23 22:17   ` ron
2018-08-23 22:28     ` Nevin Liber
2018-08-23 22:48       ` Clem Cole
2018-08-23 23:14     ` Steffen Nurpmeso
2018-08-24 14:13       ` Steffen Nurpmeso
2018-08-24 14:32         ` ron
2018-08-24 18:15           ` Steffen Nurpmeso
2018-08-26 16:34             ` Paul Winalski
2018-08-27 16:31               ` Steffen Nurpmeso
2018-08-24  1:41     ` Bakul Shah
2018-08-24 10:41       ` Pete Turnbull
2018-08-24 12:17       ` ron
2018-08-24 18:36         ` Bakul Shah
2018-08-24 18:38           ` ron
2018-08-24  1:58     ` Dan Cross
2018-08-24  3:04       ` Clem cole
2018-08-24 14:01         ` Dan Cross
2018-08-24 13:22 ` Derek Fawcus
2018-08-24 16:59   ` Steffen Nurpmeso

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).