de instrucciones que permiten a un programador escribir secuencias de órdenes y algoritmos a modo de controlar el comportamiento físico y lógico de una computadora con el objetivo de que produzca diversas clases de datos. A todo este conjunto de órdenes y datos escritos mediante un lenguaje de programación se le conoce como programa.
Algunos de estos lenguajes están formados por un conjunto de
símbolos (llamado alfabeto), reglas gramaticales (léxico/morfológicas y sintácticas) y reglas semánticas, que en conjunto definen las estructuras válidas en el lenguaje y su significado. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación, que es la que define la creación de software mediante la aplicación de procedimientos lógicos a través de los siguientes pasos:
El desarrollo lógico del programa para resolver un problema en
particular.
Escritura de la lógica del programa empleando un lenguaje de
programación específico (codificación del programa).
Ensamblaje o compilación del programa hasta convertirlo
en lenguaje de máquina.
Prueba y depuración del programa.
Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos
'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten estructurar el contenido de los documentos).
El lenguaje de programación permite especificar de manera
precisa sobre qué datos debe operar un software específico, cómo deben ser almacenados o transmitidos dichos datos, y qué acciones debe dicho software tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.
¿Cómo elegir un lenguaje de programación?
No existe el mejor lenguaje de programación… y eso es bueno
No hay un lenguaje de programación definitivo. Todos tienen su
propia sintaxis y detalles, por lo que es el tipo de proyecto que quieras desarrollar el que al final determinará cuál es el lenguaje ideal para ti. Hay casos en los que un lenguaje resultará altamente portable en cualquier sistema operativo, mientras que otros serán más difíciles de manejar. No olvides tener eso en cuenta al momento de decidir.
Conoce a la comunidad: el ciclo de vida de un lenguaje
depende de ello
Todo lenguaje de programación va de la mano de una
comunidad que apoya y “evangeliza” en las herramientas del mismo. Mientras más grande es el grupo, más probable es encontrar el feedback que necesitas para complementar tu proyecto. Por el contrario, si el lenguaje que te agrada tiene una comunidad difícil, igual será su mantenimiento o innovación.
Entonces la comunidad es la que determina el éxito de un
lenguaje o, dicho de otro modo, entre más gente involucrada, más posibilidades de creación de herramientas, soluciones e iteración de las mismas.
La comunidad es la que determina el éxito de un lenguaje
No te limites a aprender un solo lenguaje
Esto es un consejo personal: no aprendas un solo lenguaje.
Se que como geeks, que amamos crear cosas, defendemos a
capa y espada todo lo que nos gusta: nuestra consola se juegos favorito, nuestro sistema operativo y el lenguaje de programación que aprendimos y usamos a diario. Sin embargo, limitarse a usar siempre lo mismo no impulsa tu crecimiento personal. Sé, por experiencia propia, que cuando dominas un lenguaje es mucho más fácil aprender otros: de ahí en adelante cada uno se vuelve más sencillo de interiorizar y de aplicar. Haz la prueba y verás todos los problemas que lograrás resolver. Lenguajes populares de 2017 que seguirán siendo fuertes en 2018
Además la correlación que existe entre las tendencias de
tecnologías que vienen en 2018, Github nos ayuda bastante con su reporte anual de lenguajes populares, por lo que ese será nuestro punto de partida:
JavaScript
No hay duda de que JavaScript tiene una de las comunidades
más grandes. Su crecimiento en estos años no se ha quedado en desarrollo web, sino que también se ha involucrado en hardware, móvil e incluso en algunas aplicaciones de escritorio. Se trata de un lenguaje ideal para iniciar a programar debido a que te permite iniciar usando solo tu navegador.
Aprende JavaScript gratis en Platzi y conoce la Escuela de
JavaScript de Platzi. Tecnologías relacionadas recomendadas para aprender: WebPack, React, ReactNative, VueJS, Electron, NextJS o cualquier librería de Server Rendering. Python
El Machine Learning y la Inteligencia artificial son cosas que
usamos día a día, ya sea de manera consciente o inconsciente. Estos, sin duda, son dos de los grandes representantes de la innovación actual.
Python siempre ha contado con una sintaxis limpia e intuitiva y
con muchas librerías que nos ayudan con cálculos numéricos y funciones matemáticas. Además hay que permite usar TensorFlow, la librería de Google de inteligencia artificial.
Tecnologías relacionadas recomendadas para aprender:
El grande representante de Microsoft que ahora puede correr
hasta en tu Macbook o distribución Linux favorita gracias a que ahora es open source .
C# es el corazón de muchos programas y juegos que usas.
Además, Azure es una nube que tiene unas aplicaciones muy interesantes y exclusivas, como todos los Cognitive Services. ¿Quieres construir una aplicación móvil multiplataforma? ¡Claro que puedes hacerlo usando C# y Xamarin!
Tecnologías relacionadas recomendadas para aprender:
Xamarin, Xamarin Forms, Unity, .NET core. Go
Si pudiera describir de alguna forma lo que es Go, diría: “tan fácil
de aprender como Python, pero con el poder de C++”. Su librería estándar permite lograr grandes cosas. Cuenta con muchas funciones enfocadas a nuestra productividad como programadores y es muy usado para el manejo y análisis de grandes cantidades de información. Go: tan fácil de aprender como Python, pero con el poder de C++.
Tecnologías relacionadas recomendadas para aprender:
TensorFlow, Connectordb, neural-go, microservicios. Swift
Swift ahora es open source y, a pesar de que aún no hay
representantes fuertes -fuera de las aplicaciones para productos de Apple-, sigue siendo un lenguaje muy atractivo, fácil de usar y ejecutable hasta en tu iPad.
Puede que iOS no sea el lenguaje que domine el mercado; sin
embargo, sí es uno de los más rentables cuando buscas monetizar tu aplicación.
Tecnologías relacionadas recomendadas para aprender:
Objective-C, AR Kit, ML Kit, Swift Package Manager, Unity Kotlin y Java
Java sigue siendo un protagonista en muchas aplicaciones
empresariales; sin embargo, su gran potencial y atractivo sigue siendo el desarrollo de aplicaciones nativas para Android. Recuerda que muchas personas están conociendo internet gracias a un dispositivo Android y tu aplicación puede ser lo primero que ellos usen.
Pongo en este mismo lugar a Kotlin, un lenguaje menos
complejo de entender pero igual de efectivo. Tiene un futuro muy interesante y ambos puede coexistir con Java en el mismo proyecto.
Tecnologías relacionadas recomendadas para aprender: AR
Core, Unity.
Scala ( Progamación Funcional )
Aquí fue difícil elegir un lenguaje enfocado a programación funcional porque existen varios aspectos; sin embargo, por ser más popular recomiendo SCALA.
La programación funcional es la encargada de mantener
grandes productos como Twitter y es un paradigma que da mucho de qué hablar en 2018. Ya estamos preparando un curso de programación funcional en JavaScript, pero le apuntamos a usar otras tecnologías muy pronto.
Por último
Puede que no estén listados otros lenguajes como PHP, Ruby o
el que más te guste, pero esto no quiere decir que sean malos, sino que, a comparación de los antes mencionados, no han innovado fuera de sus campos de uso particular. Además, como te dije anteriormente, nada bueno sale de casarse con un solo lenguaje, por lo que si tienes alguna referencia interesante que quieras compartir con nosotros, no dudes en dejarla en los comentarios, porque la intención de este post es que se siga editando gracias a sus aportes.