The talking bit

A blog about programming, mainly PHP, and maybe other things


Project maintained by franiglesias Hosted on GitHub Pages — Theme by mattgraham

Semicolon (Blogtober2019)

por Fran Iglesias

Mi compañera y manager en Holaluz Mavi Jiménez va a hacer un dibujo cada día del mes sobre una palabra propuesta en twitter. Y aquí vamos a intentar escribir un post por cada una de ellas.

Semicolon

Una buena cantidad de lenguajes de programación utilizan el punto y coma, o semicolon, como delimitador del final de una sentencia o instrucción. En otros lenguajes, se asume que cada sentencia va en una línea. En ese caso, suele hacer falta un carácter indicador cuando una sentencia tiene que escribirse en varias líneas por algún motivo.

Diría que algunos lenguajes que no usan el semicolon tienen cierta tendencia a mirar por encima del hombro con una sonrisita de autosuficiencia a lenguajes que lo usan, como si éstos fuesen un poco paletos, mientras que ellos son muy sofisticados.

La verdad es que los lenguajes sin semicolon al final tienen algunos problemillas cuando les toca construir líneas largas y se ven obligados a introducir algún artificio para señalar que una sentencia continúa en la línea siguiente, ya sea el backslash \ o el ampesand &, entre otros.

Este es uno de esos problemas curiosos que suceden en informática. Cosas que como humanos nos parecen simples, como saber cuándo se ha terminado una frase, representan un pequeño desafío para un programador. Este desafío se puede resolver de muchas maneras: inventando una convención arbitraria, detectando un patrón o mediante un algoritmo complejo. Resolver el dilema de cuál de las opciones es más conveniente es una cuestión de analizar los costes, los posibles beneficios, las limitaciones, los casos extremos, ponerlos ante ti y decidirte por una de ellas.

Algunas de esas decisiones, tomadas por otros programadores hace muchos años, siguen presentes en los lenguajes que usamos en al actualidad como una especie de arcaicismo que sigue resolviendo el problema original, incluso aunque no fuera estrictamente necesario mantenerlo.

Y eso es algo que aporta un encanto espacial.

October 13, 2019

Etiquetas: blogtober19  

Temas

php good-practices blogtober19 testing refactoring tdd design-principles legacy misc design-patterns bdd tips python ddd tools soft-skills bbdd api sql ethics testing, swift javascript