Hacker News new | ask | show | jobs
by oxinabox 1971 days ago
Semantically: tabs are simply correct. They encode actual meaning. Rather than merely presentation. They also win on accessibility, because someoen with visual difficulties can adjust their editor to display them as larger or smaller.

The counter to this is people using spaces for alignment, Like if one wants to list arguements below the openning backet of a function call, and line up the closing bracket.

The counter counter is: stop that. Adopt a style guide that doesn't do alignment and sticks to a simple rule like "Always indent once while within a multiline expression" Alignment is for art. We don't have time for your subjective view of what makes code pretty.

3 comments

Ouch.

Programming is art—to some of us!

Computers don't care about the alignment or the code looking pretty on screen, but code looking pretty on screen helps the human writers and readers alike.

I am sure you don't use syntax highlighting either, and that you only use short one-letter variable names.

A consistant alignment-free indenting only style is perfectly readably. More reably than a lot of inconsitently applied and subjective alignment styles I often see.

Though I have also seen consistently applied non-subjective alignment based styles, that are also perfectly reably. But no more reasable than a consistently applied indenting only style. Alignment styles are in general more complex to describe and thus more inconsistently applied.

And sure some subjective alignment based styles are pretty are maybe even marginally more readable. But does it scale? Can the intern who is only here for summer weeks be expected to learn what makes it look nice in the teams opinion while also learning everything else? How about that one coworker who just doesn't agree and refuses to conform to these subjective rules that can't even be written down. Sure, you can have art if you want for your solo project. But programming is a team sport.

Are you suggesting that it's hard to teach an intern how to consistently align code with spaces but not with tabs?

Or that people using tabs-only are in general more consistent in the other parts of code styling?

I _don't_ have any data to support either, but I strongly suspect it's completely unrelated to one another.

But I still disagree with your take on whether a team activity to achieve something of practical value can be or can contain art (and I am not thinking only about the presentation/appearance of code).

Agreed, and I used to be a "tabber". I'm not sure you can indent lisp using tabs though. For instance, indentation of "let" and "let*" differ by a single space I believe.
> Semantically, tabs are simply correct. They encode actual meaning rather than merely presentation.

Yes, but tabs are defined in terms of presentation. Therein lies the confusion.

We have spend decades understanding the seperation of presentation /view from model