🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.eiffel
Article #1139

Re: whither style

#1139
From: Joachim Durchholz
Date: Mon, 08 Jan 1996 18:35
52 lines
3071 bytes
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 ##
Technical Details
Message-ID: <60SqRiBF3RB@herold.franken.de>
Path: arc1-ca.pugleaf.net!herold.franken.de!jhd
References: <cmanDK7x13.5KM@netcom.com> <30e26364.2569895@news1.wolfe.net> <4bvae4$fl6@beatty.slip.netcom.com> <4c0a6d$4hs@news.irisa.fr> <4cnmqu$2fg@beatty.slip.netcom.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!herold.franken.de!jhd
Date: 08 Jan 1996 19:35:00 +0100
From: jhd@herold.franken.de (Joachim Durchholz)
Newsgroups: comp.lang.eiffel,comp.lang.ada,comp.lang.c,comp.lang.c++,comp.lang.modula2,comp.lang.modula3,comp.lang.smalltalk
Message-ID: <60SqRiBF3RB@herold.franken.de>
References: <cmanDK7x13.5KM@netcom.com> <30e26364.2569895@news1.wolfe.net>
 <4bvae4$fl6@beatty.slip.netcom.com> <4c0a6d$4hs@news.irisa.fr>
 <4cnmqu$2fg@beatty.slip.netcom.com>
Subject: Re: whither style
X-Newsreader: XP v3.02
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit