To je tak nějak samozřejmé. Všechno má výhody a nevýhody. Jestli výhody tabulátorů převyšují jejich nevýhody je IMO závislé na lidech a mnoha dalších okolnostech.
Chtěl jsem vypíchnout, že otázka, jestli tabulátory používat nebo ne, je natolik binární, že v ní asi žádný kompromis není možný. Je možné jenom zvolit možnost, která v dané situaci vypadá vhodnější.
Jakto, že kompromis není možný?
1) Tabulátor samozřejmě používat, a to pro typografickou sazbu. Např. pro sazbu tabulek, apod.
2) V plain textu zdrojového kódu nemá tabulátor co dělat. Kromě makefilu, kde je to bohužel dané historicky. Vzhledem k tomu, že neproporcionální písmo je automaticky sloupcově zarovnáváno, tak tam tabulátor nemá co dělat.
Nikdy jsem nepochopil, proč někdo blbne s tabulátory ve zdrojovém kódu. Navíc tabulátorů je několik (horizontální, vertikální, ...). Kromě toho lze kontrolními kódy třeba označovat desítky dalších věcí, třeba bych nasměroval na znaky 0x1C až 0x1F, které jsou přímo předurčeny stát se oddělovači mnoha věcí ve zdrojovém kódu. Proč to zastánci tabulátorů nepoužívají všechno a zbytečně se ochuzují?
A) Chápu, že kdysi se šetřilo každým bitíkem, a tak kombinace tabulátory + mezery dokázaly ušetřit pár bajtíků. Tehdy to mělo význam. Dnes je tento argument zcela pasé.
B) Argument, že si pomocí tabulátorů může v editoru nastavit jeho šířku - je argument někoho, kdo zamrzl v pravěku. Dnes si přeformátuji zdrojový kód asi stovkou nástrojů a editorů jak chci i bez tabulátorů. A odsazení je to poslední, co bych řešil. Daleko důležitější je X dalších věcí v code style, které jsou schopny čitelnost zhoršit mnohem více.
> Jakto, že kompromis není možný?
> V plain textu zdrojového kódu nemá tabulátor co dělat.
Celou dobu se tu bavíme o zdrojovém kódu. Nazývat kompromisem to, že se zdroják formátuje mezerama a taby se přece můžou používat někde jinde hraničí s výsměchem. Nemám problém s tím, že se zvolí jedna možnost. Mám problém nazývat kompromisem něco, co naprosto překroutí a vykuchá pozici jedné strany.
> Nikdy jsem nepochopil, proč někdo blbne s tabulátory ve zdrojovém kódu.
Ze stejného důvodu, proč někdo blbne třeba se styly ve Wordu. Je to posun k abstraktnější sémantice od konkrétního formátování.
> Proč to zastánci tabulátorů nepoužívají všechno a zbytečně se ochuzují?
Třeba protože ty ostatní věci jim na rozdíl od tabulátorů nic moc užitečného nepřináší? Jinak to, co tady předvádíte zavání šikmou plochou. Opravdu to není přesvědčivý argument. Ale líp se to cupuje, že?
Ad B)
Na rozdíl od automatického přeformátování si změnou šířky tabu nerozbiju třeba diffy. Změna šířky tabu je fajn v tom, že si _identická_ data může víc lidí v teamu zobrazit trochu jinak. Tohle se dělá automatickým formátovačem fakt blbě.
> A odsazení je to poslední, co bych řešil.
> V plain textu zdrojového kódu nemá tabulátor co dělat. ... Nikdy jsem nepochopil, proč někdo blbne s tabulátory ve zdrojovém kódu.
No evidentně to řešíte, pokud není po Vašem. ;)