Ya leíste artículos, buscaste en Internet e investigaste todo lo que has podido sobre programación. Ahora, llegó la hora de tomar la gran decisión: “¿qué lenguaje de programación debería aprender?”

Buena pregunta. Afortunadamente para ti, tenemos una guía paso a paso que te ayudará a decidir qué lenguaje de programación deberías aprender según tus intereses.

Si todavía estas buscando, esta guía te ayudará a aclarar cuál es el propósito de los lenguajes de programación más comunes así como tu preferencia por alguno.

También identificamos cuatro maneras de clasificar los mejores lenguajes de programación: por popularidad, facilidad para aprender, potencial de ganancias y utilidad.

Nota: En este artículo, hemos agrupado lenguajes de marcas como HTML y CSS y lenguajes de script como Bash/Shell y SQL, dentro de la categoría de lenguajes de programación.

Empecemos con una lista de los 10 lenguajes de programación más populares de acuerdo con StackOverflow:

  1. JavaScript
  2. HTML
  3. CSS
  4. SQL
  5. Java
  6. Bash/Shell
  7. Python
  8. C#
  9. PHP
  10. C++

Fuente (en inglés): StackOverflow

En esta lista, vemos que JavaScript, HTML y CSS ocupan los tres primeros lugares como los lenguajes de programación más populares. Estos tres lenguajes son la base del desarrollo web front-end y sirven como un gran punto de partida para principiantes. SQL se usa para la gestión de base de datos y el resto, como Java, Python, C#, PHP y C++ son lenguajes con propósito general que puedes utilizar para muchas tareas. Bash/Shell, por otro lado, es un lenguaje de comando que se usa para comunicarse con sistemas operativos basados en Unix, como Linux y MacOS.

¿Y qué hay de los lenguajes más fáciles de aprender?

  1. HTML
  2. Python
  3. JavaScript
  4. PHP
  5. Java
  6. R
  7. Shell
  8. Ruby
  9. Erlang
  10. Go

Fuente (en inglés): TechRepublic

Afortunadamente, muchos de los lenguajes de programación más populares también son los más fáciles de aprender. Pero también podemos encontrar algunos lenguajes de programación más desconocidos, como R y Erlang. R es un lenguaje de programación diseñado para computación estadística y matemáticas, y es una gran herramienta para el análisis de datos (que discutiremos más adelante). Erlang se usa principalmente para la telecomunicación y está presente en muchas aplicaciones de mensajería como WhatsApp.

…y los lenguajes de programación que más pagan?

  1. F#
  2. Ocaml
  3. Clojure
  4. Groovy
  5. Perl
  6. Rust
  7. Erlang
  8. Scala
  9. Go
  10. Ruby

Fuente (en inglés): StackOverflow

Si eres nuevo en la programación, probablemente no reconozcas muchos de estos lenguajes en la lista. Debido a que la programación informática es una industria en constante evolución, las habilidades mejor pagadas tienden a relacionarse con tecnologías más nuevas y avanzadas. Sin embargo, saber HTML, CSS y JavaScript es suficiente para comenzar tu carrera. Otros lenguajes pueden esperar.

Resumen

Además del salario, la popularidad y la facilidad para aprender, talvez tengas tus propias razones para aprender un lenguaje de programación en particular. A continuación, examinaremos algunos de los factores decisivos que te ayudarán a decidirte por un lenguaje de programación y los usos que tienen.

Escoger un lenguaje según su utilidad

Aquí es donde las cosas se complican. Qué tan “útil” es para ti un lenguaje dependerá de lo que quieras lograr con la programación. Por ejemplo, HTML y CSS son muy útiles para un desarrollador web front-end, mientras que Swift y Java son más útiles para un desarrollador móvil. Algunos lenguajes de programación, como Python, están diseñados para propósitos más generales, pero muchos otros son herramientas especializadas que te ayudarán a completar tareas específicas.

Primero, vamos a determinar por qué quieres aprender a programar, decidir en qué área te gustaría enfocarte y encontrar el lenguaje de programación correcto para ti.

Quiero ser desarrollador profesional

Desarrollador de videojuegos

Si te interesa convertirte en desarrollador de videojuegos, hay dos lenguajes de programación que debes dominar principalmente: C++ y C#.

Si quieres diseñar juegos divertidos para móviles en 2D que están basados en una comunidad e interacción online, C# es definitivamente tu mejor opción. C# es más fácil de aprender y menos complicado que C++, por lo que es el principal lenguaje de programación de juegos móviles e indie.

C++, por el otro lado, es increíblemente poderoso y se puede usar para juegos móviles en 3D y juegos AAA para PC y consola. Si quieres crear juegos con el mejor rendimiento y los mejores gráficos, C++ es la mejor manera de lograrlo.

Desarrollador Web

En nuestro artículo, “Una breve introducción a la programación” hablamos mucho sobre los tres grandes lenguajes de programación para el desarrollo web: HTML, CSS y JavaScript. HTML se encarga del formato, CSS determina el estilo y JavaScript hace que la página cobre vida.

Para los desarrolladores web que se enfocan principalmente en la Experiencia de Usuario (UX), HTML5 y JavaScript son las herramientas que más se utilizan comúnmente. No obstante, los desarrolladores web que participan en el comercio electrónico cambian su enfoque a lenguajes más avanzados como Java, Ruby, Python, PHP y C#.

Los programadores web para pequeños negocios probablemente utilicen PHP, mientras que los programadores para startups recientes usan Java, Ruby y JavaScript para la mayor parte de su trabajo. Los desarrolladores web empresariales tienden a usar C# y Java con mayor frecuencia para aplicaciones más grandes basadas en Windows.

Desarrollo Móvil

El desarrollo móvil es un poco más directo y sólo requiere que sepas un lenguaje de programación por sistema operativo.

Si deseas crear aplicaciones móviles para iPhone o iPad, todo lo que necesitas saber es Swift, el propio lenguaje de programación de Apple para iOS. Introducido en 2014, Swift es un lenguaje de programación muy potente que fue diseñado para permitirte programar casi cualquier dispositivo Apple. Si aprendes a programar con Swift, ¡también podrás escribir aplicaciones para Mac, el Apple Watch y la Apple TV!

El desarrollo móvil para Android ha despegado en años recientes y ha crecido hasta sobrepasar la popularidad del desarrollo para iOS. Android está basado en Java, lo que hace que sea muy fácil comenzar si ya has tenido alguna experiencia utilizando el lenguaje. Puedes desarrollar desde aplicaciones para Android hasta hacer un montón de cosas geniales después de ganar un poco de experiencia con Java.

Por último, llegamos al teléfono Windows. El SO móvil de Windows corre en C#, uno de los lenguajes de programación muy propios de Microsoft. La programación en C# es una habilidad muy valiosa que cualquier desarrollador de Windows debería tener.

Hoy vemos que los límites comienzan a desaparecer ya que tanto las aplicaciones móviles como las de escritorio se unifican cada vez más. En vez de estar separadas por ser para móvil o escritorio, los lenguajes de programación están segregados por ecosistema (Microsoft, Google y Apple). Google incluso desarrolló su propio lenguaje llamado “Go”, el cual talvez reemplace a Java para Android.

Software de escritorio

Como mencionamos, los mismos lenguajes de programación que necesitarás para el desarrollo móvil se pueden usar para desarrollar software de escritorio también. Si tu objetivo es desarrollar software para plataformas de Windows, deberías aprender C#. Para desarrollar software de escritorio multiplataforma y programas para Mac, entonces mejor aprende Java y Swift, respectivamente.

También hay varias soluciones sólidas basadas en la web para desarrollar software de escritorio multiplataforma solo con HTML, CSS y JavaScript, como Electron.

Ciencia de datos

En el campo de la ciencia de datos, Python y R son los lenguajes más útiles que puedes aprender. Python es como una navaja suiza de lenguajes de programación y fue diseñado para usarse de manera general. Sin embargo, la fuerza de Python viene de las amplias librerías gratuitas de análisis de datos con muchas habilidades. Una de las librerías de análisis de datos más populares, Panda, viene con herramientas que te permiten importar información de hojas de cálculo o procesar conjuntos de series de tiempo.

R es otro lenguaje de programación que está dirigido hacia el análisis estadístico y gráficos. Con R, puedes incluir modelos lineales y no lineales, pruebas estadísticas clásicas, análisis de series de tiempo, clasificación, agrupación y más.

Quiero iniciar una startup

Web

Las startups basadas en web tienen muchas opciones cuando se trata de escoger un lenguaje de programación.

Para un comercio electrónico startup, PHP es una gran lenguaje para comenzar. WordPress se ejecuta con PHP y es una gran plataforma para iniciar el sitio web de un comercio electrónico.

Si quieres comenzar una startup ScuS (Software como un Servicio), el lenguaje que necesitas aprender es Java. Con Java, podrás desarrollar software para una gran variedad de plataformas, desde Android hasta Windows.

Gracias al framework de Ruby on Rails, Ruby es un lenguaje poderoso y fácil de usar que hace que los prototipos sean pan comido. Al ser un lenguaje de alto nivel, podrás crear prototipos rápidamente y darle vida a tu idea con un mínimo de esfuerzo.

Finalmente, tenemos JavaScript, el que directamente afecta todo el desempeño de tu sitio web. Ya que tu startup está basada en la web, el rendimiento y la experiencia de usuario son clave. Estos días, los motores de búsqueda como Google te castigan y bajan tus rankings de resultados de búsqueda por un sitio lento y lleno de lag. Esto puede afectar gravemente el número de visitantes y la conversión que recibas.  

Quiero iniciar una startup (Version 2.0)

Web

Puesto que la fachada de una tienda en línea es su sitio web, necesitarás HTML, CSS y JavaScript para el front-end. Sin embargo, tienes muchas otras opciones para el back-end, lo que cuenta como las operaciones “detrás de escenas” de tu tienda en línea.

Para manejar el back-end, probablemente usarás Node.js (JavaScript), Ruby o PHP. De estos tres, Node.js es el más popular y utilizado, tanto por su rapidez como por su base en JavaScript.

Debido a que tu startup está basada en la web, el rendimiento y la experiencia de usuario son extremadamente importantes. Por lo tanto, te recomendamos la opción más rápida, Node.js, para el back end.

En casos extremos, tal vez necesites utilizar Python o R para el back end de tu sitio, pero sólo si estás lidiando con grandes cantidades de información de clientes o productos.

Si quisieras una solución más fácil que ya está establecida para ti, intenta construir tu tienda en línea en WordPress, una solución basada en PHP. Con WordPress, puedes usar una interfaz de arrastrar y soltar para crear el aspecto de tu tienda, mientras que el programa se encarga del front end y back end.

Aunque WordPress es relativamente fácil de usar, aún querrás aprender el lenguaje o contratar a un desarrollador PHP para añadir características adicionales o resolver problemas que puedan surgir.

Móvil

Las startups basadas en móvil como Uber son muy populares y tienen mucho éxito hoy en día. Para lanzar una startup en el espacio móvil, es importante que crees aplicaciones que estén disponibles tanto para iPhone como para Android. De hecho es posible desarrollar aplicaciones multiplataforma en Java usando React Native, Ionic, PhoneGad o Cordova, pero es recomendable que aprendas los lenguajes de programación nativos para cada plataforma si quieres lograr un mejor desempeño.

Si no puedes programarlo por ti mismo, talvez consideres útil contratar a un desarrollador móvil que se especialice en un sistema operativo específico. Necesitarás a un desarrollador Java para Android y un desarrollador Swift para iOS. O a algún programador talentoso y poco común que conozca ambos lenguajes. También puedes optar por una solución multiplataforma.  

Videojuegos

Al ser una startup es probable que no tengas los recursos para desarrollar títulos AAA como los grandes estudios. En lugar de eso, los desarrolladores indie tienden a enfocarse en la trama y creatividad para desarrollar juegos. C++ es complicado, toma tiempo y frecuentemente es difícil de usar, lo que significa que no es tu mejor opción como startup. C# es más fácil de usar y te permite lanzar videojuegos más rápidamente y a tiempo.

Los videojuegos basados en web son otro gran lugar para comenzar si eres un nuevo desarrollador de videojuegos. Puedes crear videojuegos increíbles con la ayuda de HTML5 y JavaScript. Para saber más sobre los tipos de videojuegos que puedes desarrollar con HTML5  y JavaScript ve este artículo (en inglés): https://tutorialzine.com/2015/02/30-amazing-games-made-only-with-html5

Sin embargo, si tienes la paciencia, habilidad y dedicación para crear un fantástico videojuego en 3D, deberías aprender C++. Este poderoso lenguaje de programación de Microsoft es todo lo que necesitas para crear videojuegos impresionantes para consola y PC.

Quiero crear algo divertido

Lo más atractivo de la programación no sólo son su utilidad y una buena remuneración, sino que también puede ser una actividad muy divertida. Si quieres crear algo cool por medio de la programación, debes considerar primero qué tipo de proyectos te interesan. ¿Te gustaría crear una nueva aplicación móvil, un juego basado en web o incluso tu propia IA? ¿Tal vez te gustaría automatizar tus actividades diarias en el trabajo o crear una Google App (G-Suite)? Conociendo bien los siguientes lenguajes, tu único límite para crear será tu imaginación.

Videojuegos pequeños

No creas que necesitas ser un programador profesional para comenzar a perseguir tu sueño de ser un desarrollador de videojuegos; todo lo que necesitas saber es HTML5, JavaScript y algo de WebGL. Tanto Doodle Jump como el increíblemente famoso (o infame) juego móvil, Flappy Bird, están impulsados por HTML5 y JavaScipt. Claro, tú no harás videojuegos AAA para consolas próximamente, pero deberías estar sorprendido de todo lo que puedes crear con poco conocimiento de programación. Para videojuegos de escritorio ligeramente más avanzados lo mejor es utilizar lenguajes como C# y Python.

Google Apps (G-Suite)

JavaScript es la columna vertebral para crear aplicaciones dentro del ecosistema de Google, o el G-Suite, como se conoce usualmente. Google afirma que cualquier aplicación en G-Suite se puede crear con JavaScript solamente. Esta es una afirmación un poco rara considerando que Gmail de hecho se escribió en Java, no JavaScript.

De todas maneras, ya no necesitas realmente conocer JavaScript para crear aplicaciones en G-Suite. La nueva App Maker de Google te da una interface de arrastrar y soltar que te permite crear aplicaciones personalizadas y te proporciona API para todas las aplicaciones de Google, como Google Maps y el traductor de Google. La API, o la interfaz de programación de aplicaciones, es la clave que permite la comunicación entre otras aplicaciones de Google y tu propia aplicación personalizada.

Automatización de tareas

¿Alguna vez has pasado incontables horas actualizando una hoja de cálculo, renombrando archivos u organizando archivos con tu teclado y ratón? Durante esa experiencia alucinante, ¿te detuviste a pensar si podría haber una mejor manera? La automatización de tareas es un campo completo de la programación que se dedica a automatizar lo aburrido, tareas sin sentido que los humanos preferirían no hacer.

Al usar lenguajes básicos con un propósito general como Python y Ruby, puedes decirle a tu computadora que haga todo el trabajo duro por ti. Además de ahorrarte tiempo y estrés, las tareas diarias automatizadas terminarán por ser más precisas, ya que tendemos a cometer errores cuando estamos cansados, distraídos y aburridos. Las computadoras, por otra parte, consiguen realizar el trabajo sin errores.

IA simple (Inteligencia Artificial)

En los últimos años, Python se ha vuelto increíblemente popular en el campo de la Inteligencia Artificial. Uno de los grandes retos de los desarrolladores de IA es el problema del “deep learning”; es decir, la habilidad de aprender como lo hace un humano. Hoy en día, el “mapeo cerebral” es una técnica ampliamente utilizada en IA que involucra crear grandes ramas de toma de decisiones. Cada conexión se trata como si fuera una neurona y una sinapsis en el cerebro. Al usar esta técnica, los investigadores en IA esperan crear una réplica del cerebro que razone e incluso tenga las capacidades creativas de un humano.

TensorFlow es una gran librería de recursos para Python y otros lenguajes de programación. Mientras que se desarrolló en primer lugar para usarse con Python, TensorFlor.js se ha lanzado para JavaScript con la intención de usar el aprendizaje de máquinas en la web. En otras palabras, puedes usar JavaScript incluso para experimentar con IA a través del uso de TensorFlow.

Conclusión

Esperamos que hayas disfrutado nuestro artículo y ahora tengas una idea más clara sobre el lenguaje de programación que es más adecuado para ti: los lenguajes como HTML, CSS y JavaScript son los mejores lenguajes para comenzar, pero definitivamente no te equivocarás si escoges un lenguaje multiplataforma como Python o C#.

 

¿Te gustaría aprender a programar? Ven y prueba nuestras primeras 25 lecciones sin costo en la Escuela de Programación CodeBerry.