No estoy seguro de que tengas razón. La gente que disfruta aprendiendo cómo funcionan las cosas puede enfocar su estudio de muchas formas, y en casi cualquier caso tendrán éxito. En un entorno más estructurado, es mejor empezar la casa por los cimientos, explicando lo que hace la máquina, y poco a poco añadir conceptos de más algo nivel, de forma que, si se quiere, se pueda seguir el código hasta el flujo de electrones. He visto a multitud de estudiantes seguir uno y otro camino (de bajo a alto nivel y viceversa). Los que empiezan con C y ensamblador acaban comprendiendo perfectamente las ventajas de los lenguajes modernos, y cómo usarlas eficientemente. Los que empiezan con Java o ($DEITY me libre) C#, muchas veces ni siquiera saben cómo funciona su lenguaje "nativo", y sufren lo indecible cuando tienen que usar otro de más bajo nivel. Claro que puede que yo esté viciado por haber aprendido del modo que yo creo correcto.
En realidad la misma duda existia ya hace veinte años. Conozco a una moza a la que su familia le compro, para el spectrum, el casette de ensamblador, para que aprendiera con eso en vez de con el "alto nivel" de su basic tokenizado. En todo caso, el ensamblador a la hora de manejarlo esta mas cerca de un interprete que de un compilador. Y al reves, Java tiene al final mas pinta de lenguaje compilado que interpretado.
Opino lo mismo que tu, y tal vez sea porque efectivamente aprendi como tu. Pero una cosa esta bien clara, por las duras se aprende más. Cuando has programado en ensamblador, no tienes problemas en entender que es un puntero, o la pila de llamadas. O casi cualquier otra cosa que veas despues.
Re:Un interprete primero.
(Puntos:3, Inspirado)( http://appfluence.com/priority_matrix_windows_detailed | Última bitácora: Domingo, 31 Julio de 2011, 16:58h )
Re:Un interprete primero.
(Puntos:2)( Última bitácora: Jueves, 03 Abril de 2014, 10:55h )
Re:Un interprete primero.
(Puntos:2)( http://barrapunto.com/ )
La uniformidad no es necesaria para la unidad