comp.lang.ada
 help / color / mirror / Atom feed
* Re: whither style
       [not found] ` <30e26364.2569895@news1.wolfe.net>
@ 1996-01-08  0:00   ` Joachim Durchholz
  0 siblings, 0 replies; only message in thread
From: Joachim Durchholz @ 1996-01-08  0:00 UTC (permalink / raw)


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 ##




^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1996-01-08  0:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <cmanDK7x13.5KM@netcom.com>
     [not found] ` <30e26364.2569895@news1.wolfe.net>
1996-01-08  0:00   ` whither style Joachim Durchholz

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