Python Newbie

Steve Simmons square.steve at gmail.com
Fri Feb 22 06:05:11 EST 2013


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




More information about the Python-list mailing list