Hace 16 años | Por Alvarete a developers.slashdot.org
Publicado hace 16 años por Alvarete a developers.slashdot.org

Profesores de Computabilidad de la Universidad de Nueva York dieron éstas declaraciones recientemente. Los alumnos tienen severas dificultades a la hora de desarrollar sistemas que no tienen ni interface gráfica. Además pierden la posibilidad de entender cómo funciona un computador de forma real y su hardware, ya que este tipo de lenguajes evita el uso de punteros a diferencia de otros lenguajes como C.

Comentarios

L

La noticia en si me parece la tipica chorrada sacada fuera de contexto. "Java es perjudicial para los alumnos". ¿para que alumnos, los de religion o los de educacion para la ciudadania?.

Hablando en serio, si quieres enseñar como funciona un ordenador lo adecuado es utilizar ensamblador y como se obtiene código máquina a partir de el .. luego puedes pasar al C.

Si lo que quieres es explicar orientacion a objetos lo mejor es smalltalk (no creo que nadie proponga c++). Java no es mala opción en este caso si se explica que no OO puro, con la ventaja que es lo que se van a encontrar fuera de las aulas.

Resumiendo, que ningún lenguaje de programación es malo para la enseñanza. Lo que hay que hacer seleccionar el adecuado para la materia que se deseé enseñar.

D

Desde mi punto de vista, lo ideal sería que aprendiesen un lenguaje por paradigma al mismo tiempo... a lo mejor se hacen la picha un lío, pero desde luego que los que salgan vivos nunca estarán encasillados y se verán más preparados para asimilar cambios.

Sugerencia:
- Un ensamblador (MIPS, MIX, o el de Parrot... el x86 podría ser excesivamente complejo, pero también tendría su gracia)
- Un lenguaje estructurado (pascal, c, modula...)
- Un lenguaje funcional (haskell, ml, erlang...)
- Un lenguaje lógico (aquí las opciones se reducen casi únicamente a PROLOG)
- Un lenguaje orientado a objetos (smalltalk, objective-c, ruby...)

Si durante una asignatura anual los alumnos van aprendiendo cómo funcionan los lenguajes tipo escogidos y son capaces de resolver los mismos problemas en todos los lenguajes, además de aprender cómo se representan las mismas estructuras en diferentes niveles de abstracción, sabrán identificar qué lenguajes se adaptan mejor a cada tipo de problemas, qué impacto tiene en el rendimiento ir subiendo en la escala de "comodidad" para el programador... pero como lo que interesa es producir material para consultoras, se seguirá potenciando lo que demanda el mercado.

D

C, editando con vi y compilando con Makefiles. Todo lo demás es para nenazas.

tollendo

Los punteros no aportan "robustez" a un lenguaje, más bien se la pueden restan. Me huelo que los profesores saben C y no están dispuestos a aprender Java.

D

¿Perjudicial?.... Java el Hutt sí.

Nova6K0

Para mí uno de los mejores es ensamblador, por su rapidez de ejecución, pero claro mientras que en C pones una línea para escribir "Hola Mundo" en ensamblador son unas 12.

Java me parece algo difícil, pero no es el peor lenguaje. Lo único que es muy lento a mi forma de ver.

Salu2

Penetrator

Estoy de acuerdo. Java no es un lenguaje adecuado para aprender a programar, ni mucho menos. Para empezar, un lenguaje sencillo como Pascal es mejor. Una vez aprendido lo más básico (variables, funciones, bucles, etc), se pasa a C o a ensamblador, para aprender cómo funciona realmente el ordenador por dentro. Y una vez hecho esto, se aprenden los conceptos de orientación a objetos, y se da el salto a Java si se desea. Pero no antes.

Y que conste que Java es un lenguaje que a mí me gusta bastante, pero insisto: no es un lenguaje adecuado para aprender. Por eso la noticia dice que es perjudicial para los alumnos.

Alvarete

a mi me sigue gustando java

D

#2 corrige las erratas, por favor.

Alvarete

#1 Evito controversia , edito. De todas formas, me refería al lenguaje en sí, no al propio hecho de llevar punteros

D

#17 eso es lo que se hace en mi carrera, en la UAB.

x86, C, ML, prolog, java y C++, ... ¡No en ese orden! lol

Alvarete

ADA me mata

gualtrapa

Que un lenguaje sea mejor que otro por llevar o no punteros me parece una soberana gilipollez. El mejor lenguaje de programación es el que mejor resuelve los problemas que se presentan. Si además es multiplataforma, mucho mejor. Si además obliga a sujetarse a estándares, miel sobre hojuelas. Si encima es más sencillo de trabajar y ayuda a separar software de harware, pa qué te voy a contar.
Va a ser como dice #1, que no les apetece salirse de su sacrosanto lenguaje-dios.

D

#19 ¿Ein? Cuando quieras hacemos una prueba, tu programas algo en ASM y yo lo mismo en otro lenguaje, ya veremos quien consigue el ejecutable más rápido. Me sorprende como algunos se creen tan machotes como para optimizar un código ASM de más de 20 lineas, sospecho que nunca lo has tenido que hacer.

Por cierto, Haskell rules. Lo que yo veo es que la gente sale sin tener ni puta idea del paradigma funcional o lógico, y la capacidad de abstracción suele ser bastante peor en estos casos.

RadL

Pues para mi, la manera mas sencilla de aprender a programar es con un lenguaje vistoso, como Visual Basic, que si... estamos de acuerdo que es un especie de mutante entre estructurada y OO que no se sabe muy bien como va y no es lo idoneo para explicar ningun paradigma... pero con 4 chorraditas tienes aplicaciones usables, esto motiva mucho al que esta aprendiendo desde 0, y ademas se trata de aprender los conceptos de varialbles, arrays, bucles, setencias de control, y emepzar a pensar los priemros algoritmos.

Es mucho mas vistoso y motivante cuando con 200-300 lineas de codigo tienes una aplicacion grafica, con sus ventanita y sus botones.
Que cuando has tenido que gastar 400 lineas de codigo en un pantalla azul de la muerte de MSDOS, para hacer una aplicacion en linea de comandos.

Yo emepce a programar con VB y leugo en la carrera he visto el otro sistema emepzando con Pascal, C , Ensamblador, CaML... y me quedo con la opcion que os expongo.

Alvarete

pa aprender pascal aprendes c coñe
#12 http://www.lysator.liu.se/c/bwk-on-pascal.html