Si mal no lei antes, dijeron que Java es un lenguaje que sirve para aprender (meterse en el tema) y que se le rescataba sólo lo didáctico. ¿Por qué entonces es tan requerido Java en la industria local si es tan cuadrado? ¿La industria no debería orientarse a algo más flexible? Por lo que se comentó recién, C# es más didáctico que Java por lo que me voy a iniciar en C#. ¿C# también cae en la categorización de "más cuadrado que adoquín"?
- Pablo El día 30/06/08, Carlos Fontela <[EMAIL PROTECTED]> escribió: > > > > > Me avisaron varias personas por mail privado que en esta lista no se > > puede hablar de Java. ¿Qué onda? > > O sea, si hay posturas distintas, me parece que deberian compartirse > > para enriquecer la lista. > > No creo que no se pueda hablar de Java. De hecho, hay mucha gente razonable > en esta lista. Lo que sí tengo en claro es que a la inmensa mayoría de la > lista no les gusta mucho Java ;-) > > La pregunta original era entre Java y C#, con la aclaración de que no > quería > una salida laboral, sino aprender. > > Así que vamos por partes: > > 1) Entre Java y C#, para aprender, prefiero C#. Las diferencias sintácticas > y semánticas son pocas, pero C# tiene abstraídos algunos conceptos que - a > mi jucio - lo hacen mejor para aprender. > > 2) Se ha dicho mucho, en la lista, que Java es un subconjunto de C++, tal > vez con mayores bibliotecas (esto último lo entendí yo, implícitamente). > Esto de acuerdo casi totalmente. Ahora bien, creo que Java (y C# también), > lo que hacen en gran medida, es abstraer más que C++: por ejemplo, el tema > de referencias, de recolección de basura, etc. C#, al introducir conceptos > como propiedades y eventos, abstrae en estas áreas más que Java. Y la > abstracción no la veo necesariamente como un problema. Yo enseño con Java / > C#, por dos razones: > - los alumnos que llegan a Algoritmos III ya han trabajado con C++ > - Java / C# me permiten explicar conceptos más elaborados sin entrar en > tanto nivel de detalle (una ventaja de la abstracción), y Algoritmos III > tiene como objetivo enseñar POO, no un lenguaje Cuál es mejor o peor, > entonces, es un tema de qué quiero lograr. Me queda totalmente claro que > C++ > me da mayores posibilidades, aunque con dos contras: más trabajo (no le > rehuyo al trabajo, pero a veces la comodidad es una ventaja), y mayor > propensión a errores (que, obviamente, los programadores más > experimentados, > como los de esta lista, no cometen ;-) ). > Coincido con un artículo que leí hace un tiempo en la web: > http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html > En el que postula que es mejor, para formar buenos programadores, enseñar > lenguajes más complejos, como C++. Léanlo, que no tiene desperdicio. > Incluso, habla bien de la FIUBA, que enseña Java / C# después de que los > alumnos ya se toparon con problemas complejos de C y C++. > Pero eso no quita que, para enseñar conceptos más avanzados, nos venga > mejor > un lenguaje que nos abstraiga más. Esa es la razón por la que uso Java / > C#. > > 4) Se recomendaron también lenguajes interpretados y/o de tipeo dinámico, > como Python, Ruby, ¿Smalltalk?. > Me parece una excelente opción para aprender objetos de una manera > sencilla, > y que te va a permitir aprender cosas nuevas. El único peligro que veo es > que termines creyendo que POO va solamente con lenguajes interpretados y/o > de tipeo dinámico, como he oído decir a mucha gente. Si te cuidás de esto, > te los recomiendo. > Si alguien pregunta por qué no los uso para enseñar POO, la razón es que, > para alumnos que ya vienen de lenguajes compilados y con tipos estáticos, > me > resulta más sencillo enseñar con lenguajes parecidos, lo que, nuevamente, > me > facilita centrarme en los conceptos y abstraerme de los detalles. > > 3) Se aprovechó para recomendar lenguajes de otros paradigmas (funcional, > sobre todo). > Personalmente, trabajé mucho con lenguajes funcionales (y lógicos, como > Prolog) hace un par de décadas. Creo que son buenos para abrir la cabeza. > Sin embargo, me pasa lo mismo que Leandro: me cuesta seguir la lógica > ("sintaxis fea" me parece un poco subjetivo). Será un problema de > formación, > supongo... > De nuevo, si querés aprender cosas nuevas, me parece una buena opción. > > Dijo Leandro Lucarella: > > Ya hemos tenido alguna discusión que pasó tangencialmente por el tema > > con Carlos Fontela =) > Espero esta vez haber sido más mesurado y no llegar a tanto... > > Saludos, > > Carlos Fontela > (profesor de Algoritmos III) > (docente de POO desde 1994, antes de la existencia de Java) > (usuario de POO desde 1990, 10 años después del surgimiento de Smalltalk) > > > > > _______________________________________________ > Lista de correo Programacion. > [email protected] > http://listas.fi.uba.ar/mailman/listinfo/programacion >
_______________________________________________ Lista de correo Programacion. [email protected] http://listas.fi.uba.ar/mailman/listinfo/programacion
