9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Martin C.Atkins <martin@parvat.com>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] g++
Date: Mon, 15 Sep 2003 13:03:30 +0530	[thread overview]
Message-ID: <20030915130330.53d99a2b.martin@parvat.com> (raw)
In-Reply-To: <oprvhp3cfvrveh1e@smtp.borf.com>

On Sun, 14 Sep 2003 08:53:26 -0400 Brantley Coile <brantley@prepaynt.com> wrote:
> On Sun, 14 Sep 2003 14:47:57 +0530, Martin C.Atkins <martin@parvat.com> wrote:
>
> > Looking back at your previous message, perhaps it is the
> > "scope rules and silent actions associated with inheritance", in
> > which case are there any "Object Oriented" languages that you think
> > are OK?
>
> I'm not Charles, but I also answer.

Sorry, I really meant:
	Hi Charles, Everyone,

>
> Have you seen Oberon-2?  It is OO done well.

I know of it. I suppose the thread that I was trying to pursue was
that Charles' message implied that the problems he had with C++ are
fundamental to the object-oriented approach (i.e. inheritance). What
does Oberon-2 do that mitigates the complications of "silent actions
associated with inheritance", for example?

On this question - Charles, would the modification of the 'self'
reference (so that it did not allow calls to overriding methods)
address your problems?

I've seen plenty of discussion (hype) over the last 20 years about
the advantages of the object-oriented approach, but precious little
analysis or discussion of the problems associated with it!

In this light, much of the following thread has been interesting,
especially the comments about generics, and polymorphism, but threads
such as Rob's comment:
> i agree.  o-o is so easy to do by hand in the few cases it really
> contributes to the design of software that it seems unimportant to
> have languages centered on it, yet polymorphism is a genuine boon but
>...
really begin to address the question of whether object-oriented
(whatever it means - that's another problem, but for now, maybe I
mean specifically the inheritance aspects) might be a step too far
for the understandable, maintainable construction of programs,
and what might be the alternatives.

As I touched on in my first message. I believe that better
type-compatibility rules in conventional languages (based on
interfaces, rather than construction) would be a step forward in
promoting the "o-o is so easy to do by hand in the few cases..."
part of Rob's message.

The Plan9 compiler's 'anonymous substructures' extension was an
interesting experiment in this direction. But what about making
pointers to
	struct { int a; int b}
and	struct { int a; int b; int c}
type compatible in the correct circumstances? This would provide support
for much of the power of o-o, but would it also open the door to
the abuses/difficulties?

This discussion also reminds me of Sussman and Abelson's approach
that the language should allow programming in the style appropriate
to the problem, whether that style be o-o, logic, functional, etc.
The problem in using different languages for each of these styles is
that intercalling becomes difficult. The problem with using the same
language is that no current (strongly-typed) language seems capable
of (conveniently) supporting the whole range of styles. I want a
compile-time strongly typed language for other, orthogonal but
important, reasons.

>
>  Brantley Coile
>

Martin
--
Martin C. Atkins			   martin@mca-ltd.com
Mission Critical Applications Ltd, U.K.	   http://www.mca-ltd.com{/,/martin}


  reply	other threads:[~2003-09-15  7:33 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-09-12  2:50 okamoto
2003-09-12  2:52 ` Russ Cox
2003-09-12  2:58   ` okamoto
2003-09-12  4:28     ` boyd, rounin
2003-09-12  4:41       ` okamoto
2003-09-12 12:55         ` Peter Bosch
2003-09-12 13:12           ` ron minnich
2003-09-12 13:32             ` Peter Bosch
2003-09-12 12:54       ` Peter Bosch
2003-09-12 13:35   ` Charles Forsyth
2003-09-12 13:50     ` ron minnich
2003-09-12 15:39       ` C H Forsyth
2003-09-12 17:12         ` Brantley Coile
2003-09-12 17:20           ` David Presotto
2003-09-12 18:09             ` ron minnich
2003-09-12 19:25               ` David Presotto
2003-09-12 19:44                 ` boyd, rounin
2003-09-12 17:24           ` mirtchov
2003-09-12 18:56           ` Scott Schwartz
2003-09-12 19:16             ` boyd, rounin
2003-09-12 23:41               ` Russ Cox
2003-09-12 23:48                 ` boyd, rounin
2003-09-13 13:13                   ` Sam
2003-09-15  8:27                     ` Ralph Corderoy
2003-09-12 19:06           ` boyd, rounin
2003-09-13  1:38           ` Dan Cross
2003-09-13  1:43             ` rob pike, esq.
2003-09-13  1:47               ` boyd, rounin
2003-09-13  3:29               ` Dan Cross
2003-09-13 13:11                 ` bs
2003-09-13 14:26                   ` Brantley Coile
2003-09-14  9:17         ` Martin C.Atkins
2003-09-14 12:53           ` Brantley Coile
2003-09-15  7:33             ` Martin C.Atkins [this message]
2003-09-12 20:43       ` northern snowfall
2003-09-12 19:51         ` boyd, rounin
2003-09-12 21:08           ` northern snowfall
2003-09-12  5:32 YAMANASHI Takeshi
2003-09-12  7:25 ` okamoto
2003-09-12  9:29 ` northern snowfall
2003-09-12  8:33   ` okamoto
2003-09-12  8:16 YAMANASHI Takeshi
2003-09-14 13:05 Tiit Lankots
2003-09-14 16:13 ` rob pike, esq.
2003-09-14 17:02   ` Scott Schwartz
2003-09-14 20:30     ` boyd, rounin
2003-09-14 20:38       ` David Presotto
2003-09-14 19:57   ` FODEMESI Gergely
2003-09-14 20:27   ` boyd, rounin
2003-09-14 21:58     ` Scott Schwartz
2003-09-14 22:06       ` boyd, rounin
2003-09-15 15:41         ` Dan Cross
2003-09-14 16:49 ` Martin Harriss
2003-09-14 17:13   ` Scott Schwartz
2003-09-14 20:29   ` boyd, rounin
2003-09-14 22:06 Andrew Simmons
2003-09-14 22:09 ` rob pike, esq.
2003-09-14 22:13 Andrew Simmons
2003-09-15 14:54 ` splite
2003-09-15 22:33   ` Charles Forsyth
2003-09-15 23:14     ` boyd, rounin
2003-09-14 23:58 Andrew Simmons
2003-09-15  0:13 ` rob pike, esq.
2003-09-15  8:58   ` boyd, rounin
2003-09-15  9:47 Laura Creighton
2003-09-15 15:03 Tiit Lankots
2003-09-15 15:29 ` ron minnich
2003-09-15 18:11 Tiit Lankots
2003-09-15 19:31 ` ron minnich
2003-09-15 21:10   ` Geoff Collyer
2003-09-16  5:41   ` Rob Pike
2003-09-15 10:16     ` okamoto
2003-09-16  8:50     ` boyd, rounin
2003-09-17 11:37     ` a
2003-09-18  1:38       ` vdharani
2003-09-18  2:12         ` mirtchov
2003-09-18  5:10           ` vdharani
2003-09-15 21:17 Andrew Simmons
2003-09-16 15:16 ` Dan Cross
2003-09-16 15:19   ` paurea
2003-09-16 15:43 Richard C Bilson
2003-09-16 15:51 ` andrey mirtchovski
2003-09-18  4:14 YAMANASHI Takeshi

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=20030915130330.53d99a2b.martin@parvat.com \
    --to=martin@parvat.com \
    --cc=9fans@cse.psu.edu \
    /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).