10 de octubre de 2024

La eterna batalla entre tabulador y espacio a la hora de programar. Y qué papel tuvo el precio de los discos en la misma

La eterna batalla entre tabulador y espacio a la hora de programar. Y qué papel tuvo el precio de los discos en la misma

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

-
La noticia La eterna batalla entre tabulador y espacio a la hora de programar. Y qué papel tuvo el precio de los discos en la misma fue publicada originalmente en Genbeta por Marcos Merino .



☞ El artículo completo original de Marcos Merino lo puedes ver aquí

No hay comentarios.:

Publicar un comentario