hungarian notation is evil (was Re: Do I always have to write "self." ?)

Martijn Faassen m.faassen at vet.uu.nl
Thu May 18 14:02:11 CEST 2000


Francis Glassborow <francis at robinton.demon.co.uk> wrote:

[snip]
>>C++ and Perl both require more self-discipline than is posessed
>>by 99% of the programming population (myself included).

> Actually that remark applies to any language used to write substantial
> amounts of code.

Sure, but it applies *more* to languages like C++ or Perl than to
Python, still. :)

> Any fool can write unreadable code in any language.

That doesn't mean it's not far easier to write unreadable code in some
languages.

> Writing code that is unreadable to someone who is fluent in a language
> is probably a sign of incompetence. Not being able to read the code of a
> competent programmer probably indicates your own level of inadequacy.

Yes, but with some languages, it's easier to become fluent.
This is pretty easy to make clear; just take a look at assembly language,
and why almost everybody avoids programming in it (I don't believe
portability arguments are the main reason :).

> If you want your opinions respected, respect the tools used by others.

Of course. Doesn't mean the tools aren't different, still. 

> Or, to put it another way: 'Bad workman blame their tools.'

Good workmen can also pick the best tools for the job. They can
also recognize bad tools. This is not to imply that Perl and C++
are bad tools. C++ is a good tool if you need a reasonable level of
OO style abstraction and lots of speed and memory efficiency, for instance.
Another requirement is that you need to know it incredibly well. :)

I'd agree that being judgemental about programming languages doesn't help,
but withholding your judgement doesn't help either. I think it's sensible 
to judge that C++ is very hard to use well, if your requirement is
maintainable code.
 
Regards,

Martijn
-- 
History of the 20th Century: WW1, WW2, WW3?
No, WWW -- Could we be going in the right direction?



More information about the Python-list mailing list