tag:blogger.com,1999:blog-7689308.post2664576172848086528..comments2023-09-10T09:59:36.290+02:00Comments on Sumidero mental: Poner a la gente en su sitiouncnounhttp://www.blogger.com/profile/16333332970586171678noreply@blogger.comBlogger3125tag:blogger.com,1999:blog-7689308.post-5662232643591492882008-05-03T20:39:00.000+02:002008-05-03T20:39:00.000+02:00Había leído la respuesta de David, no el original ...Había leído la respuesta de David, no el original de Ricardo, gracias por el enlace.<BR/><BR/>Me parece alucinante que se critique a un programador por 'errores de sangrado'. Cada uno tiene su estilo y, evidentemente, es mejor que el código sea legible pero no por eso es uno mejor o peor programador.<BR/><BR/>Las otras críticas las responde David muy bien y Gallir haría mejor en disculparse públicamente en su blog que en defenderse por los rincones de la blogosfera. Pero eso dudo que ocurra.Palimphttps://www.blogger.com/profile/00472172300985369709noreply@blogger.comtag:blogger.com,1999:blog-7689308.post-51485506698828760482008-05-02T20:54:00.000+02:002008-05-02T20:54:00.000+02:00Aclaraciones iniciales:Mi post simplemente critica...Aclaraciones iniciales:<BR/><BR/>Mi post simplemente critica el ataque a David desde el punto de vista de su código generado, no por las cosas o comentarios que te haya hecho.<BR/><BR/>La frase "Los segmentos analizados tienen graves problemas de programación básica general, y otras específicas de programación en esos dos lenguajes." es simple y llanamente falsa.<BR/><BR/>Reconozco que igual me he pasado un poco con alguna palabrilla, pero es algo que pasa cuando te visitan solo entre 25 y 40 personas diariamente.<BR/><BR/>Sobre tu comentario:<BR/><BR/>¿Me estás diciendo que se debe generar código no-óptimo en pro de la legibilidad?<BR/><BR/>Me parece una tontería, y más cuando los teóricos errores que pusiste en el post se entienden perfectamente aunque no sean todo lo bonitos que debieran.<BR/><BR/>Lo único que le podrías recriminar a David, a mi parecer, es que esas optimizaciones no estén comentadas (para que cuando alguien consulte el código sepa porque hay esas cosas extrañas).<BR/><BR/>Hay 3 críticas básicas según las cuales David es un mal profesional y no sabe programar:<BR/><BR/>- Hay un código que NO ha escrito el, que está en desuso desde hace años y que a pesar de generar un buffer overflow este no es exploiteable.<BR/>Obviamente, no afecta para nada a David ya que no tiene NADA que ver con él.<BR/><BR/>- Hace una sentencia del tipo:<BR/>if (a) if (b)<BR/>en lugar de:<BR/>if (a && b)<BR/>El propio David escribe que en el momento en que eso se programo un bug del compilador provocaba que se evaluase la b (a pesar del false de a) en el segundo caso.<BR/>¿Según tu, David debía dejar el if que funciona mal en pro de la legibilidad del código?<BR/><BR/>- Hace "paux++; paux++;" en lugar de "paux += 2;".<BR/>David se defiende diciendo que la diferencia de rendimiento en un ordenador moderno es inapreciable y en cambio en ordenadores viejos es notable debido al código máquina generado por el compilador.<BR/>Realmente es tan grave que mejore el rendimiento de la aplicación a cambio de renunciar a un poco de legibilidad?<BR/>¿Cómo lo arreglamos entonces? ¿Les pedimos a los usuario que compren ordenadores modernos para que el próximo programador que vea el código lo entienda mejor?<BR/><BR/>En la UPC hay una asignatura optativa llamada <A HREF="http://www.fib.upc.edu/fib/infoAca/estudis/assignatures/PCA.html" REL="nofollow">"Programació<BR/>Conscient de l'Arquitectura"</A> donde precisamente el objetivo es aprender técnicas como las que usa David para la optimización del código para ciertas arquitecturas.<BR/><BR/>Puede ser que los que han diseñado las asignatura sean tan malos programadores como David, o puede ser que tu hayas metido la pata hasta el fondo al criticar su forma de programar.uncnounhttps://www.blogger.com/profile/16333332970586171678noreply@blogger.comtag:blogger.com,1999:blog-7689308.post-15564097281790866122008-05-02T13:27:00.000+02:002008-05-02T13:27:00.000+02:00> La respuesta de David a las críticas me parece s...> La respuesta de David a las críticas me parece sublime.<BR/><BR/>Si te parecen "sublimes" es que conoces poco de software e ingeniería de software.<BR/><BR/>Los lenguajes de alto nivel se desarrollaron para <B>facilitar la comprensión de las personas</B> (progamadores) no para las máquinas, que sólo interpretan "binario". <BR/><BR/>Primera regla de un buen programador o ingeniero de software: el código debe ser legible y entendible por otro programadores, eso significa respetar las abstracciones y reglas del lenguaje y paradigma de programación (incluye aritmética de punteros, invariantes, etc. etc). <BR/><BR/>Sino es código espagueti, diga lo que diga y aunque el compilador lo optimice para la máquina o tenga un bonita documentación en UML.<BR/><BR/>El código que mostré es sólo una parte, objetivamente inaceptable, como una novela sin oraciones, párrafos, capítulos y con un estilo que la hace ilegible.<BR/><BR/>Por cierto, yo no empecé con ataques ni críticas a otros, sólo respondí --mostrando las incoherencias y los errores que cometemos *todos*-- a un ataque personal y profesional muy grave basado en una anécdota personal totalmente irrelevante al tema de colegios.<BR/><BR/>Tampoco me dediqué al astroturfing, como hizo el autor en mi blog. Otra práctica que no acepto,por la que no tiene sentido ni intentar contestarle.gallirhttps://www.blogger.com/profile/06638502512987431499noreply@blogger.com