Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask

Re^2: No Hard Tabs in Code

by Xiong (Hermit)
on Jul 06, 2010 at 15:09 UTC ( #848242=note: print w/replies, xml ) Need Help??

in reply to Re: No Hard Tabs in Code
in thread No Hard Tabs in Code

I deliberately treat all horizontal whitespace alike today. Spaces only.

It's just as well I don't make the distinction. If I did, I'd have to quibble with your definition. But I don't. "One char to rule them all."

- the lyf so short, the craft so long to lerne -

Replies are listed 'Best First'.
Re^3: No Hard Tabs in Code
by SuicideJunkie (Vicar) on Jul 06, 2010 at 17:46 UTC

    I fail to see what is so difficult about that definition. Indentation is logical spacing. Alignment is the visual spacing.

    TidyPerl knows the difference as shown above.

    Or, to use a heretical example, Python forces you to use only indentation, and forbids alignment.

    I don't think it gets much simpler than saying "The stuff you like to be 2 spaces wide but the guy sitting next to you likes to be 4 spaces wide". That's the indentation.

      Or, to use a heretical example, Python forces you to use only indentation, and forbids alignment.

      Python forces you to indent consistently but does not mandate what consistency is required (it's possible to mix tabs and spaces, but that's unfortunate).

      Python does not mandate alignment (though there is common practice - see PEP8), and if you wanted to format a Python dict like a (standard) Perl hash with keys, colons, and values each aligned, you could. You could also put the closing brace wherever you wanted: end of line, start of next line, indented, matching the opening brace... Same goes for method parameters - the "def" has to be at the correct indentation, but everything after that is freely alignable. If you wanted to align open parentheses of every method, align parameters one below another, and close the parentheses 4 spaces in, you can. etc etc etc.

      It is possible to write any program in perfectly legal, if unpleasant, python where only a single character has forced indentation, and everything else can be freely aligned. (It's also possible to write any program with a total of 2 keywords and no other letters, numbers, or hardcoded strings, but that's considered impolite)

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://848242]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others chanting in the Monastery: (3)
As of 2021-10-23 07:51 GMT
Find Nodes?
    Voting Booth?
    My first memorable Perl project was:

    Results (87 votes). Check out past polls.