Lo veo sobre todo en la filosofía de UNIX sintetizada en la famosa frase “hacer una cosa y hacerla bien“, ¿pero qué significa “hacerlo bien” en este contexto?
Me queda claro que un principio es la simplicidad, que entiendo como economía de procesos. También, evidentemente, que el programa haga su trabajo sin errores. ¿Pero hay algo más?
a veces es dificil definir esto, por ejemplo puede que se refiera a que haga un buen uso de la memoria, en lenguajes como c, si no liveras la memoria, se queda ahi ocupando espacio. Muchos piensan en esto como un sacrilegio, en otros casos es que un solo algoritmo busca el elemento, ordena, elimina e inserta, en esos caso se prefiere que se use una funcion para cada cado (es lo que mencionas de hacer solo una cosa) realmente es dificil definir que algo sea bueno o no. Pero muchas veces que logre cumplir el objetivo ya se considera bueno, puede que le falte optimizacion pero se puede seguir trabajando en eso, realmente es dificil que de una sola vez implementes algo que use la minina memoria posible, que sea O1 y que ademas sea muy elegante. Yo solo pensar que si la implementacion funciona y se puede entender facil ya es algo bueno
Claro, pero la pregunta iba a desarrollar esas ideas porque son demasiado sintéticas. ¿Qué significa que sea seguro? ¿qué hace rápido un programa? Y más en general ¿cómo valoran los programadores que un código es mejor que otro?
Con seguro me refiero a que no tenga vulnerabilidades pendejas, rapido me refiero a que no este inflado con código innecesario que lo haga pesado y lento, y valorar un código mejor que otro es relativamente subjetivo, a nivel general diria que un codigo es mejor si cumple todo lo dicho.