Prof. Nacho, dada su experiencia como docente, ¿cuál es el mejor lenguaje, en la actualidad, para aprender a programar en sustitución de Pascal? Un lenguaje actualizado, fácil de aprender y que, facilite el aprendizaje de otros lenguajes útiles para la época en la que vivimos. Por favor, deme varias opciones.
Saludos.
Perdona, se me había pasado sin contestar:
- Para mí (y así hemos acordado entre varios profesores en mi centro de estudios), en lenguaje más razonable para comenzar a programar (alguien que quiera acabar dedicándose a programar de forma profesional, quizá no alguien "de hobby") es C#: su sintaxis se parece mucho a la de C, C++ y Java, pero la curva de aprendizaje es menos pronunciada, de modo que se puede empezar "poco a poco", llegar a hacer cosas muy interesantes, y es una buena base por si luego se necesita aprender Java o C++. Además, existen buenos entornos de desarrollo gratuitos.
- En segundo lugar, estaría Java, que se usa mucho en "el mundo real", pero tiene ciertas peculiaridades (y unas cuantas inconsistencias) que hacen que haya que bombardear al alumno con demasiada información en un momento inicial; en cambio, no es difícil entender esas peculiaridades cuando ya se tiene una base. En mi centro de estudios, lo enseñamos a final de primer curso y lo utilizamos mucho en segundo curso.
- C++ es muy usado a nivel profesional, pero hay más incompatibilidades entre plataformas de las que serían deseables y he encontrado pocos materiales que sean gratuitos y de calidad: muchos son anticuados y siguen usando "cadenas de texto al estilo C", punteros en sitios claramente evitables... cosas que provocan que los programas creados no sean de la calidad que sería deseable en pleno siglo XXI, especialmente si no hay un profesor al lado para ir corrigiendo las "malas costumbres" que se pueden crear.
- Según sectores, existen otras "necesidades": en entorno Web deberás dominar PHP y Javascript, pero ambos son peligrosos como primer lenguaje porque son "demasiado relajados" (por ejemplo, no hace falta declarar variables, lo que es una fuente de posibles problemas por usar variables con valores por defecto) y existen menos entornos de desarrollo avanzados y gratuitos para ellos. En plataformas Web de Microsoft deberías usar Asp.net, pero para eso ya tendrías un gran camino avanzado si conoces C#. En algunos casos, ciertas plataformas web usan Python (que también se usa para crear "scripts" para automatizar tareas fuera de entornos web e incluso aplicaciones de escritorio), Ruby o incluso Perl, pero yo no recomendaría estos como lenguajes de iniciación.
- Volviendo a Python: es un lenguaje interesante, se puede comenzar con facilidad, pero alguna tarea avanzada es innecesariamente engorrosa, y es "demasiado distinto" a todo lo demás como para que el conocimiento sea claramente aplicable a otros lenguajes, por lo que no me parece el mejor lenguaje para que un informático comience por él. Para mí es un "fantástico segundo lenguaje a aprender". ;-)
Muy completa su respuesta. Ahora lo tengo todo más claro, pero, en cuanto a C#, ¿cuáles entornos gratuitos hay?, yo solo conozco el que se usa en el tutorial de esta página, o sea Mono. En cuanto al Visual Studio Express, ya no se consigue para Windows XP, por lo que sería una limitante muy grande para los alumnos que tengan este sistema operativo.
Saludos.
Mono es un compilador, no un entorno integrado (que incluya editor y depurador).
Lo más potente es Visual Studio, que en su versión 2010 Express funciona perfectamente en Windows XP, incluso en equipos "lentos" (yo lo tengo en un netbook con procesador Atom de un único núcleo a 1.6 GHz) y se puede descargar todavía desde la página oficial de Microsoft:
http://www.visualstudio.com/downloads/download-visual-studio-vs
Este entorno es el ideal: incluye autocompletado, un depurador muy bueno, que es vital para descubrir "errores raros" cuando un programa no se comporta como uno espera, y además marca los errores en tiempo real, a medida que tecleas. (Desde la "Academic Alliance" de Microsoft se puede descargar también la versión 2008, si estás en un centro de estudios que participe en ese programa).
Una alternativa más compacta para programas formados por varios fuentes (apenas 15 Mb, pero a cambio tiene varias limitaciones; por ejemplo, no marca los errores en tiempo real, sino cuando pulsas el botón de compilar) es SharpDevelop:
http://www.icsharpcode.net/opensource/sd/
Para programas sencillos de un solo fuente, yo uso Geany, tanto en Windows como en Linux, que es un editor muy ágil y que marca los errores en el propio programa (tras pulsar el botón "Compilar"), pero no permite otras características avanzadas como la depuración paso a paso:
http://www.geany.org/
Y un entorno similar a SharpDevelop (para proyectos de varios fuentes) pero disponible también para Linux y Mac es MonoDevelop:
http://monodevelop.com/
Otra pregunta: ¿Visual Studio 2010 Express All-in-One ISO es un programa completa para desarrollar C++, C# y para el web? ¿Cuál de las opciones que muestra la página es la mejor para instalar?, ¿cómo instalo una ISO?
Gracias y saludos.
En ocasiones hay versiones para instalación offline sólo de Visual C#, que es lo ideal en este caso.
Si no, pues descargar el paquete completo e instalar sólo lo que necesites.
En cualquier caso, un fichero ISO es una imagen de CD o DVD. Puedes grabarlo en un CD o DVD físico para instalarlo, cargar la imagen ISO en un emulador como VirtualBox, o descomprimir con WinRar (no siempre se podrá usar descomprimido, pero es habitual).
Muchas gracias por las recomendaciones. Después de haberlas leído y seguido me resultó muy sencillo instalarlo, ahora ya lo tengo!!!! Tenía mucho tiempo tratándolo de hacer y siempre el resultado era infructuoso.
Saludos.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)