comp.lang.ada
 help / color / mirror / Atom feed
From: doylep@ecf.toronto.edu
Subject: Re: Naming of Tagged Types and Associated Packages
Date: 1998/08/10
Date: 1998-08-10T00:00:00+00:00	[thread overview]
Message-ID: <6qnbms$ld7$1@nnrp1.dejanews.com> (raw)
In-Reply-To: Pine.BSF.3.96.980807163858.838A-100000@shell5.ba.best.com

In article <Pine.BSF.3.96.980807163858.838A-100000@shell5.ba.best.com>,
  Brian Rogoff <bpr@shell5.ba.best.com> wrote:
>
> Thanks for bringing this back to c.l.a, Patrick. I was loathe to respond
> to this in c.l.e., as I remember several language wars starting from
> c.l.ada/eiffel crossposting, and I just don't care for them.

Yes, that's the same reason I am usually too afraid to venture into c.l.a. 
:-)

> On Fri, 7 Aug 1998 doylep@ecf.toronto.edu wrote:
>
> > 1. Nothing's stopping you from making yourself use different names for
> > everything.
>
> True, but I can't stop other programmers from doing it

Good point.

> > 2. It allows you to avoid contrivances by permitting things like this:
> >
> > class CAR
> >
> > feature
> >     steering_wheel : STEERING_WHEEL
> >
> > end
> >
> > What else are you going to call the steering wheel?  A
> > direction_control_device? I think any other name would be contrived.
>
> Call the steering wheel Steering_Wheel, and call the type something like
> Steering_Wheel_Type, or Steering_Wheel_T. Personally, I like type names
> and variable names to be lexically distinguished, so the EuLisp/Dylan
> convention, which would be to name it something like <SteeringWheel>,
> would be my choice if I could do it all myself, but I don't think the
> _Type convention is bad at all, and its used widely in my Ada reference
> of choice (Ada as a Second Language).

The Eiffel convention is to use uppercase for class names and lowercase for
feature names.	Does this fit the bill?  Some compilers won't even accept
source code that does not follow this convention, so other programmers not
conforming is not an issue.

> If you want to talk about having to create contrived names, be careful,
> Eiffel doesn't have overloading, which is far worse IMO. Apparently the
> Sather designers agreed, when they decided to "fix" Eiffel, they added
> overloading. Other languages, like OCaml, do away with most of the need
> to name types altogether, so the antiredundantists should consider such
> languages before disparaging the Ada way in deference to Eiffel way.

Perhaps, but preventing redundancy is still a good thing, so the fact that a
language is redundant in one sense doesn't change the fact that eliminating
redundancy in another sense is a Good Thing.

> pragma Rant(On);
>
> The truth is I don't think I'll use Eiffel again, because I don't think
> its a very good language design. I think OO is overrated, and languages
> that try to enforce OO as the *only* programming tool are not for me. I
> like Eiffel's assertion mechanisms (though I'm not sure they belong in the
> language or would be better left as a tool) but I think its type system is
> hopelessly broken, it *requires* whole-program analysis due to covariance;
> bye-bye separate compilation!

Fair enough.  I don't like covariance either.  But as for whole-program
analysis...

First, this is not necessary if you're satisfied with some type checking being
done at runtime.  So the accurate assessment would be that whole-program
analysis is required for static type safety, rather than to make Eiffel usable
at all.

Second, SmallEiffel is a compiler which has dived whole-heartedly into a
system-wide approach, and as such is able to make *massive* optimisations
which produce excellent executables.  Since the compiler is compiled by
itself, it makes use of these optimisations to provide system-wide
compilation which is of comparable speed to module-wise compilation systems.

In fact, because SmallEiffel compiles to C, it is possible to compare the
system-wide approach to the module-wise approach directly, and the Eiffel-to-C
phase of compilation is invariably faster than the C-to-native phase, often by
an order of magnitude, despite the fact that the C-to-native phase only
compiles the portions that have changed.  It is dangerous to draw too many
conclusions from this, but one thing that is clear is that the system-wide
approach does not have a significant impact on compile time.

> Obviously, people are free to have different opinions, and I wouldn't want
> to start another Eiffel/Ada flamefest, so I generally avoid posting my
> opinion on the Eiffel ng.

That's probably the safest thing to do.  :-)

 -PD

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum




  parent reply	other threads:[~1998-08-10  0:00 UTC|newest]

Thread overview: 138+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-07-16  0:00 Naming of Tagged Types and Associated Packages taashlo
1998-07-25  0:00 ` Matthew Heaney
1998-07-25  0:00   ` Jean-Pierre Rosen
1998-07-25  0:00     ` Brian Rogoff
1998-07-26  0:00       ` Matthew Heaney
1998-07-26  0:00     ` Matthew Heaney
1998-07-26  0:00       ` nabbasi
1998-07-26  0:00         ` Matthew Heaney
1998-07-26  0:00         ` Robert Dewar
1998-07-27  0:00       ` dennison
1998-07-27  0:00         ` Stephen Leake
1998-07-27  0:00           ` dennison
1998-07-27  0:00             ` Brian Rogoff
1998-07-28  0:00               ` dennison
1998-07-28  0:00                 ` Brian Rogoff
1998-07-28  0:00                   ` Brian Rogoff
1998-07-29  0:00                     ` Matthew Heaney
1998-07-29  0:00                       ` Brian Rogoff
1998-07-28  0:00                   ` dennison
1998-07-29  0:00                     ` Matthew Heaney
1998-07-29  0:00                       ` Chris Brand
1998-07-30  0:00                         ` Matthew Heaney
1998-07-30  0:00                           ` dennison
1998-07-30  0:00                             ` Matthew Heaney
1998-07-30  0:00                               ` dennison
1998-08-01  0:00                           ` Simon Wright
1998-08-02  0:00                             ` Matthew Heaney
1998-08-03  0:00                               ` dennison
1998-08-03  0:00                                 ` Matthew Heaney
1998-08-04  0:00                                   ` dennison
1998-08-04  0:00                               ` Jean-Pierre Rosen
1998-08-04  0:00                                 ` Brian Rogoff
1998-08-05  0:00                               ` Don Harrison
1998-08-05  0:00                                 ` Brian Rogoff
1998-08-07  0:00                                   ` doylep
1998-08-07  0:00                                     ` Brian Rogoff
1998-08-08  0:00                                       ` Matthew Heaney
1998-08-10  0:00                                       ` doylep [this message]
1998-08-10  0:00                                         ` Brian Rogoff
1998-08-10  0:00                                           ` John Volan
1998-08-10  0:00                                           ` John Volan
1998-08-11  0:00                                           ` doylep
1998-08-11  0:00                                             ` Brian Rogoff
1998-08-13  0:00                                               ` Robert A Duff
1998-08-13  0:00                                                 ` Brian Rogoff
1998-09-01  0:00                                                 ` Matthew Heaney
1998-09-01  0:00                                                   ` Dale Stanbrough
1998-09-01  0:00                                                     ` Matthew Heaney
1998-09-01  0:00                                                       ` Bob Collins
1998-09-02  0:00                                                         ` Matthew Heaney
1998-09-04  0:00                                                       ` John G. Volan
1998-08-11  0:00                                         ` Don Harrison
1998-08-11  0:00                                           ` Pat Rogers
1998-08-11  0:00                                             ` Don Harrison
1998-09-01  0:00                                               ` Matthew Heaney
1998-08-13  0:00                                         ` Robert A Duff
1998-08-13  0:00                                           ` Brian Rogoff
1998-08-15  0:00                                             ` Don Harrison
1998-08-15  0:00                                               ` Jean-Pierre Rosen
1998-08-18  0:00                                                 ` Don Harrison
1998-08-14  0:00                                           ` Don Harrison
1998-08-17  0:00                                             ` doylep
1998-08-19  0:00                                               ` Don Harrison
1998-08-12  0:00                                       ` Don Harrison
1998-08-08  0:00                                     ` Matthew Heaney
1998-08-08  0:00                                       ` John G. Volan
1998-08-09  0:00                                         ` Matthew Heaney
1998-08-10  0:00                                           ` John G. Volan
1998-08-11  0:00                                             ` John Volan
1998-08-11  0:00                                             ` Don Harrison
1998-08-11  0:00                                               ` geoff
1998-08-31  0:00                                             ` Matthew Heaney
1998-08-31  0:00                                               ` Tucker Taft
1998-09-06  0:00                                                 ` John G. Volan
1998-09-06  0:00                                                   ` Matthew Heaney
1998-09-04  0:00                                               ` John G. Volan
1998-09-05  0:00                                                 ` Matthew Heaney
1998-09-05  0:00                                                   ` John G. Volan
1998-09-04  0:00                                               ` John G. Volan
1998-09-06  0:00                                                 ` Matthew Heaney
1998-09-06  0:00                                                   ` John G. Volan
1998-09-06  0:00                                                     ` Brian Rogoff
1998-09-06  0:00                                                       ` John G. Volan
1998-09-07  0:00                                                         ` Brian Rogoff
1998-09-07  0:00                                                           ` John G. Volan
1998-09-16  0:00                                                             ` Matthew Heaney
1998-09-06  0:00                                                   ` John G. Volan
1998-09-04  0:00                                               ` John G. Volan
1998-09-05  0:00                                                 ` John G. Volan
1998-09-06  0:00                                                   ` Matthew Heaney
1998-09-06  0:00                                                 ` Matthew Heaney
1998-09-05  0:00                                               ` John G. Volan
1998-09-05  0:00                                               ` John G. Volan
1998-08-11  0:00                                       ` doylep
1998-08-07  0:00                                   ` Don Harrison
1998-08-05  0:00                                 ` Matthew Heaney
1998-08-07  0:00                                   ` Don Harrison
1998-08-13  0:00                                     ` Robert A Duff
1998-08-14  0:00                                       ` adam
1998-08-14  0:00                                       ` Don Harrison
1998-08-05  0:00                           ` Static Polymorphism (Was Re: Naming of Tagged Types...) Brian Rogoff
1998-08-06  0:00                             ` Matthew Heaney
1998-08-06  0:00                               ` Brian Rogoff
1998-07-28  0:00             ` Naming of Tagged Types and Associated Packages Norman H. Cohen
1998-07-28  0:00               ` Stephen Leake
1998-07-28  0:00               ` Matthew Heaney
1998-07-28  0:00         ` Matthew Heaney
1998-07-28  0:00           ` Jean-Pierre Rosen
1998-07-28  0:00             ` Matthew Heaney
1998-07-28  0:00               ` dennison
1998-07-29  0:00                 ` Matthew Heaney
1998-07-30  0:00                 ` Robert Dewar
1998-07-30  0:00                   ` Matthew Heaney
1998-08-06  0:00         ` Robert A Duff
1998-08-06  0:00           ` Matthew Heaney
1998-08-06  0:00             ` Tucker Taft
1998-08-31  0:00               ` Matthew Heaney
1998-07-27  0:00       ` Jean-Pierre Rosen
1998-07-28  0:00         ` Matthew Heaney
1998-07-28  0:00           ` Jean-Pierre Rosen
1998-07-28  0:00             ` dennison
1998-07-29  0:00               ` Jean-Pierre Rosen
1998-07-29  0:00                 ` dennison
1998-07-29  0:00                   ` Jean-Pierre Rosen
1998-07-30  0:00                     ` dennison
1998-07-30  0:00                       ` Jean-Pierre Rosen
1998-07-29  0:00         ` Robert I. Eachus
1998-07-30  0:00           ` Jean-Pierre Rosen
1998-07-30  0:00             ` Robert I. Eachus
1998-07-31  0:00               ` Jean-Pierre Rosen
1998-07-31  0:00                 ` Robert I. Eachus
1998-08-01  0:00                   ` Jean-Pierre Rosen
1998-08-04  0:00                     ` Matthew Heaney
1998-08-04  0:00                       ` Jean-Pierre Rosen
1998-08-10  0:00                         ` Robert I. Eachus
1998-07-30  0:00           ` Matthew Heaney
  -- strict thread matches above, loose matches on Subject: below --
1998-07-26  0:00 tmoran
1998-07-27  0:00 ` dennison
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox