Uno
de
los
debates
más
antiguos
y
enconados
en
la
industria
del
desarrollo
de
software
es
la
cuestión
de
cómo
sangrar
el
código:
¿es
mejor
usar
tabulaciones
o
espacios?
A
primera
vista,
podría
parecer
una
cuestión
trivial,
pero
este
dilema
ha
generado
múltiples
discusiones
acaloradas
entre
programadores
a
lo
largo
de
las
décadas.
Larry
Osterman,
ingeniero
veterano
de
Microsoft
con
más
de
cuatro
décadas
de
experiencia,
ha
abordado
el
tema
en
un
reciente
vídeo
publicado
por
el
canal ‘Microsoft
Developer’
en
el
que
aborda
cómo
ha
influido
en
este
debate
un
hecho
tan
aparentemente
ajeno
al
mismo
como
el
precio
de
los
dispositivos
de
almacenamiento.
Cuando
cada
byte
contaba
La
historia
de
la
disputa ‘tabulaciones
vs.
espacios’
se
remonta
a
los
inicios
de
la
programación,
cuando
el
almacenamiento
era
un
recurso
muy
limitado
y
caro
(muy
caro).
Osterman
explica
que
cuando
él
estudiaba
en
la
universidad
y
se
programaba
en
lenguajes
como
Pascal,
el
almacenamiento
disponible
para
los
estudiantes
era
de
tan
solo
512
kilobytes.
Bajo
esas
restricciones,
cada
byte
contaba.
Cada
nivel
de
sangría
implicaba
un
costo
de
aproximadamente
ocho
bytes
si
se
usaban
espacios,
mientras
que
las
tabulaciones,
que
ocupaban
un
solo
byte
para
cubrir
un
espacio
semejante,
resultaban
una
solución
mucho
más
eficiente.
Este
contexto
hace
que
se
entienda
mejor
la
preferencia
por
las
tabulaciones
en
los
primeros
días
de
la
computación.
Durante
esos
tiempos,
los
desarrolladores
necesitaban
maximizar
la
eficiencia
del
almacenamiento
para
asegurarse
de
que
sus
programas
cupieran
en
la
limitada
memoria
disponible.
A
discos
duros
más
baratos…
¿menor
uso
del
tabulador?
Hoy
en
día,
sin
embargo,
la
tecnología
ha
cambiado
drásticamente.
El
almacenamiento
es
extremadamente
abundante
y
económico;
una
unidad
de
disco
duro
de
un
terabyte
se
puede
adquirir
por
una
suma
relativamente
pequeña,
lo
que
convierte
la
optimización
de
cada
byte
en
una
preocupación
del
pasado.
Ante
este
cambio
en
el
contexto,
Osterman,
como
muchos
otros
desarrolladores,
cambió
de
opinión
y
se
unió
al ‘team
Space’.
Según
él,
su
razón
principal
para
apostar
los
espacios
es
la
consistencia
en
la
visualización
del
código.
Es
decir,
que,
con
espacios,
el
código
se
visualizará
igual
independientemente
del
editor
o
la
configuración
del
software
que
utilice
cada
desarrollador.
Para
Osterman,
los
espacios
son
sinónimo
de
fiabilidad:
siempre
ofrecen
la
misma
presentación…
mientras
que
las
tabulaciones,
al
depender
de
configuraciones
individuales
para
determinar
el
ancho
de
la
sangría,
pueden
generar
inconsistencias
en
el
código
al
ser
visualizado
por
diferentes
personas
o
herramientas.
Esto
se
convierte
en
un
problema
serio
en
proyectos
colaborativos,
donde
el
aspecto
del
código
puede
variar
considerablemente
según
las
preferencias
del
desarrollador,
lo
cual
puede
ocasionar
errores
y
dificultar
el
mantenimiento
del
código.
En
este
debate,
ocurre
como
en
el
de
las
bebidas
alcohólicas:
lo
mejor
es
no
mezclar
En
algo
están
de
acuerdo
las
dos
facciones…
El
propio
Osterman
concluye
con
una
recomendación
sensata:
lo
más
importante
no
es
si
eliges
una
u
otra
opción,
sino
evitar
mezclarlas.
Mezclar
tabulaciones
y
espacios
puede
generar
verdaderos
quebraderos
de
cabeza,
ya
que
causa
problemas
graves
de
alineación
y
hace
que
el
código
sea
extremadamente
difícil
de
interpretar
y
mantener.
Esta
situación
puede
convertirse
en
una
pesadilla
para
los
desarrolladores
encargados
de
mantener
el
código
en
el
futuro.
Imagen
|
Marcos
Merino
mediante
IA
En
Genbeta
|
Están
los
programadores
que
usan
tabuladores
y
los
programadores
que
usan
espacios.
Y
luego
está
Linus
Torvalds