Si quieres aprender a programar o conocer un nuevo lenguaje de programación que te brinde un trabajo, o quieres llegar a aprender un area nueva este año 2023, En este articulo te mencionaré una lista de lenguajes de programación que puedes considrar aprender este año, y que te puede permitir obtener un trabajo o crear proyectos reales.
La lista que he elaborado esta basada principalmente en experencias personales, es decir los lenguajes que he visto que más facilmente desarrolladores y programadores pueden obtener un trabajo, ya sea si estan en latinoamerica, españa o si buscar obtener una posicion en trabajos Remotos.
Asu vez tambien he tomado de referencia dos rankings de lenguajes de programacion populares de este año 2022:
En ambos podran ver lenguajes muy populares y creo que muchos de ustedes estarían de acuerdos con alguna de estas listas.
Si tienes prisa estos son los lenguajes de programaciín que mencionaré:
- PHP
- Go
- Kotlin
- Swift
- C++
- C#
- Java
- SQL
- Dart
- Python
- Javascript/Typescript
empecemos por PHP.
PHP
PHP es un lenguaje interpretado , que aunque algunos no lo crean sigue siendo un lenguaje bastante usado en el desarrollo de aplicaciones web. Y aunque podria recomendar el uso de lenguajes con mejor rendimiento, herramientas y sintaxis mucho más moderna, lo cierto es que PHP sigue dando a muchos desarrolladores trabajo. Así que si quieres obtener un puesto laboral este año, PHP puede ser un lenguaje bastante facil de aprender, y que facilmente podrías encontrar ofertas laborales, ya que hay muchos proyectos de empresas, entre grandes y pequeños que necesitan desarrolladores que conozcan frameworks como por ejemplo Laravel, para poder crear nuevos proyectos. O tambien otros hacen uso de CMSs creados en PHP como Wordpress, y necesitan desarrollar una nueva caracteristica, o actualizar, o extender código.
Y aunque este lenguaje en teoria es de proposito general, su uso más comun es la creación de aplicaciones web backend, asi que si lo aprendes basaicamente el puesto al que llegarias seria a ser un desarrollador web backend.
Y algo muy importante a considerar tambien, y no solo con PHP sino con el resto de lenguajes de programación que te voy a mencionar, es que cuando vayas a ver o comprar un curso, tutorial, etc. revisa el año en el que se creo tal contenido. Porque un problema batante comun que he visto con PHP, es que muchos siguen viendo contenido de hace 5 a más años, y que puede darte una mala experencia del lenguaje, al enseñarte herramientas viejas. así que siempre revisa el año de publicación del contenido que estudies.
Go
Go es un lenguaje compilado de tipado estatico, relativamente moderno, fue creado por Google y toma inspiración de lenguajes como C++, Java y Python. Solo que con un enfoque más practico, que es crear aplicaciones de redes distribuidas, es decir aplicacione para entornos Cloud principalmente.
El lenguaje tambien es muy facil de aprender teniendo una sintaxis simple, y herramientas de desarrollo que le hace la vida más facil al desarrollador o a equipos de desarrollo.
Con Go tipicamente se crean aplicaciones backend como REST APIS, GraphQL APIs, o se usa mucho para crear herramientas de consola que funcionen con protocolos de red (Docker, Kubernetes), ademas que es un lenguaje muy comun para crear proyectos backend a gran escala encima de arquitecturas de Microservicios, es decir proyectos bastante grandes divididos en grupos con decenas de desarrolladores.
Muchas empresas usan Go al dia de hoy, ya sean Startups o empresas filiales de IBM, Google, Twilio, y así que no te será dificil encontrar trabajo en Go. Ademas que puede ser bastante comun obtener un trabajo remote de Estados Unidos o europa, si sabes ingles adicionalmente.
Kotlin
Kotlin es un lenguaje Open Source de tipado estatico, que basicamente es una version más moderna que Java, es decir que con Kotlin puedes crear las mismas aplicaciones que Java, solo que escribiendo menos lineas de código, y pudiendo ser compatible al 100% con código de Java, e incluso pudiendo ser utilizado para crear aplicaciones Frontend, como alternativa a Javascript.
Si quieres un lenguaje que es usado a nivel empresarial para poder obtener un trabajo, y que sea moderno en sintaxis junto con sus herramientas de desarrollo, Kotlin es una muy buena opcion.
Usandolo puede crear aplicaciones web backend (Server-Side), Aplicaciones Frontend (Client-Side), aplicaciones moviles nativas para Android y iOS, e incluso puede desarrollar aplicaciones Desktop (usando JavaFX)
Ademas tambien es un lenguaje que muchas empresas usan actualmente, gracias a su compatibilidad con Java.
Swift
El desarrollo de aplicaciones moviles es un area que muchos desarrolladores ven rentable al permitirles crear un modelo de negocio basado en suscripciones, y en las aplicaciones para entornos Apple (MacOS, iOS, ipadOS, TvOS, Apple Watch) se ve mucho más esto.
Por lo que puede llegar una muy buena opcion convertirse en desarrollador de aplicaciones para entornos Apple usando el lenguaje de programación Swift.
Este es el lenguaje oficial de Apple, un lenguaje moderno y sencillo, que al final tiene un muy buen redimiento, y siendo muy facil de empezar a aprenderlo, al ser pensando tambien como una forma de permitrles a personas aprender a desarrollar aplicaciones usandolo como primer lenguaje de programación.
Y aunque tambien es un lenguaje de proposito general, y multiplataforma (Windows, Linux, y Mac) su uso más comun es ser usado para desarrollar aplicaciones cliente (moviles, escritorio, watch) para Apple.
C++
C++ es un lenguaje de programación de proposito General que muchos ingenieros de software llegan a aprender en algun punto, cuando se trata de crear compiladores, interpretes o transpiladores.
Y es que este es uno de los lenguajes más usados en aplicaciones donde el rendimiento sea critico y se busque usar el paradigma orientado a objetos principalmente.
Con C++ se puede llegar a crear Motores de videojuegos, Bibliotecas de graficos en 3d, Aplicaciones de escritorio como editore de ćodigo o navegadores, o puede ser usado en aplicaciones de Hardware junto con C.
Y para obtener un trabajo usando C++ es un poco más dificil que otros lenguajes al requerir un nivel tecnico más alto que los otros lenguajes, ya que no estarás desarrollando aplicaciones de alto nivel principalmente. APrenderlo puede ser de las mejores opciones al darte fundamentos de programacion solidos que luego te podran servir para aprender cualquier otro lenguaje de programación practicamente.
C#
Si vas a estudiar una carrera a fin en la universidad es muy probable que te encuentres con lenguajes como Java o C#. Y es que como mucha empresas usando Windows como sistema operativo a nivel de usuario, Microsoft permite crear aplicaciones para sus sistemas usando C#.
Este lenguaje es tecnicamente multiplataforma y Open Source, sin embargo su uso en la practica es más comun de ver en Windows para crear aplicaciones de escritorio, o tambien verlo en el desarrollo de videojuegos con Unity, o en la creacion de aplicacione web a nivel empresarial o de gobiernos.
De hecho es muy comun ver bancos, hospitales, y organizaciones gubernamentales, hacen uso de C# debido a Windows principalmente y al ser tambien su publico objetivo de Microsoft.
Y Aprender C# esta mucho más ligado a carreras relacionadas a programacion tipicamente como ingenieria de sistemas, o ingenieria informatica. Asi que algo tipico que veras es que tambien soliciten un titulo para este tipo de entorno generalmente.
Java
Java en la practica es la competencia de C#, solo que por parte de Oracle. En la practica tiene conceptos equivalentes, y es usado en los mismos entornos de C#, asi que si sabes C#, tambien puedes llegar a aprender Java facilmente y viceversa.
Este es de los lenguajes que en mi opinion es de los más comunes de obtener trabajo a nivel de empresa. ES muy usado por empresas muy grandes, para desarrollar aplicaciones web backend principalmente,, aunque tambien puedes llegar a ver aplicaciones de ciencia de datos, videojuegos, y aplicaciones de ecritorio multiplaforma, aplicaciones moviles, y aplicaciones de Iot, similar a lo que ofrece C++, solo que con una sintaxis más simple en comparación, pagando un poco con el rendimiento.
Y aunque Kotlin sea una opcion más moderna actualmente, aun hay y habra mucho trabajo para Java en los años que vienen, asi que aprenderlo es de las mejores opciones que puedes hacer, si igual que como mencione en C# estudias una carrera relacionada a Software.
SQL
SQL a diferencia de los lenguajes anteriores esta muy enfocado en ser usado para poder administrar bases de datos Relacionales (PostgreSQL, MySQL, MSSQL, Sqlite, etc). Y aunque un tema ajento a lenguajes de programacion, SQL es de las habilidades más comunes que muchos desarrolladores, especialistas en seguridad, analistas y cientificos de datos deberian conocer.
Es un lenguaje que indpendientemente de lo que desarrolles te lo encontrás eventualmente. Si eres desarrollador deberias aprenderlo en conjunto con el lenguaje de programacion con estudias o si estas estudiando ciencia de datos, eventualmente lo necesitaras para poder extraer y analizar grande cantidades de datos.
Aprenderlo es basante sencillo, aunque debes saber que este lenguaje tiene sus variaciones dependiendo del sistema Gestor de base de datos que uses.
Dart
A diferencia de los lenguajes anteriores Dart no fue un lenguaje popular, hasta la aparicion de un Framework para crear aplicaciones moviles llamado Flutter. Y es que Flutter es tan buen Framework que hizo que este lenguaje llamará la atención. Dart es algo similar a lo que ofrece Typescript en el mundo de la web, solo que Dart posee su propio compilador y puede crear aplicacione para distitnos entornos ya sea web, movil, desktop e incluso sistemas embebidos.
SIn embargo en la readlidad su uso más comun es crear aplicaciones moviles para Android y iOS usando la misma base de código, asi que si te interesa el desarrollo movil aprender Dart puede ser de las mejores decisiones, su uso actualmente esta aumentando y puede llegar a trabajar para varias empresas que lo usan, o desarrollar tus propias aplicacione moviles y publicarlas por ti mismo, e iniciar tu propio proyecto.
Python
Y hablando de ciencia de datos, Python es probablemente junto con R de los lenguajes más importantes en esta area, asi que si decides convertirte en un especialista en esta area, este lenguaje es practicamente necesario.
Python es un lenguaje interpretado, multiplatforma, que se caracteriza por su sintaxis sencilla y su enome cantidad de biblioteca o paquetes que se pueden usar para analisis de datos, representacion de graficos, analisis estadistico, machine learning, ciberseguridad, scripts de automatizacion en incluso otras areas como el desarrollo de interfaces graficas de escritorio, aplicaciones web backend, e incluso videojuegos.
Aprender Python puede darte una entrada bastante rapida al mundo del desarrollo de aplicaciones y de lo que puede ser un lenguaje. Y aunque muchos lo usan como primer lenguaje, para luego pasar a otros, hay otros desarrolladores que se especializan tanto en este lenguaje que pueden moverse muchas de estas areas que te he mencionado.
Javascript/Typescript
He Colocado a Javascript y Typescript en una misma categoria, porque a pesar que tecnicamente son dos lenguajes de programacion, en la practia typescript depende fuertemene de como se mueva Javascript.
Aprender Javasrcipt es básicamente enfocarse en ser Desarrollar de aplicaciones web, este lenguaje puede ser usado desde crear aplicacione para el navegador, con interfaces muy producidas, hasta crear aplicaciones web backend junto con Nodejs, aplicaciones de escritorio multiplataforma siendo su ejemplo más notorio Visual Studio Code, ademas de poder llegar aplicaciones de consola al mismo estilo de Python o videojuego para el navegador.
De hecho al mismo estilo de Python, aprender Javascript es una forma de aprender un lenguaje que es muy versatil y que puedes encontrartelo en muchas areas del desarrollo de aplicaciones.
De todos los lenguajes en mi opinion este es el más facil obtener un trabajo, llegando a ver personas que no tienen estudios tecnicos dedicados a informatica o programacion y que estudiando Javascript/Typescript han podido obtener un trabajo en cuestion de meses.
Con Javascript el puesto más comun seria obtener un puesto como Desarrollador web frontend o Backend principalmente, auqnue en realidad su uso esta fuertemente ligado a los entornos web.
Otros Lenguajes Recomendados
Finalmente tambien hhay otros lenguajes que he colocado por aparte, porque sus areas son muy especificas o simplemente no es tan facil encontrar trabajos usandolos, y no es que no haya, sino que de nuevo en compracion a los anteriores estos si necesitan de cierto nivel tecnico en su mayoria.
- Rust, es un lenguaje de programacion de proposito general que se usa para crear aplicaciones de nivel de sistema que requieran un rendimiento alto, poco consumo de recuros y asu vez permita administra de manera segura la memoria, como compiladores, interpretes, transpiladores, o herramientas de consola, game engines y asi. Por ejemplo proyectos como el kernel de LInux y APis de Android lo estan usan actualmente, ademas que muchos compiladores (trasnpiladores en realidad) de Javascript estan desarrollados en este lenguaje.
- Bash/Shell. Estos son lenguajes que estan relacionados fuertemente al sistema operativo, estos son lenguajes de scripting que puede usar para crear programas con lines de código muy simples que permiten ejecutar comandos de manera automatica, y a menos que te dediques a administrar servidores o te interes el area de DevOps, o administracion de sistemas, aprender Bash y Shell, no es igual de requerido que aprender otros lenguajes.
- C, este lenguaje lo he dejado a fuera simplemente al no ser comun en el desarrollo de aplicaciones a nivel de usuario, porque a nivel de hardware C sigue siendo de los lenguajes más usados, si decides estudiar un area realaciona a ingenieria electronica o mecatronica, aprender C es obligatorio, para poder programas chips como microcontroladores, procesadores, o crear herramientas de sistema similares a lo que ofrece Rust, solo con mucho menos consumo de recursos y muy rapidos.
- Lua. Este lenguaje es muy utilizado para poder ser integrado en otras aplicaciones por ejemplo videojuegos como Word of Warcraft, Roblox o editores como Neovim, o Micro lo usan como una forma para crear plugins o crear programas dentro de estos programas.
Otras opciones de lenguajes tambien pueden ser:
Como buscar trabajo
Por cierto gran parte de poder obtener un trabajo es tambien crear un portafolio, un gihub, linkedin y saber buscar ofertas de trabajo. algo tan simple como buscar terminos como por ejemplo "golang jobs", puede darte una idea de salios, requisitos y empresas que requieran determinado lenguaje, esto te puede ayudar a decidir por un lenguaje u otro.
Conclusión
Finalmente si bien puedes empezar con cualquiera de estos lenguajes de programación, y eventualmente obtener algun trabajo, lo ideal es que no te aferres a solo un lenguaje, parte importante del trabajo de un desarrollador es aprender continuamente.
Asi que mantente activo viendo que otros lenguajes te pueden ser beneficiosos aprender para quizas adquirir nuevas habilidades, o aumento de salarios al cambiar de puesto, o permitirte crear algun proyecto.
Al final cada lenguaje de programación tiene ventajas y desventajas y depende del desarrollador saber cuales son para poder elegir la herramienta más adecuada para crear el mejor trabajo que se pueda
Más Recursos
- FAQ Kotlin stack overflow survey