jueves, 2 de enero de 2014

Lenguajes de programación para principiantes.


 Lo primero de todo es felicitar a todos el año nuevo. Y después de este pequeño parón, hay que volver a la actividad y que mejor forma que haciendo un pequeña entrada.

 En este caso voy hablar de dos lenguajes de programación para principiantes, y para no tan principiantes.


 Vaya por delante que no soy programador y que lo poco que he aprendido es leyendo, pero también es verdad que esto sólo es como un pasatiempo personal, y que mis nociones son nulas. Dicho esto vamos al grano.

 Para mi, y después de leer muchos manuales y tutoriales he llegado a la conclusión de que Gambas y Python son los dos lenguajes ideales para gente que se quiere iniciar en la programación y que no tiene más aspiración que pasar un buen rato. Habrá gente que me diga que Java es muy fácil, aunque puede que tengan razón, no lo creo así, mi corta experiencia en Java ha sido bastante mala. Y si, puede que aprendiendo C se pueda dominar cualquier lenguaje, pero la curva de aprendizaje es demasiado grande y lo que queremos los principiantes es que lo poco que vayamos aprendiendo se vaya plasmando en la pantalla.

 Gambas.

 Gambas es un IDE (interfaz de programación) que nos facilita la tarea de crear ventanas, botones, controles y un largo etcetera para nuestros programas. El lenguaje que se usa es Basic, pero no el Basic de antaño, sino un mucho más potente y adecuado al mundo actual. Hacer un programa como el famoso "Hola Mundo" es muy sencillo y rápido.

Ventana con el ¡Hola Mundo! y su código.
 Quizá a muchos les suene el Microsoft VisualBasic, pues Gambas vendría a ser un programa similar, pero como deja bien claro su creador, ¡no es un clon!, aunque las similitudes sean muchas. Es muy fácil hacer un programa, y rápido, pero para mi tiene un gran defecto: la documentación. Gambas lleva poco tiempo y poca es la gente que desarrolla programas en Gambas (sólo se de un programa desarrollado en Gambas) y eso se nota a la hora de adentrarse en este entorno. Actualmente sólo hay un libro dedicado a Gambas, y está muy desactualizado, y para ser sincero, aunque el 90% del libro sea útil no es el mejor libro con el cual me he topado.
 Aunque es cierto que tiene una comunidad en español muy activa y que en cualquier momento estan dispuesto a echarte una mano, no estaría de más que la documentación fuese más amplia, e incluso la Wiki en ingles es muy escueta, y para gente como yo que no tiene nociones previas de programación se le hace cuesta arriba. Al final lo que queda, aunque ya se que no es buen método, es el prueba y error, método que es muy cansado y que te lleva a estancarte ante cualquier pequeño problema.
 Para descargar el libro de Gambas y otros pequeños tutoriales hechos por entusiastas de este entorno esta la página de Gambas en español.
 Para instalarlo en Debian y derivadas es tan sencillo como:

sudo apt-get install gambas3
 
Python.

Python es un lenguaje de programación muy sencillo de aprender y muy potente. Es un lenguaje que obliga a la indentación del mismo, con lo cual ayuda a leer el código. La ventaja más grande con respecto a Gambas es la documentación. Por toda la red nos encontraremos cursos, tutoriales y video-tutoriales, que nos ayudaran aprender y a entender este lenguaje. Eso para un novato es lo mejor que hay.

Consola de Python con el famoso "¡Hola Mundo!"

   Pero claro, siendo un novato y viendo como funciona Gambas hay cosas que se echan de menos, como tener un IDE propio, si, los hay y muy buenos, pero esta claro que en ese sentido Gambas le gana. Y ya no hablemos de hacer ventanas con botones, la cosa entonces se complica. Mi recomendación es que antes de pasar hacer ventanas con Python antes se domine en cierta manera en modo texto, para después aprender como se hacen las ventanas. Y esta es su gran ventaja, mientras Gambas sólo es para GNU/Linux, Python es multiplataforma, pero como se supone que somos novatos y que esto es un pasatiempo, esto tampoco nos supondrá una clara ventaja.
 A la hora de hacer un programa la sintaxis de Python me parece más potente y con más posibilidades, cosa que hará que nuestros programas ocupen menos líneas, pero está claro que la desventaja es que hay que aprender más comandos, ;).
 Para el que quiera iniciarse en Python le recomiendo este vídeo tutorial que está muy bien.
 Python ya viene instalado en la gran mayoría de las distribuciones, con lo cual no necesitaremos instalar nada, si acaso un IDE como Geany (por poner uno) con:

sudo apt-get install geany

Conclusión.

 Para los novatos y aficionados a programar y que estamos comenzando en este mundo y que necesitamos que nos guíen y que haya mucha información Python le gana la batalla a Gambas.  Pero a la hora de hacer un programa rápido y bonito quizá Gambas sea lo más adecuado. En cualquier caso lo que recomiendo es mucha paciencia, leer mucho y no desesperarse.
 Hecho de menos alguna página donde se incluyan ejercicios para poder practicar el lenguaje que hayamos escogido, y no me refiero a ejercicios como hallar el área de un triangulo, que me parece una autentica pérdida de tiempo, si no de programas un poco más complicados, aunque no demasiado, que nos hagan sacar lo mejor de nosotros (o de desesperarnos, jajajaja).

 ¡A disfrutar!

Apunte: He tenido que usar la partición de prueba donde tengo instalado Ubuntu 13.10, ya que con última actualización de Gambas no me funciona el programa en Debian Testing, me da un error. He buscado información pero no he encontrado gran cosa para solucionar el error. Si lo soluciono haré un entrada, ¡paciencia!
 Edit: He dado con la solución a este error. La solución aquí.

7 comentarios:

  1. Gracias por el IDE, Python lo estoy aprendiendo en #Codecademy bastante sencillo... Saludos :D

    ResponderEliminar
    Respuestas
    1. Es verdad que en Codecademy también está muy bien para aprender Python.

      Gracias a ti por comentar.

      Un saludo.

      Eliminar
  2. Buena entrada Santos!! No ando muy metido en el mundo de la programación pero se ve muy interesante!!

    ResponderEliminar
    Respuestas
    1. Muchas gracias. Si tienes algo de tiempo libre no dudes en intentarlo, xD

      Eliminar