The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: steffen@sdaoden.eu (Steffen Nurpmeso)
Subject: [TUHS] RIP J.F.Ossanna
Date: Thu, 30 Nov 2017 23:36:51 +0100	[thread overview]
Message-ID: <20171130223651.gSX4i%steffen@sdaoden.eu> (raw)
In-Reply-To: <CAGfO01x9r1=bVBj6qJ3w30k62GkqiQD92qhR_tUVQqrYBi4iKg@mail.gmail.com>

Noel Hunt <noel.hunt at gmail.com> wrote:
 |If you want to see a nice use of a restricted subset of C++,
 |that is, code written in the early days before the accretion
 |of hideous excrescences, I highly recommend Tom Cargill's
 |'pads'. You will find it in the 10th Edition distributions.

I downloaded it from [1]

  [1] http://www.softwarepreservation.org/projects/c_plus_plus/application/application/pi_pads_libj.tgz

 |It is a typical blit-style program, with a 'terminal' and
 |'host' portion, the 'host' portion being written in the said
 |restricted, earlier form of C++.

Yes, that package looks good.  Two nice things in 5 minutes:

        if( !this ) return 0;

I would like to read "references are needless" into that.

  // C++ bug (Action)

Yes!  That is exactly my gut feeling, too!

Interestingly it seems that it has been possible to apply access
policies on file level, even for preprocessor things etc.:

  >pri
  #define PADS_VERSION 0x851021           /* YYMMDD */
  #define CARTE    0x80
  #define NUMERIC  1
  >

That i never had seen before.
Quite a lot of C++ in this package..

 |The 'terminal' part is in C (this is the graphics front-end)
 |but written for the blit. There was an OpenLook port by Dave
 |Kowolski, and I have a version that runs under Plan9 (via
 |Russ Cox's plan9port)---there is a straight-forward mapping
 |of blit graphics operations to the Plan9 model.
 |
 |Noel Hunt

In V10 there are the sources of cfront, and also troff, pic etc.
I would wish i had more time to look through that.  Most code
from these laboratories and universities is just casual, this is
what i like so much.  I mean, really.  Most of the elder code goes
like about

                LayerReshaped();
                MOUSEServe();
                KBDServe();
                RCVServe();

and is done with it  When i started, as well as today, notational
things for namespace and (get, set) functions were in use for at
least libraries, and then i found C++ preferable over C due to
"using NAME" directives etc., whereas in C you go for
g_mount_tracker_find_by_mount_spec() and woe if the argument is "a
subclass".  And pi is really a debugger!?  I detest debuggers!
But he instrumented most of it with trace() and VOK by hand in
order to debug that thing.  That is fantastic.  I dislike so much
that today shipout code of even the smallest utility is compiled
with stack canaries enabled, the assembly looks infested, all that
should be kept in debug code, in my opinion.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)


  reply	other threads:[~2017-11-30 22:36 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-27 22:05 Dave Horsfall
2017-11-28  0:06 ` Ron Natalie
2017-11-28  0:15   ` Larry McVoy
     [not found]     ` <20171129190055.9ZFVf%steffen@sdaoden.eu>
2017-11-30  2:48       ` Larry McVoy
2017-11-30 15:44         ` Steffen Nurpmeso
2017-11-30 20:43           ` Noel Hunt
2017-11-30 22:36             ` Steffen Nurpmeso [this message]
2017-11-28  0:14 ` Larry McVoy
  -- strict thread matches above, loose matches on Subject: below --
2016-11-28  0:11 Norman Wilson
2016-11-27 22:15 Dave Horsfall
2016-11-27 22:17 ` Ron Natalie
2016-11-27 22:28 ` Larry McVoy

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=20171130223651.gSX4i%steffen@sdaoden.eu \
    --to=steffen@sdaoden.eu \
    /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).