9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Hans-Peter Bischof bischof@informatik.Uni-Osnabrueck.DE
Subject: Object Oriented Programming in ANSI C for Plan 9
Date: Thu,  9 May 1996 08:01:57 -0400	[thread overview]
Message-ID: <19960509120157.ajaAnUR50zBq5h-10C8zrcr0eH1CSYkszysErw1DvuI@z> (raw)



Object Oriented Programming in ANSI C

Axel T. Schreiner developed this technique.  We ported the system
to Plan 9 and added a few classes.

ooc is a technique to do  object-oriented  programming  (classes,
methods,  dynamic  linkage,  simple  inheritance,  polymorphisms,
persistent objects, method existence testing, message forwarding,
exception handling, etc.) using ANSI-C.

ooc is a preprocessor to simplify the coding task  by  converting
class  descriptions  and  method  implementations  into ANSI-C as
required by the technique. You implement  the  algorithms  inside
the methods and the ooc preprocessor produces the boilerplate.

ooc consists of a shell script driving a modular awk script (with
provisions  for  debugging),  a set of reports -- code generation
templates -- interpreted by the script, and the source of a  root
class  to provide basic functionality.  Everything is designed to
be changed if desired. There are manual pages, lots of  examples,
among  them a calculator based on curses and X11, and you can ask
me about the book.

ooc as a technique requires an ANSI-C system -- classic  C  would
necessitate substantial changes. The preprocessor needs a healthy
Bourne-Shell and "new" awk as described in Aho,  Weinberger,  and
Kernighan's book.

ooc  was  developed  primarily  to  teach  about  object-oriented
programming  without  having  to learn a new language. If you see
how it is done in a familiar setting, it is much easier to  grasp
the  concepts  and  to  know  what  miracles  to  expect from the
technique and what not.  Conceivably,  the  preprocessor  can  be
used  for  production  programming  but this was not the original
intent. Being  able  to  roll  your  own  object-oriented  coding
techniques has its possibilities, however...

If you are interessted:
        ooc description  ps-files:
            ftp:informatik.uni-osnabrueck.de/pub/plan9/O9_BOOK_PS.tar
        source:
            ftp:informatik.uni-osnabrueck.de/pub/plan9/O9.tar

Hans-Peter Bischof
University of Osnabrueck
bischof@informatik.Uni-Osnabrueck.DE

gandalf plan9 95






             reply	other threads:[~1996-05-09 12:01 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1996-05-09 12:01 Hans-Peter [this message]
1996-05-09 14:36 Boyd

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=19960509120157.ajaAnUR50zBq5h-10C8zrcr0eH1CSYkszysErw1DvuI@z \
    --to=9fans@9fans.net \
    /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).