Java como primer lenguaje: mala idea

Un par de lecturas muy interesantes (tanto para alumnos como para profesores) sobre los estudios en Computer Science. Es la opinión contrastada de dos profesores de la Universidad de Nueva York acerca del gran daño que hacen los nuevos planes de estudios a los titulados de hoy en día. Quizá lo más chocante (aunque no para todos) de sus conclusiones es el daño que, según ellos, causa Java como lenguaje para enseñar programación.

Incluye frases tan demoledoras como:

In short, today’s Java library cobbler is tomorrow’s pizza delivery man.

Visto en: barrapunto

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Re: Java como primer lenguaje

Tal vez esa noticia les duela en el alma a los java-lovers, pero siendo un poco “desapegado”, es decir, eliminando filias y fobias, tal vez sea cierto que java no es el mejor para enseñar a programar. Ahi, quizas sean mejores lenguajes como Python o en su defecto Ruby.

Saludos y felicidades por el blog, esta mas que excelente.

Imagen de david.villa

"Esto te lo crees"

Un problema grave que tiene Java y otros lenguajes similares es que hay muchas cosas que no puedes contar al alumno cuando vas a hacer un programa sencillo (tipo “hola mundo”). Piensa por un momento qué le cuentas sobre este programa a alguien que en su vida ha oído hablar de programación:

public class Hello {
   public static void main(String[] args) {
      System.out.println("Hola, mundo!");
   }
}

Para entender plenamente ese código se requiere manejar los siguientes conceptos:

  • Concepto de clase, creación de una nueva clase
  • Concepto de método
  • Bloque y sentencia
  • Paso de argumentos y valores de retorno
  • Vectores
  • Modificadores de acceso (public)
  • Métodos de clase (static)
  • Paquetes (System)
  • Tipos primitivos (por muy OO que dicen que es Java)
  • Literales de cadena

Obviamente no puedes contarle todo eso el primer día porque ese es el temario de todo el año. Así que lo único que puedes explicar (y no tienes otra posibilidad) es que println() es una “cosa” que imprime en pantalla el texto que le pasas y lo demás “te lo crees”.

Eso crea un precedente nefasto que puede acompañar al alumno durante toda la carrera (sobre todo si se refuerza) “te lo crees, te lo crees…” y después en su vida profesional “te lo crees, te lo creeees….”. Este síndrome se puede enunciar como: “no te preocupes por poner en tu programa cosas que no tienes la más remota idea de para qué sirven o de cómo funcionan”. Yo me he encontrado con gente de 5º de carrera (de ingeniería) que no sabe porqué se pone static en el método main(). Conste que no creo que la culpa de eso sea de ellos (no toda al menos).

Todo esto no pasaría (o no tanto) con otros lenguajes. Esa no es una razón para decir que Java es un mal lenguaje, pero si es una razón (otra más) para no usar Java como primer lenguaje. Java es mucho más fácil de entender y de aprovechar cuando ya sabes programar.

No soy portavoz de ningún colectivo, grupo o facción. Mi opinión es personal e intransferible.