I use them incoherently, depending on context, time, and adherence to
something approximating to xNF for some X, normal-form. Other peoples
rules.
What I found interesting, is the divergence in strategy in managing.
strategy a: I shall show these as if they were 8 space indents. You
maybe can change this. Its columns on the screen.
strategy b: I shall, in a fit of lunacy, actually change these to
align to the 8 space indent column implications. your source is now
different
strategy c: You ran some tool like tr over these, and now, Its your
fault not mine. Good luck.
I usually wound up in strategy c but some editors of the day did
strategy b. I harbour a belief, this amongst other things, is why
patch -l was invented.
I know its heresy to contradict wiser people, but I think the number
of circumstances where space/tab actually did affect baud- or data-
rate was minimal. It was an effect more apparent and believed than
real. Sure, if you used an ASR33 the head positioning was better. That
experience set against being in a Vt52 or ADM5 world, by the time you
were in a vdu display of 80x24 I think it was gone. I never
consciously thought about it and I used both. It wasn't very material
for the circumstances but I wasn't trying to cram source into a 2k
memory to put into a rocket or a telephone switch or anything. It's a
bit like steam-engine enthusiasts arguing about boiler tube design:
most shunters don't care.
People mostly hated me mucking around with their code. I can't blame
them. It would be horrid to live in a really nicely laid out world in
either tab or space-land and have a hooligan come and scribble over
your art with a texta. Aside from simply coding bad answers to
problems, I do note that sending people who demanded KNF non-KNF
formatted code usually led to rapid rejection.
The US is a place where people still use fixed-width fonts and
specific spacing to file paper on the law courts, although I note
Sydney Powell didn't bother spell checking before she sent in the
incredibly weird conforming style of text. I should complain: the IETF
idnit checker is feral.
-G
On Fri, Mar 5, 2021 at 10:55 AM Larry McVoy <lm(a)mcvoy.com> wrote:
On Thu, Mar 04, 2021 at 07:44:12PM -0500, John Cowan wrote:
On Thu, Mar 4, 2021 at 2:10 PM emanuel stiebler
<emu(a)e-bbes.com> wrote:
Does it help, if we differentiate with the type of text ?
Assembler : Tabs = 8 spaces
(c, c++, pascal, java, etc.) : tabs = 4 spaces
The Lisp community long ago standardized on 2-space indentation.
I used to be a 4 spaces are tabs guy but Sun beat that out of me.
Tabs are tabs and they are for a reason, though that reason is pretty
dead. The reason was pretty printing listings, anything but tabs got
all screwed up. But it has probably been a decade or more since I've
pretty printed anything, maybe two. Old habits...
I developed my own use of 4 spaces, those are "continuation lines"
if (some_stupidly_long_expression_that_goes_on_forever >=
this_never_happens_but_it_does_happen_when_deeply_nested) {
statement;
statement2;
etc;
}
But I'm weird, I hate
if (expr)
statement;
I do
if (expr) statement;
Curly braces are for more than one statement or I do do
if (expr) {
statement;
} else {
statement2;
}
I also like perl so I do
#define unless(x) if (!(x))
because I think this reads better:
FILE *f;
unless (f = fopen(argv[1], "r")) {
perror(argv[1]);
exit(1);
}