Tecnología, Internet y juegos
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.

| etiquetas: java , programación , it , informática , formación , lenguajes , aprendizaje
  1. Es que empezar a dar programacion con POO es mal inicio. Y si no usan Java para POO entonces es que no entienden para que sirve la POO.

    Yo en mi FP Medio comence con PHP (2004), en mi FP Superior empece con C, en la carrera empezamos con C.
  2. #1 JS también es OOP. Aunque entiendo que te refieres a que es multiparadigma.
  3. Pues todos deberían empezar por C para aprender a programar. Una vez espabilados un poco que pasen a orientación a objetos en C++ . Y de ahí ya pueden pasar a Java o C# y demás lenguages de propósito general, que en gran parte son primos hermanos de C++.
  4. La programación es una actividad difícil, de la que se necesita vocación. El buscar lenguajes sencillos para enseñar no es la solución.
  5. ¿Solo para iniciarse?
  6. modula 2 {0x1f602} o" baisic"
  7. Creo que es el mejor lenguaje de programación para aprender sigue siendo el Basic y sus derivados. Qbasic 4.5 es fantástico.
  8. Iba bastante bien el artículo hasta que lei la palabra JavaScript. Que les vaya bien.

    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.
  9. Scratch :-> :troll:
  10. Y en vez de java proponen el sindios de JavaScript para empezar.
    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.
  11. Un gran lenguaje para empezar hoy día es golang.

    Procedural, fuertemente tipado, con una capa ligera de orientación a objetos y con primitivas para ejecución concurrente.
  12. #8 Si pones al principio del código "use strict" ya tienes un javascript más riguroso
  13. Y ahora que me he leído el artículo.( Confesad, vosotros tampoco lo habéis hecho) veo que el titular no se corresponde con la noticia, o sea que la voto errónea.
  14. #4 La programación como tal no es tan complicada. Se vuelve complicado si tratas de empezar la casa por el tejado. En cualquier caso en pocos años la programación va a ser como el inglés ahora. No me refiero a desarrollar aplicaciones complejas pero en pocos años todos los jóvenes deberían tener al menos nociones básicas de programación
  15. Javascript es el lenguaje del futuro 8-D
  16. Pascal, hay que empezar por Pascal.
  17. C es perfecto para empezar. La sintaxis es muy parecida en casi todos los lenguajes. C en plan básico sin punteros es facilito para aprender tipos, operadores variables, condiciones y bucles.

    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.
  18. #16 se escribe demasiado. Pero es un gran lenguaje para aprender. C se parece más a casi todos los otros lenguajes.
  19. Joder el. mundo está loco. Cambian Java por Javascript para aprender y les. parece buena idea... :wall: :wall:
  20. #1 Empezar con POO es una excelente idea.
  21. #3 Esa es la. vía dificil. Despues de C++ Java es un juguete...
  22. #4 Y Javascript puede ser muchas cosas. Pero ni es sencillo ni promueve buenas costumbres de programación
  23. #17 Cierto. Pero es la vía difícil. Java es muuuuucho más simple.
  24. #7 o código maquina
  25. #16 logo facilito no{wall}
  26. Si realmente enseñan en un curso de programación que un alert() de Javascript es equivalente a un System.out.println() de Java no confiaría mucho en la calidad del mismo. Más allá de que los dos muestran un texto los conceptos fundamentales a los que se refieren son distintos.

    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.
  27. JavaScript es un desmierde total
  28. Microhobby por documentación y ensamblador para el z80 con basic Como lenguaje de scrippting. El que no aprenda así, orden de alejamiento de cualquier sistema de computación.

    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.
  29. #3 en C... Por favor, deberían a comenzar en ensamblador, para aprender realmente que hace un printf por ejemplo o un if... muchos nuevos programadores programan como si la resolución de un simple problema tuvieran tiempo y memoria infinita.
  30. #14 si como los bilingues{ffu}
  31. Un profesor confesó que le gustaría iniciar con SQL porque se requiere primero entender la lógica.
  32. #22 El #8 #15 Del presente.
  33. #27 vaya! Veo que 15 años después han llegado!

    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.
  34. #19 A mí me parece mejor lenguaje para aprender C, porque el primer lenguaje debe ser uno compilado y fuertemente tipado para aprender el proceso... También para saber más o menos cómo tratar la memoria.

    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.
  35. #27 No creo que enseñen eso. En Javascript hay un console.log y en node un process.stdout
  36. #34 write once, run everywhere
    Buen chiste, si no lo dijeras en serio. :-P
  37. Si el recolector de basura de Java fuera realmente efectivo, éste debería desinstalarse automáticamente en cada ejecución.
  38. #4 Se necesita vocación para dedicarse a ello profesionalmente. Pero todo el mundo debería saber programar algo, más que nada para tener los rudimentos de (parte de la) tecnología que controla casi todo en nuestras vidas.
  39. #20 Es más, empezar con JavaScript es una muy mala idea. Es un lenguaje que no te fuerza a adoptar buenos hábitos de programación (más bien todo lo contrario) que es lo importante cuando uno empieza. Eso sí: es muy facilito y divertido, que parece que es lo necesario en este momento. La gente ya no tiene capacidad de esfuerzo, y hay que hacer las cosas sencillitas y entretenidas. Estamos en el puto declive. :-(
  40. #34 #38 write once, debug everywhere
  41. #3 c++ es el mas complicado de los tres, ¿qué sentido tiene en esa lista de aprendizaje? A que no aprenderias integrales antes de saber sumar? Pues eso
  42. Soy informático y me gusta la programación como profesión y como afición; pero sinceramente, no creo que todo el mundo deba saber programar ni creo que en futuro sea un conocimiento exigible a todos los estudiantes. Muchos vivimos perfectamente sin saber cómo funciona un motor de explosión o una mitocondria, ni sabemos tocar ningún instrumento musical ni bailar, ni somos capaces de dibujar una cara ni de redactar un cuento, ni preparar un cocido ni coger los bajos de un pantalón. Se puede vivir perfectamente sin saber programar. Creo que es fantástico que los jóvenes que estén interesados por ella encuentren medios para recibir formación, pero no creo que se deba imponer a todos como asignatura troncal obligatoria. Una persona a la que no le interese programar pero que es obligada a hacerlo, apenas aprenderá lo justo para aprobar y después lo olvidará todo. Excepto la sensación de que era un coñazo.
  43. Yo empecé con ADA.
    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.
  44. #3 No me parece mal empezar con C, quizá un poco duro de inicio así que a mi me parece mejor tal como lo hice yo en su momento, primero Pascal como introducción y luego C como plato fuerte, que fue el lenguaje que más usé durante la carrera, seguido por C++ (aunque tuve la oportunidad de usar puntualmente ADA, Lisp, Perl, Ensamblador y algunos otros según la asignatura, incluso creé mi propio lenguaje, muy simple, en la asignatura de compiladores). Java no lo toqué hasta que empecé a trabajar y no me costó aprenderlo. A fecha de hoy C sigue siendo mi favorito.
  45. #35 C no es fuertemente tipado. PASCAL si. Java mismo tiene un tipado más fuerte.
  46. #21 ¿conoces el recién aprobado C++17?
    Con los nuevos estándares, C++ también es un juguete ...
  47. #3 yo aprendí orientación a objetos en C (como hacer pseudoclases en C) ...
    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
  48. #48 No, la verdad no. Pero sigue siendo más complejo que Java
  49. #10 ¿Por qué es un error empezar por PHP? Genuina curiosidad.
  50. #51 No es tipado, y eso creo que despista a un principiante, y sobre todo dificulta el aprendizaje de otros lenguajes tipados. PHP evolucionó hasta ser orientado a objetos pero sigue arrastrando su programación funcional, es decir, que es un monstruo híbrido con problemas de identidad. Y por si esto fuera poco, cuando se mezcla con el html en el mismo fichero, el caos sintáctico y conceptual está servido.
  51. #44 Concuerdo contigo al mismo tiempo que digo que, en algunas carreras se debería machacar más. En Física apenas vimos Python en primero y nunca más. Una verdadera pena porque, tal vez no a todos, pero a la mayoría nos es la mar de útil programar.
  52. Yo creo que el problema es empezar la programación por la orientación a objetos, lo que llaman el "Object first"

    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
  53. #52 No sé, esto ya es una opinión personal mía pero pienso que un lenguaje no tipado es una ventaja en el momento de empezar (aunque claro si realmente quieres aprender programación, es un error quedarse ahí). Aparte de que PHP puede ser completamente tipado desde PHP7 y lo era parcialmente en PHP5. Yo personalmente encuentro PHP muy bueno como lenguaje de generación de templates (que era su propósito original) solo que hay que seguir el estándar adecuado de codificación a cada momento, que puede ser requerido por un validador de estilo que los hay y muy buenos.
  54. Ensamblador como los hombres...

    Salu2
  55. #53 Correcto. En carreras técnicas sí veo la necesidad de saber algo de programación.
  56. #54 Suscribo cada palabra. Además con java puedes dar el salto a programar android, que podría ser motivador para muchos.
  57. #50 si usas exclusivamente al nuevas funcionalidades (nada de new/delete etc) , y una librería añadida potente (Qt) no
    tiene el porque ser más complejo.
    A cambio, obtienes multi plataforma verdadera y un rendimiento de escándalo
  58. #49 Ciertamente es perfectamente posible. La orientación a objetos es simplemente una forma de programar. Otra cosa es que haya unos lenguajes más orientados a ese estilo de programación.
  59. #43 Más complicado según se mire. C++ es el paso natural que viene después de C. C# o Java son más sencillos porque llevan implícitos una serie de características que hacen que el programador pueda obviar ciertas cosas, pero eso no quiere decir que un buen programador no deba saber el por qué las cosas funcionan de una manera u otra. En ese sentido C++ es mucho más transparente. Un buen programador de C++ enterderá mejor Java y C# que uno que empiece dirctamente en esos leguajes.
  60. #30 Si claro. Si quieres que tus alumnos huyan despavoridos adelante. C es el punto de partida ideal. Nos interesa que los alumnos aprendan a programar con un lenguaje similar al humano. Y de los leguajes de alto nivel C es el que permite llegar a un nivel más bajo, con lo que perfectamente puedes enseñar ensamblador partiendo de C.
  61. #21 Es vía ideal. El aprendizaje se ha de hacer de abajo a arriba, sin llegar tan abajo como el ensamblador necesariamente, pero sin empezar desde un nivel tan alto que no llegues a entender el cómo y el por qué los programas se comportan como lo hacen.

    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.
comentarios cerrados

menéame