-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2009-04-10 a las 21:46 +0200, lluis escribió:
On Friday 10 April 2009 21:04:11 Carlos E. R. wrote:
a) Como son añejos, utilizan tecnicas de programacion obsoletas, que el compilador ya no acepta, por ende se rompe y se debe gastar tiempo en corregir el codigo
Eso es un fallo del compilador. El compilador nunca debió haber aceptado esas técnicas de programación incorrectas, pero lo hacía porque el compilador mismo estaba incompleto, sin terminar de hacer (es el caso del GCC). Otros compiladores, cuando hacen eso, suelen añadir también switches de compatibilidad, para aceptar técnicas antiguas aún sabiendo que son incorrectas ahora.
No entiendo la expresión "técnicas de programación obsoletas".
Existe una definición formal de la mayoría de lenguajes, o al menos de los mas recientes.
Si, la hay, y algunos lenguajes tienen una organización que se encarga de consensuarlo y definirla. La definición original de C era una hoja.
Cualquier expresión que no cumpla dicha definición debería estar considerada un error.
Esa es la teoría, en efecto, pero el C da una gran libertad, y muchas veces los errores no los detecta el compilador. Hay muchas cosas que se sabe que son errores, o al menos, maneras incorrectas de hacer las cosas, pero el compilador no te lo advierte. En el caso de GCC pues han ido añadiendo comprobaciones con cada versión. Lo que ocurría muchas veces es que el compilador, si se encontraba con algo que no estaba claro, pues hacía una suposición, en vez de avisarte y parar. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAknf0E4ACgkQtTMYHG2NR9UqPgCaAvcxhqLUOQBCEkTgU6CwJHs9 SIcAnREFSnAb0LOuCDURfEtjvLTg38xD =9vlr -----END PGP SIGNATURE-----