Dear Mr D'Aprano,

I thank you for your post but I must complain in the strongest possible terms that it was not enclosed in the correct delimeters. It should have been enclosed in a <humour>... </humour> pair (or <humor>...</humor> if you are American).

I was drinking coffee at the time I started reading your post and, entirely due to your negligent lack of proper delimiters, much of my coffee is now irretrievably resident in my keyboard. My lawyers will be in touch...


On 22/02/2013 11:26, Steven D'Aprano wrote:
On Thu, 21 Feb 2013 14:40:37 -0800, piterrr.dolinski wrote:

With Python, I am having to do this

code
code

##############################

if (some condition):
   code
   code

##############################

I prefer this:


# WARNING WARNING WARNING IF STATEMENT AHEAD BEWARE BEWARE BEWARE
if something():
     do(stuff)
# WHEW IF STATEMENT FINISHED!!! WE SURVIVED, THANK THE GODS!!!


That way I can be sure that people reading it will know it is an "if" and
not a "for" or "while", just in case the actual code wasn't clear enough.



I am nervous about using variables "out of the blue", without having to
declare them.
I feel your pain. I'm nervous about declaring variables "out of the
blue", without having to declare that I'm about to declare them. I live
in hope that some day I will find a language that lets me write:

FORWARD VARS:
     int x;
     double y;
     str s;

VARS:
     int x;
     float y;
     str s;


and have the compiler catch my error in declaring y as a float instead of
a double. Then I will be one step closer to my dream of not having to
understand the code I write.


For example, when I write "i = 0" it is perfectly OK to
Python without 'i' being declared earlier. How do I know that I haven't
used this variable earlier and I am unintentionally overwriting the
value? I find I constantly have to use the search facility in the
editor, which is not fun.
Some people suggest that functions should be small enough to read over in
a glance, or at least a couple of glances. They even say that variable
names should be meaningful, so you can tell whether a variable has been
used from context. I say, fi to that! Programming should be a challenge!
It should be exciting! Which is why I never use functions, and always use
the same single-letter variable with a cryptographic hash to distinguish
them.

i048b8497cf86dab9dade2ce6beddf13a = []
i048b6497cd85d9b9da2a3ce6bdedf167 = 42


*wink*


I'm not going to apologise for taking the piss, although I do hope you
will take it in the spirit it is intended: constructive criticism rather
than abuse. The reality is, these "problems" you are running into are not
problems in practice, and the "solutions" you are used to, like braces,
are visually noisy and not terribly effective. You would probably think
differently of { } if they were spelled "BEGIN" and "END" like in Pascal.

Braces have one, and only one, advantage: if you pass code through a
noisy environment that deletes whitespace at will, you can recover the
structure of the code from the braces. Python does not have that
advantage, and sometimes it is a pain, e.g. when people email code using
a broken mail client that deletes spaces.

But then, if you passed C code through something that deleted the braces,
you'd be royally screwed too. The solution to that is to stop having
tools that think that whitespace isn't significant. Of course it is
significant, it is significant to the human reader, who is about a
hundred billion trillion times more important than the compiler.




--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to