comp.lang.ada
 help / color / mirror / Atom feed
From: jhd@herold.franken.de (Joachim Durchholz)
Subject: Re: whither style
Date: 1996/01/08
Date: 1996-01-08T00:00:00+00:00	[thread overview]
Message-ID: <60SqRiBF3RB@herold.franken.de> (raw)
In-Reply-To: 30e26364.2569895@news1.wolfe.net

Jeez, there are so many points here I'd like to give my 2c worth of I  
can't resist.

beatty@netcom.com wrote 07.01.96 on Re: whither style:

> As to scope, surely if you're smart enough to use Eiffel you're not using
> global variables, or at least not very many of them, or at least not without
> some clear way to distinguish them.  Actually, I'm a bit surprised that
> Eiffel has global variables, but you brought them up.

There is definitely no such thing as a global variable in Eiffel.

> >close to its uses. And if your program unit is longer than a few
> >tens of lines (which is poor style in e.g., Eiffel)...
>
> from printed listings.  And yes, a good environment will show me a
> variable's type just by clicking on it, but with HN I know the type just by
> *looking* at it, and looking is even easier than clicking.

Good code is so short you see the declaration at a glance. And if I'm  
discussing lengthy code in an environment where I don't have an  
environment that shows me the declaration, then I just include it with the  
code. True, HN has its use there, but rather as a means of abbreviation.

> Were that to be done, this thread would die just when it is becoming more
> interesting.  The assertion has been made that language and technology
> better solve the problem that HN attempts to address.  I disagree because I
> prefer three tools to two (and I'm not convinced that language is relevant
> at all).

I prefer one good tool to a dozen of inappropriate ones.

I think HN is inappropriate for languages where you can change the  
representation of a type behind the scenes, simply because it's impossible  
to invent an abbreviation for every type that shows up in a project.

In my experience, such languages actually don't need HN; the compiler will  
catch all errors that HN is supposed to help avoid. This is because in  
these languages, the type of a variable or value precisely defines what  
operations are admitted for it. If you had a type zero-terminated-string  
in such a language, the compiler won't allow you to pass this to a routine  
that expects a string with a length descriptor.

For languages that have a more loose relation of types and routines,
you need to have some fast way of checking wether an operation is  
applicable. HN makes that check easier, so it has a point there.

-Joachim

--
Im speaking for myself here.
## CrossPoint v3.02 ##




           reply	other threads:[~1996-01-08  0:00 UTC|newest]

Thread overview: expand[flat|nested]  mbox.gz  Atom feed
 [parent not found: <30e26364.2569895@news1.wolfe.net>]
replies disabled

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