"Un bean es un poroto..." - Java Educators en JavaOne
Gracias a TheServerSide.com, llegó a mi un podcast de la JavaOne muy interesante. Está titulado "What is next for Java educators?". Más allá de ser un simple ayudante de cátedra y dar cursos de java, me interesa mucho la educación tecnológica tanto a nivel universitario como el acceso a la educación tecnológica en otros niveles. Desde hace tiempo sabemos que los graduados en carreras de ingeniería están siendo un bien escazo en todo el mundo. Pero el problema todavía va a ser más grave, ya que se está dejando de lado y no se está discutiendo lo suficiente acerca de cómo se instruye a los pocos ingenieros que se reciben.
"This folks are not really prepared..." es una de la cuestiones que se plantea en el podcast. Esto me llama la atención ya que aquí, en esta pequeña ciudad perdida al final de América Latina, también se discute lo mismo. Ahora bien. dependiendo de la empresa que diga esta frase, esto puede traducirse como "Estos chicos no saben ni Hibernate ni Struts" o "Estos chicos no saben resolver problemas". Francamente, prefiero trabajar en el tipo de empresa donde se valora más la capacidad de autoaprendizaje que el conocimiento de un lenguaje en particular.
¿Cómo hacemos que nuestros estudiantes estén mejor preparados? ¿Deberíamos enseñar java en todas las universidades, desde primero hasta el último año?. Y para que no se enoje Bill, ¿Enseñar Visual Basic y .NET en los últimos años de la carrera?. Aunque parezcan graciosas estas últimas preguntas, te aseguro que se están aplicando programas de cátedras de programación similares. Creo que la pregunta esencial sería ¿Queremos formar expertos en ciertas tecnologías o expertos en resolver problemas?
Yo creo que sería más productivo la segunda opción, ya que un experto en solucionar problemas tranquilamente puede aprender lenguajes de programación y nuevas tecnologías de una manera más fácil. Y más aún, algo maravilloso, es que puede desarrollar nuevas tecnologías.
Además, ¿Hasta cuando va a existir Java y .NET?. En cualquier momento sale Java++ ó .Java. Hay que admitirlo. Antes se enseñaba Logo, después Cobol, después C, después C++, QBasic y un montón de lenguajes más. Hoy, todo se enfoca a los nuevos lenguajes que crean lenguajes, o DSL, código para generar código.
Las conclusiones, se las dejo a Uds.
Saludos
"This folks are not really prepared..." es una de la cuestiones que se plantea en el podcast. Esto me llama la atención ya que aquí, en esta pequeña ciudad perdida al final de América Latina, también se discute lo mismo. Ahora bien. dependiendo de la empresa que diga esta frase, esto puede traducirse como "Estos chicos no saben ni Hibernate ni Struts" o "Estos chicos no saben resolver problemas". Francamente, prefiero trabajar en el tipo de empresa donde se valora más la capacidad de autoaprendizaje que el conocimiento de un lenguaje en particular.
¿Cómo hacemos que nuestros estudiantes estén mejor preparados? ¿Deberíamos enseñar java en todas las universidades, desde primero hasta el último año?. Y para que no se enoje Bill, ¿Enseñar Visual Basic y .NET en los últimos años de la carrera?. Aunque parezcan graciosas estas últimas preguntas, te aseguro que se están aplicando programas de cátedras de programación similares. Creo que la pregunta esencial sería ¿Queremos formar expertos en ciertas tecnologías o expertos en resolver problemas?
Yo creo que sería más productivo la segunda opción, ya que un experto en solucionar problemas tranquilamente puede aprender lenguajes de programación y nuevas tecnologías de una manera más fácil. Y más aún, algo maravilloso, es que puede desarrollar nuevas tecnologías.
Además, ¿Hasta cuando va a existir Java y .NET?. En cualquier momento sale Java++ ó .Java. Hay que admitirlo. Antes se enseñaba Logo, después Cobol, después C, después C++, QBasic y un montón de lenguajes más. Hoy, todo se enfoca a los nuevos lenguajes que crean lenguajes, o DSL, código para generar código.
Las conclusiones, se las dejo a Uds.
Saludos
3 Comments:
Cierto es que es más "interesante" desde un punto puramente comercial no perder el tiempo aprendiendo informática y sí aprender un lenguaje de computación que ya nos trae resueltas un montón de cuestiones que, desde el punto de vista de la productividad nos hacen desarrollar al nivel de los mejores y en tiempo record.
Con las nuevas tecnologías, incorporadas a los lenguajes más conocidos en forma de frameworks y asistentes de todo tipo, es bastante más tentador no realizar el esfuerzo de al menos intentar adquirir el conocimiento que subyace a tales soluciones prácticas.
Hoy es común ver que el viejo programador que manejaba a través del código de su aplicación la memoria de pantalla, la traducción de los códigos del teclado, la impresión, etc. ha sido superado por la misma necesidad de hacer cada día más estándares y compatibles el hardware y el software y, con el advenimiento de los drivers y la mismísima orientación a objetos ha debido aprovecharse de la reusabilidad de los "objetos" que el mismo y otros generan, dejando en el arcón de los recuerdos las habilidades con el ensamblador, las utilidades potentes pero incómodas que trabajaban muy bien en esas horribles pantallas negras y todo esa panorámica de lo que pasaba en el interior de esa máquina infernal que hoy es nuestra compañera inseparable.
Cierto es, también, que el enorme desarrollo y el avance de nuestra tecnología no hubiese sido posible de otra manera (o al menos eso es lo que creo). El planteo que generalmente suelo hacerme es: qué pasaría si de pronto ya no estuvieran el Java, o el Visual Basic o los lenguajes de cuarta generación (creo que así los llaman a esos que arman una aplicación con asistentes para todo)? Estaría yo, desarrollador confiado en mis conocimientos, en condiciones de seguir construyendo programas?
A modo de respuesta yo diría que así como en otras disciplinas unos se dedican a estudiar nuevos procesos, nuevas soluciones, mejores alternativas a los mismos problemas, etcétera, en la informática actual también debería empezarse a generar una ramificación adecuada entre lo que estaría más cerca de ser la ciencia informática y lo otro, que representa a la informática aplicada que, a mi juicio, es la que hoy resulta cuestionada.
El científico debe entender (haciendo una analogía con la matemática) de teoremas, axiomas. El hombre que aplica la matemática como herramienta de trabajo, ya no recuerda de dónde nacen las relaciones entre lados y ángulos de un triángulo: el hombre común usa una calculadora que ya tiene programadas las soluciones.
Para concluir y sin entrar en temas que escapan a mi conocimiento, pienso que ya es tiempo de educar separadamente al científico de la informática y al creador de soluciones prácticas. Ambos son necesarios pero, a mi entender, es tan grande y abarcadora la influencia de la informática en nuestros días que capacitar a este último en aprovechar la potencia de un lenguaje ensamblador (esta es solo una imagen) a costa de demorar años en obtener un producto fiable y robusto, en lugar de valerse de herramientas que ya han recorrido el camino es gastar pólvora en chimangos (*).
(*) En Argentina, creo que en todo el país, se dice "gastar pólvora en chimangos" (el chimango es un ave de rapiña de un tamaño medio) cuando se quiere significar que no vale la pena realizar algo por el escaso valor obtenido a cambio (se considera que el chimango no sirve para comer, o cualquier otra cosa de utilidad).
Marcelo
Revisando mi propio comentario, quiero decir, que aunque se pueda deducir de lo que expresé que no estoy a favor de que instruya a las nuevas generaciones para resolver problemas más que para utilizar suites de desarrollo, no es precisamente esa mi opinión.
No obstante, creo que invertir demasiado en enseñar lo que nunca habrá de ser usado, es malgastar tiempo y dinero.
Es por ello que sugiero la especialización entre los que resuelven problemas nuevos y los que simplemente codifican soluciones a problemas conocidos y con respuestas ya probadas.
Marcelo
hola,me encanto tu pagina, me ha sacado de muchas dudas en el tiempo que me ah interesado java, he estado haciendo un programa parecido al juego puyo puyo, tengo muchas dudaas con los codigos ya que no tengo experiencia en javas exepto por los manuales que he visto en internet y algunso blogs como el tuyo pero no enucentro las herramientas necesarias para crear el programa, me gustaria mucho poder mandarte algo de mis codigos y consultarte alguna que otra duda.. bueno sin mas por el momento te dejo y gracias por tan buena información de ayuda para la escuela en el 2006 :) manuel.damian@hotmail.com
Publicar un comentario
<< Home