Qué lenguaje de programación aprender primero: ¡los mejores!

Qué lenguaje de programación aprender primero: ¡los mejores!

Una de las preguntas más frecuentes en los foros para principiantes es "¿cómo iniciarse en programación?" o "¿cuál lenguaje de programación aprender primero?". En este artículo intentaremos responder a estas preguntas.

¿Por qué lenguaje de programación empiezo?

No existe un lenguaje de programación para iniciarse en programación. Lo único que podemos recomendar es utilizar un lenguaje simple que no sea orientado a objetos ni gráfico. Una buena elección puede ser Basic, Pascal, Python… y la sintaxis de estos últimos será de mayor utilidad más adelante.

No obstante, no deberíamos excluir ningún lenguaje, ya que incluso el lenguaje de una calculadora puede ser suficiente para probar algoritmos simples. También es imprescindible tener una idea de los tipos de lenguaje, de lo que es un compilador y otras cosas generales. Para más información puedes visitar este artículoPara comenzar a programar hay que tener un objetivo, una idea o la necesidad de crear un programa y después elegir entre el abanico de posibilidades:

  • ¿Lenguaje orientado a objetos?
  • ¿Multiplataforma?
  • ¿Con máquina virtual?
  • ¿Interfaz usuario?
  • ¿Acceso a una base de datos? Si es así, ¿cuál?

Una vez que hayas respondido a estas preguntas el número de lenguajes de programación que puedes emplear se habrá reducido significativamente. A continuación vamos a ver los lenguajes de programación que mayormente son recomendados para iniciarse en programación desde el punto de vista del aprendizaje.

  • Delphi/Pascal

En este lenguaje los compiladores y los entornos de desarrollo son gratuitos (bajo ciertas condiciones). Podemos comenzar haciendo pequeños programas en el Shell de Pascal y luego podemos pasar (después de haber aprendido la noción de objeto) a cosas más potentes con entornos gráficos gracias a Delphi (y Kylix bajo Linux). El lenguaje es relativamente intuitivo y riguroso, la creación de interfaz gráfica es simple. No destaca por su portabilidad.

Descargar Notepad++

Java

Lenguaje orientado a objetos, muy portable, sintaxis utilizada también para los scripts de Internet (la sintaxis, no el lenguaje). Existe gran cantidad de entornos de desarrollo gratuitos en la web: no hay más que elegir en función a nuestro gusto. Sin embargo, no tiene la facilidad de Delphi en lo que respecta a la interfaz gráfica. Este es un lenguaje de “última generación” que dará una experiencia interesante a los que deseen trabajar en informática.

Aprender Java

Python

Simple, rápido, crea buenas costumbres de programación, ligero, abierto y cuenta con gran cantidad de documentación en Internet. Nos permite rápidamente entrar en acción, ya sea creando scripts potentes (gracias a la programación orientada a objetos) u otras cosas. De “última generación” y portable. Funciona con una máquina virtual que puede ser empaquetada gracias a algunas clases disponibles en la web oficial de Python (se encuentran de todo tipo y para todos los fines) en un exe para distribuir la aplicación de manera simple e independiente.

Descargar Python

.Net

Permite programar aplicaciones gráficas de manera simple, funciona en Windows y en algunas adaptaciones de Linux. Yo recomendaría C# que es el lenguaje “nativo” de esta plataforma: su sintaxis es muy similar a la de C y Java, no hay punteros, todo se hace en un nivel de abstracción superior a los antiguos lenguajes de Microsoft. Se compara a Java y a Python, excepto que no es libre.

Entorno de desarrollo gratuito

Smalltalk

Lenguaje orientado a objetos por excelencia. Gratuito, sintaxis simple, impone un rigor sin igual en la programación orientada a objetos. Desgraciadamente no es muy utilizado. Da una referencia sólida, y con cosas como Squeak permite hacer gran cantidad de cosas.

Página oficial de Squeak

¿Qué lenguajes de programación podemos utilizar para aprender en última instancia?

  • C/C++

Estos son lenguajes útiles pero con una sintaxis complicada que no facilita su aprendizaje. Además el uso de punteros hace que su uso, incluso para los profesionales, sea complicado. La ventaja es que estos lenguajes pueden ser utilizados en diversas plataformas (después de compilación) y que, una vez dominados, hacen que los otros parezcan simples. Estos lenguajes son aún muy utilizados en el mundo profesional.

Aprender C

Aprender C++

  • PHP

Un lenguaje inicialmente previsto para el desarrollo de páginas web dinámicas. Su sintaxis es muy similar a la de C++. PHP es bastante simple de abordar y permite conectarse fácilmente a una base de datos. Para desarrollar páginas web dinámicas, se requiere también un buen conocimiento de Html y eventualmente de Sql si se necesita una base de datos. Permite ver rápidamente el trabajo, poniéndolo en línea, y de este modo tener los comentarios/sugerencias de los internautas. También podemos desarrollar otras aplicaciones que no sean para la web con este lenguaje. Podemos programar de manera procedural y orientada a objetos, a nuestra elección. Es un buen lenguaje pero no necesariamente el mejor para aprender. Es potente y permisivo pero con el riesgo de aprender malas costumbres. Especialmente en lo que respecta a las páginas web, este no influye para que se programe con propiedad desde el inicio. Si buscas un lenguaje que sea fácil de aprender, que te permita aprender la programación orientada a objetos y que te deje buenas costumbres de programación, entonces elige más bien un lenguaje como Python.

Página oficial de PHP

  • Ada

Lenguaje aún utilizado en la programación de sistemas de tiempo real. Es fácil de aprender pero es recomendado sobre todo para los futuros informáticos. Si no, no hay mucho interés. Es mejor pasar a Ada solamente con el objetivo del análisis de estos sistemas.

Más información

  • Lisp/Caml.

Los lenguajes funcionales son numerosos y están clasificados en dos grandes familias: los puros (haskell) y los no puros (familia lisp). A la vez la familia de los puros está clasificada en dos: los verdaderamente puros sin efecto secundario (familia haskell) y la familia ML (Caml, SML...). La manera de programar es totalmente diferente con relación a los otros lenguajes. La programación funcional es otra manera de ver un programa y eso no impide por ejemplo tener un lenguaje funcional y orientado a objetos (como Scala) o incluso un lenguaje funcional que asocie imperativo/orientado a objetos/funcional (Ocaml). Conocer uno de estos permite tener buenas bases y permitirá también a las personas más orientadas a las matemáticas pasar de manera progresiva a la informática. Estos por lo general son utilizados en análisis numérico o en inteligencia artificial. Podemos utilizarlos para programar todo lo que se puede programar con otros lenguajes.

Más información

¿Qué lenguajes de programación es mejor evitar a la hora de aprender?

  • Perl

Este lenguaje aparentemente simple no lo es en lo absoluto. Su flexibilidad y potencia pueden hacer que adquieras malas costumbres de programación e incluso te pueden desalentar por los errores que permite cometer. Es mejor comenzar aprendiendo un lenguaje riguroso, para luego explotar al máximo Perl.

Página oficial de Perl

  • HTML/CSS

Se suelen emplear para escribir una página web o un sitio web en HTML. Aquí se trata de presentar un documento, no de programar.

Aprender HTML

  • Visual Basic/Basic: D

Los profesionales que han trabajado con él lo desaconsejan, pues crea malas costumbres de programación (no es necesaria la declaración de variables, ninguna noción de valor/referencia, tentativa fracasada de programar con objetos,…).No existe ninguna versión gratuita. Ofrece como ventaja la capacidad de hacer interfaces gráficas para Windows. El caso de Basic es más o menos el mismo: existen compiladores gratuitos, pero se trata de un lenguaje obsoleto que no es ni rápido, ni portable, ni orientado a objetos, ni riguroso. Inclínate por Pascal que te permitirá luego evolucionar hacia Delphi.

Página oficial de Visual Basic

Consejos

  • Es muy común en el mundo de la programación tener que leer artículos en inglés, por lo que aprenderemos a programar en mejores condiciones si podemos leer en inglés o mejor todavía si lo podemos escribir.

  • Aquí puedes encontrar muchos compiladores gratuitos para diferentes lenguajes.

Lenguajes