42 meneos
267 clics
Este envío tiene varios votos negativos. Asegúrate antes de menear
Las universidades por fin se están dando cuenta de que Java es un mal lenguaje para iniciarse en programación
Aunque Java es del gusto de muchísimos programadores, con seguridad, también es uno de los lenguajes más complicados que puede aprender un iniciado en el mundo de la programación. Ahora, la Universidad de Standford abandona Java como lenguaje para enseñar a sus alumnos los fundamentos de la programación y usa JavaScript en su lugar. Y es que, al enseñar Java en un curso introductorio, se corre el riesgo de asociar la programación con una cosa tediosa y difícil en la mente de los principiantes, y es altamente probable que estos abandonen.
|
comentarios cerrados
Yo en mi FP Medio comence con PHP (2004), en mi FP Superior empece con C, en la carrera empezamos con C.
Ahora en serio. Durante los dos primeros años de carrera hay que tocar cuatro o cinco lenguajes, con diferentes paradigmas. Y cada uno de esos lenguajes tiene que tener algún punto fuerte, para que el alumno pueda entender ese concepto sin el ruido de los demás.
JavaScript es una mierda infumable que lo permite prácticamente todo sin ningún rigor. No creo que nadie pueda ser buen programador formándose en eso.
No había lenguajes mejor estructurados que el horrendo JavaScript, y no digamos ya mezclando ese puto caos con html.
Aunque lo enseñen en la universidad de suputamadre, es un gravísimo error empezar con JavaScript, casi tanto como empezar por PHP.
Procedural, fuertemente tipado, con una capa ligera de orientación a objetos y con primitivas para ejecución concurrente.
Una vez controlado se puede entrar en los punteros, aprender a gestionar memoria para ser metódico y cuidadoso y saber qué hay por debajo de la magia de recolector de basura.
Después ficheros, estructuras de datos, algoritmos.
Finalmente c++ básico, herencia, polimorfismo,encapsulamiento. Una asignatura completa de diseño orientado a objetos.
Una vez controlado todo éso cualquier lenguaje se puede aprender en una semana.
Como decía el compañero, javascript es un sindios. Pero java no es bueno para empezar. Está lleno de punteros, pero no los ves. Debe ser bastante confuso para un principiante. Y el recolector de basura no te hace ser metódico y te convertirá en un programador nefasto.
Por lo demás Java9 tiene un REPL al estilo Scala o Groovy, así que puedes escribir perfectamente System.out.println("Hello World") y ver que hace sin necesidad de todo lo demás.
Ahora en serio el mayor problema de la enseñanza de programación en la uni es que los profesores no tienen ni puta idea.
Hay consolas de js desde hace mogollón. Y desde que existe node el REPL de javascript no desmerece al de cualquier otro lenguaje.
Javascript es fabuloso. La gente en España lo detesta porque en la universidad la mayoría no ha tocado programación web en la vida y lo conocieron de scripts guarros...
Pero cuando después el resto de lenguajes adaptan sus técnicas funcionales o su lógica asíncrona ves que javascript tiene su posición ganada a pulso.
Javascript consiguió, desde node, lo que siempre prometió java y nunca consiguió: write once, run everywhere.
Después de C, javascript o python sin duda, como ejemplos de lenguajes hermosos y versátiles. Javascript se lleva la palma en versatilidad y, sobretodo, lo ejecutas en cualquier cachivache.
Buen chiste, si no lo dijeras en serio.
Lenguaje super estructurado que te obliga a tener claro qué quieres hacer y qué necesitas usar.
De allí ya saltas a otras estructuras (orientación a objetos, bases de datos, etc) y adaptas tu pseudocódigo a las características de cada lenguaje.
Con los nuevos estándares, C++ también es un juguete ...
Cuando ya conoces los fundamentos de bajo nivel, ya puedes asar a un lenguaje de mas alto nivel...
así nunca pierdes el concepto de lo que estas haciendo
Pero sin embargo creo que sería muy fácil enseñar a programar en Java sin enseñar POO.
Se puede enseñar que una clase es como una "unit" de pascal, un lugar donde colocar métodos relacionados entre sí, sin meterse demasiado en la abstracción.
Evitas cualquier tema relacionado con la herencia, el polimorfiso y la ligadura dinámica. Es más al principio solo trabajas con métodos estáticos. Solo cuando comprendan bien las estructuras de programación puedes pasar a hacer Tipos Abstractos de Datos en Java, esto es, usar las clases y la abstracción para crear nuevos tipos abstractos de datos.
De esa forma aprendes:
- A programar en un lenguaje con tipos rigurosos donde te fuerza a que la compilación sea correcta. Cuando estas aprendiendo es mejor no dejar los errores a tiempo de ejecución
- Aprender un lenguaje popular que probablemente vayas a usar en el futuro y que tiene IDEs modernos y pontentes
- Un lenguaje cuya sintaxis es similar a la de C. Ya tienes medio paso avanzado hacia otro lenguaje.
- Has dado el primer paso hacia la POO
Empezar con JavaScript me parece una locura, por mucho que JavaScript vaya a acabar dominando el mundo
Salu2
tiene el porque ser más complejo.
A cambio, obtienes multi plataforma verdadera y un rendimiento de escándalo
Realmente yo compadezco a una persona que aprenda a programar con WebForms por ejemplo. Se va a perder más de la mitad de las cosas y probablemente no llegue a entender por qué las cosas funcionan como lo hacen.