Re: "no variable or argument declarations are necessary."
- From: Steven D'Aprano <steve@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 04 Oct 2005 01:46:49 +1000
On Mon, 03 Oct 2005 06:59:04 +0000, Antoon Pardon wrote:
> Well I'm a bit getting sick of those references to standard idioms.
> There are moments those standard idioms don't work, while the
> gist of the OP's remark still stands like:
>
> egold = 0:
> while egold < 10:
> if test():
> ego1d = egold + 1
for item in [x for x in xrange(10) if test()]:
But it isn't about the idioms. It is about the trade-offs. Python allows
you to do things that you can't do in other languages because you
have much more flexibility than is possible with languages that
require you to declare variables before using them. The cost is, some
tiny subset of possible errors will not be caught by the compiler. But
since the compiler can't catch all errors anyway, you need to test for
errors and not rely on the compiler. No compiler will catch this error:
x = 12.0 # feet
# three pages of code
y = 15.0 # metres
# three more pages of code
distance = x + y
if distance < 27:
fire_retro_rockets()
And lo, one multi-billion dollar Mars lander starts braking either too
early or too late. Result: a new crater on Mars, named after the NASA
employee who thought the compiler would catch errors.
Declared variables have considerable labour costs, and only marginal
gains. Since the steps you take to protect against other errors will also
protect against mistyping variables, declarations of variables is of
little practical benefit.
--
Steven.
.
- Follow-Ups:
- Re: "no variable or argument declarations are necessary."
- From: Antoon Pardon
- Re: "no variable or argument declarations are necessary."
- References:
- "no variable or argument declarations are necessary."
- From: James A . Donald
- Re: "no variable or argument declarations are necessary."
- From: Jean-François Doyon
- Re: "no variable or argument declarations are necessary."
- From: James A . Donald
- Re: "no variable or argument declarations are necessary."
- From: Michael
- Re: "no variable or argument declarations are necessary."
- From: George Sakkis
- Re: "no variable or argument declarations are necessary."
- From: Antoon Pardon
- "no variable or argument declarations are necessary."
- Prev by Date: morphological image processing in Python
- Next by Date: Graphical debugger/code explorer
- Previous by thread: Re: "no variable or argument declarations are necessary."
- Next by thread: Re: "no variable or argument declarations are necessary."
- Index(es):
Relevant Pages
|