Un carácter, múltiples vistas: las pestañas permiten que cada persona ajuste el ancho de indentación sin reescribir el código.
Las pestañas codifican la intención “esto es indentación”, delegando en el editor cómo visualizarla (2, 4, 8 columnas, etc.). Eso mejora la accesibilidad: quien usa pantallas pequeñas o necesita fuentes grandes puede reducir el ancho de tabulación y evitar saltos de línea innecesarios. También armoniza equipos con preferencias distintas sin imponer una sola convención visual. En consecuencia, el mismo archivo sirve a todos y el debate “2 vs 4 espacios” deja de fragmentar al equipo.
Menos bytes y diffs más limpios: una pestaña ocupa 1 byte; varios espacios por nivel multiplican el ruido en el historial.
En ASCII/UTF‑8, una tabulación es un solo byte (0x09), mientras que 4 espacios por nivel son 4 bytes; a 3 niveles de sangría son 12 bytes frente a 3, ahorrando 9 bytes por línea. Ejemplo: en 10.000 líneas con esa media se ahorran ~90 KB; no cambia el mundo, pero sí reduce el tamaño de parches, acelera revisiones y hace más claros los diffs. Menos caracteres redundantes implican menos oportunidades de conflictos triviales en merges. Este ahorro se acumula en monorepos y CI, donde cada byte cuenta al mover y comparar texto.
Semántica nítida: pestañas para indentación, espacios para alineación fina evita errores y ambigüedades.
Usar pestañas comunica de forma inequívoca el concepto de nivel de bloque; los espacios se reservan para alinear casos especiales (por ejemplo, columnas en literales o tablas). Esta separación reduce la mezcla invisible de blancos que rompe alineaciones al cambiar el ancho, un dolor común con solo espacios. No es casual que guías exigentes —como la del kernel de Linux— recomienden tabs para indentación: minimiza sorpresas y hace el código más portable entre entornos. El resultado es un layout robusto que se adapta sin artefactos visuales.
Historial estable: cambiar preferencias no reescribe el repo; con pestañas ajustas la vista, no el contenido.
Si un equipo pasa de 2 a 4 espacios, suele forzar un reformateo masivo que altera hasta el 100% de las líneas tocadas, ensuciando blame y ocultando cambios lógicos; con pestañas, el cambio es puramente de visualización y el diff es 0. Esa estabilidad histórica simplifica auditorías, cherry‑picks y bisect, y reduce el “churn” que confunde a herramientas y personas. En revisiones y backports, mantener el contenido estable es oro: te concentras en lo que cambió de verdad. Menos ruido estructural significa más foco en la intención del código.