Post BAXvbL14iCDSOqVeyG by galactus@col.social
 (DIR) More posts by galactus@col.social
 (DIR) Post #BAXm9pfIGgNFl88Bg8 by gabriel@col.social
       0 likes, 0 repeats
       
       Hace unos 25 años cuando @galactus  y yo vimos nuestros primeros cursos de programación, había un texto guía para aprender C. El "C How to Program", que gracias a una pobre diagramación Sergio llamaba "el chow". En el Chow había una sección de "buenas prácticas". La idea es que hay vainas que funcionan, pero que lo mejor para que el código sea util a futuro es hacer las cosas con cuidado. Ergo, buenas prácticas.* 1/3
       
 (DIR) Post #BAXm9puXM0ZEWPGMRE by gabriel@col.social
       0 likes, 0 repeats
       
       @galactus Aqui mi pregunta. Yo me imagino que detrás de esa decisión de "diseñar de manera ordenada y deliberada, planificando el uso de los recursos computacionales, minimizando el impacto, para que el resultado sea eficiente y corra bien" tendría que haber habido discusiones académicas. Y que eso tendría que tener un nombre, digamos el "minimalismo computacional" o algo así, y unas personas que abogaban por esa forma de hacer las cosas. ¿Es así? ¿quienes eran? ¿que escribieron? 2/3
       
 (DIR) Post #BAXm9q94TyC3FU3y5o by galactus@col.social
       0 likes, 0 repeats
       
       @gabriel creo que hay varias cosas mezcladas en la pregunta: La disciplina que estudia el *proceso* de construir software para conseguir determinadas propiedades (que sea correcto, mantenible, confiable, eficiente, etc etc) es parte, en términos generales, de la ingeniería de software (ahi hay toda una tradición de discusiones sobre que significa construir software "bien", lo cual sigue siendo una pregunta abierta.  (sigue)
       
 (DIR) Post #BAXm9rvfqkfImVoIUK by gabriel@col.social
       0 likes, 0 repeats
       
       @galactus La escuela opuesta sería la que estamos sufriendo hoy en día, el "si logramos que funcione no importa que cueste un potosí".Mi duda surge de que me siento un poco arando en el desierto al enseñar la frugalidad y el orden. Quiero validación. 3/3*Puede ser que las buenas prácticas estuvieran en la versión en castellano del chow, que también se conocía como el "deitel y deitel".
       
 (DIR) Post #BAXmSIquUN0NUjN8Fc by galactus@col.social
       0 likes, 0 repeats
       
       @gabriel Lo que tiene que ver específicamente con usar bien los recursos del computador es más difícil de meter bajo una sola etiqueta. Entran campos distintos: algoritmos y complejidad, sistemas operativos, arquitectura de computadores, compiladores, etc.
       
 (DIR) Post #BAXmWGFs5VXwb5w1fk by galactus@col.social
       0 likes, 0 repeats
       
       @gabriel Y, bueno, está la pregunta de que constituye un software "bien escrito". Lo que en buena medida es una preocupación de la ingeniería de software (simplicidad, mantenibilidad, legibilidad, modularidad, eficiencia, etc, etc). Se entrá en un terreno donde hay principios y escuelas diferentes y también depende de que propiedad se está tratando de optimizar...
       
 (DIR) Post #BAXqQebn1qSCCvljFI by gabriel@col.social
       0 likes, 0 repeats
       
       @galactus Pero no hay un  gurú y una declaración? igual que para el software libre estaba stallman, por ejemplo.
       
 (DIR) Post #BAXqejcLCccFnRjzo8 by galactus@col.social
       0 likes, 0 repeats
       
       @gabriel pero es que, de nuevo, cual es el objetivo que se esta buscando. Tal vez lo que usted busca es algo como la "filosofia unix": todo se deben hacer como programas pequeños que hagan una sola cosa, y la hagan bien. Pero es que creo que usted esta buscando lo que usted intuye como "como se debe escribir un programa", pero es que eso depende de sus objetivos.
       
 (DIR) Post #BAXtzvIfGHkFyPKfbs by gabriel@col.social
       0 likes, 0 repeats
       
       @galactus Algo así como la filosofía Unix, si.Lo segundo no tanto, entiendo que comencé a hablar de "cómo se debe escribir un pr...", pero era una herramienta retórica para hablar de lo que realmente me interesa. Y es que el ethos de la computación fue secuestrado por el consumismo. Y no hablamos lo suficiente de eso.
       
 (DIR) Post #BAXvMUlgAnFkIgENFI by nelson@col.social
       0 likes, 0 repeats
       
       @gabriel @galactus De hecho, una corriente de pensamiento es hacelo fácil y menos eficiente. Estilo Java (cuando era muy lento) o Python sin acelerar. Para un banco es mejor gastar cómputo y bajar probabilidad de errores por manejo de nemoria. Es muy diverso el mundo. Con respecto a la forma de programar.... Same. Y cada quien decide a quién aprenderle. Mi gurú era Sergio :-P
       
 (DIR) Post #BAXvMV2h9Wrd9SBxlg by galactus@col.social
       0 likes, 0 repeats
       
       @nelson @gabriel exacto, aunque pues lo de lento no era parte del objetivo, es parte del costo. Como todo en la vida, es un "trade off" :P
       
 (DIR) Post #BAXvbL14iCDSOqVeyG by galactus@col.social
       0 likes, 0 repeats
       
       @gabriel ya, sí.
       
 (DIR) Post #BAYCr4YbNC05CrHQfY by dani_el@col.social
       0 likes, 0 repeats
       
       @gabriel @galactus que es el ethos de la computación?
       
 (DIR) Post #BAYCr4l0d3vPpL5L0a by galactus@col.social
       0 likes, 0 repeats
       
       @dani_el @gabriel pues, el conjunto de principios, habitos, etc, que orientan como se usa la tecnologia informatica, o algo asi. Es claro que la comunidad alrededor de unix tiene un cierto ethos, la comunidad del free software tiene un ethos... asi.
       
 (DIR) Post #BAbNNrhpveI56e2PRY by Mushi@col.social
       0 likes, 0 repeats
       
       @gabriel @galactus yo me acuerdo, sobre todo en foros y principios de FOSS, que la discusión que usted llama minimalismo podria ser la "mantenibilidad", no? Hacer software para que dure, implica que el codigo sea facil de entender, esté bien anotado y comparta practicas con otros
       
 (DIR) Post #BAbNNrx50yU3rvAaCe by galactus@col.social
       0 likes, 0 repeats
       
       @Mushi @gabriel no son necesariamente lo mismo. En aras de la mantenibilidad se puede por ejemplo querer decir introducir niveles de abstracción que solo tienen sentido si se esperan ciertas extensiones futuras al código, lo cual es contrario a algo minimalista.