Differences between revisions 3 and 4
Revision 3 as of 2008-08-12 22:53:29
Size: 1246
Editor: MichaelFoord
Comment:
Revision 4 as of 2008-08-12 22:55:22
Size: 1237
Editor: MichaelFoord
Comment:
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
  * You're going to indent your code even if your language uses brackets or other start/end separators, if you want it to be readable and understandable. Extra notation beyond what we should be doing regardless of the language doesn't add anything, except for clutter.
* In order to separate blocks of code (like for loops, if blocks and function definitions) the compiler / interpreter needs something to tell it when a block ends. Curly braces and end statements are perfectly valid ways of providing this information for the compiler. For a human to be able to read the code indentation is a much better way of providing the visual cues about block structure. As indentation also contains all the information for the compiler, to use both would be redundant. As indentation is better for humans, it makes sense to use that for the compiler too. It has the advantage that Python programs tend to be uniformly and consistently indented, removing one hurdle to understanding other people's code. Python does not mandate how you indent (two spaces or four, tabs or spaces - but not both), just that you do it consistently.
  * In order to separate blocks of code (like for loops, if blocks and function definitions) the compiler / interpreter needs something to tell it when a block ends. Curly braces and end statements are perfectly valid ways of providing this information for the compiler. For a human to be able to read the code indentation is a much better way of providing the visual cues about block structure. As indentation also contains all the information for the compiler, to use both would be redundant. As indentation is better for humans, it makes sense to use that for the compiler too. It has the advantage that Python programs tend to be uniformly and consistently indented, removing one hurdle to understanding other people's code. Python does not mandate how you indent (two spaces or four, tabs or spaces - but not both), just that you do it consistently. Those that get used to the Python way of doing things tend to start seeing curly braces as unnecessary line noise that clutters code. On the other hand, the 'whitespace thing' is possibly the single biggest reason why some developers refuse to even try Python.

SEE:[wiki:Ten_things_people_want_to_know_about_Python Ten things people want to know about Python]

Answer
  • In order to separate blocks of code (like for loops, if blocks and function definitions) the compiler / interpreter needs something to tell it when a block ends. Curly braces and end statements are perfectly valid ways of providing this information for the compiler. For a human to be able to read the code indentation is a much better way of providing the visual cues about block structure. As indentation also contains all the information for the compiler, to use both would be redundant. As indentation is better for humans, it makes sense to use that for the compiler too. It has the advantage that Python programs tend to be uniformly and consistently indented, removing one hurdle to understanding other people's code. Python does not mandate how you indent (two spaces or four, tabs or spaces - but not both), just that you do it consistently. Those that get used to the Python way of doing things tend to start seeing curly braces as unnecessary line noise that clutters code. On the other hand, the 'whitespace thing' is possibly the single biggest reason why some developers refuse to even try Python.

Why separate sections by indentation instead of by brackets or 'end' (last edited 2009-04-05 23:45:26 by 99-51-74-201)

Unable to edit the page? See the FrontPage for instructions.