tungwaiyip.info

home

about me

links

Blog

< June 2012 >
SuMoTuWeThFrSa
      1 2
3 4 5 6 7 8 9
10111213141516
17181920212223
24252627282930

past articles »

Click for San Francisco, California Forecast

San Francisco, USA

 

Python Whitespace Misconception

Whitespace is significant in Python. This uncommon syntax rule is one of the refrain of many non-Python programmers about Python. Given most computer languages since Fortran has adopted free layout syntax, this feel like an objectionable design.

Now that I think of it, I find this mostly a problem of wrong framing. The term "whitespace" has already embedded the meaning of unimportant filler. In this sense "significant whitespace" sounds like a problem. Actually the right way to describe it is that Python uses indentation to determine the block structure. Rather than feeling wrong, this is lot more likely to evoke an "aha" reaction from non-Python programmers. Of course it makes a lot sense for the indentation to follow the block structure. I can hardly find any legitimate case for those two to differ.

Austere programmers may notice that there are two way to indicate block structure in main stream languages, by using language construct like "begin" and "end" and by laying out the code using indentation. Whenever there are two ways to do express one thing there will be problem of inconsistency. This extra degree of freedom can get you into trouble sometimes. One of the most nasty class of programming bug is dangling else. It is the case in free layout language when the apparent block structure is different from the actual block structure. Dangling else is not possible in Python. It is because the block structure is determined by the indentation.

2012.06.08 [] - comments

 

 

blog comments powered by Disqus

past articles »

 

BBC News

 

Ukraine war: Russian missile strikes kill 19 in Odesa region - emergency service (01 Jul 2022)

 

Xi defends Hong Kong rule on handover anniversary (01 Jul 2022)

 

Brittney Griner: Detained US basketball star appears in Russian court on drug charges (01 Jul 2022)

 

Technoblade: Minecraft YouTuber dies from cancer aged 23 (01 Jul 2022)

 

Missing Cryptoqueen: FBI adds Ruja Ignatova to top ten most wanted (01 Jul 2022)

 

Nupur Sharma: India court says Prophet row 'set country on fire' (01 Jul 2022)

 

Bison attacks woman at Yellowstone National Park (01 Jul 2022)

 

Supreme Court limits Biden's power to cut emissions (30 Jun 2022)

 

North Korea claims Covid arrived on 'alien things' near border (01 Jul 2022)

 

US stocks see worst first half drop in more than 50 years (01 Jul 2022)

more »

 

SF Gate

 

'This will be somewhat painful': Elon Musk talks Twitter takeover in extended interview at TED2022 Vancouver (14 Apr 2022)

 

Best Background Check Services in 2022, Top 13 People Finder Sites Reviewed (5 Apr 2022)

 

Better.com employees got severance checks before they were laid off (9 Mar 2022)

 

Apple joins other Bay Area tech giants in responding to Russian invasion of Ukraine (1 Mar 2022)

 

Uber will now show you how you’re rated by drivers (18 Feb 2022)

 

The man behind Google’s Silicon Valley headquarters says fancy tech offices are ‘dangerous’ (24 Jan 2022)

more »


Site feed Updated: 2022-Jul-01 07:00