Conecta con nosotros

A Fondo

7 lenguajes de programación nuevos que facilitan la vida a los desarrolladores

Publicado el

7 lenguajes de programación nuevos que facilitan la vida a los desarrolladores

Cuando descubren nuevos lenguajes de programación, los desarrolladores esperan que por fin sea el que tienen entre manos el que consiga acabar con todos sus problemas y barreras y que convierta la programación en una tarea mucho más sencilla en la que dar vida a aplicaciones y servicios sin complicaciones. Pero ocurre muy pocas veces. Tanto en el caso de los lenguajes de propósito general como en el de los pensados para un nicho de actividad determinado.

Pero conseguir dar con un lenguaje que de verdad simplifique tareas no siempre es imposible, y a veces se encuentran lenguajes con una sintaxis y una lógica muy intuitivas, con los que crear código elegante y que pueda comprenderse sin esfuerzo y solo con un par de vistazos. Ojo, esto no quiere decir que no haya que comentar el código, algo que siempre hay que hacer para no volver locos a quienes tienen que revisarlo en un momento dado.

Afortunadamente, el proceso de desarrollo de los nuevos lenguajes de programación no se lleva a cabo para demostrar la valía de quienes desarrollan, o para que sea todavía más raros e intrincados que los anteriores. En general, se crean en respuesta a un problema común a muchos desarrolladores que los creadores del lenguaje quieren resolver. Y aunque la mayoría de desarrolladores seguirán picando código a diario en uno o más lenguajes ya con cierta antigüedad y solidez, siempre buscan herramientas para solucionar sus problemas.

Especialmente en lo que se refiere a los lenguajes de programación creados específicamente para un área en concreto, a los que se conoce como DSL, o lenguajes de dominio específico. Pero también hay otros generales nuevos que pueden sacar las castañas del fuego con facilidad a sus quienes los descubran. A continuación tienes siete, tanto de nicho como generales, creados para facilitar el desarrollo.

Reactive Clojure

Podemos considerar a Reactiva Clojure como una mezcla de Clojure con React, lo que ha generado un sistema que combina todas las posibilidades que ofrecen los front-end reactivos con la solidez funcional de Clojure. Permite desplegar una colección compleja de componentes de front-end e insertarlos en un código junto con funciones. El framework Reactive completa los detalles y se asegura de que los datos de la aplicación fluyan sin problemas entre tus componentes y la base de datos.

Clojure aporta la base de fundación del lenguaje, lo que dará como resultado la posibilidad de hacer factibles casos de uso que incluso se salen de lo ordinario. Además, permitirá depurarlos. Por ahora está considerado como una buena opción para escribir el código que servirá para unir componentes de front-end. Cuenta con un modelo multihilo, por lo que es adecuado para paneles de control complejos y reactivos que muestran información sobre diversas tareas al mismo tiempo.

Nickel

Nickel es uno de los conocidos como lenguajes de programación de nicho: su misión es crear archivos de configuración, algo que aunque no lo parezca es muy práctico a la hora de tener que desarrollar arquitecturas modernas. Este lenguaje ofrece una base muy similar a una plantilla con lógica integrada, que puedes utilizar para crear archivos de configuración que no sean estáticos. Es decir, que uno de sus parámetros puede tener un valor unos días, y otros uno distinto. Cuando se ejecuta, Nickel genera un archivo de configuración nuevo que cumple todos los parámetros que ha recibido.

Este lenguaje tiene una estructura que sobre todo podemos considerar como funcional. Además, cuenta con comprobación de tipos. Se trata de un lenguaje que busca además la corrección, y si un trozo de código está bien escrito, hay garantías de que se ajustará tanto a las normas sintácticas como a otras que quieras reforzar. Su compilador permite escribir contratos de código, para después comprobar si la salida los obedece.

Kobra

Cuando se creó Kobra, sus desarrolladores pensaban en dar vida a aun lenguaje que hiciese que el machine learning estuviese al alcance de ingenieros y científicos, entre otras profesiones, y no solo al de desarrolladores de distintos niveles. Por eso dieron vida a Kobra, concebido como un lenguaje visual para machine learning.

u editor compone secuencias similares al código, con piezas que se pueden arrastrar y solar que representan rutinas integradas comunes en análisis estadístico y machine learning. El proceso de desarrollo con Kobra es parecido a R, pero con marcos de datos desarrollados a partir de datos con formato de tabla y una colección de funciones de pantalla gráficas para generar paneles de control y documentos.

Bicep

Desde hace ya un tiempo, muchos equipos de DevOps están desarrollando código para las distintas APIs compatibles con distintas nubes. Pero Microsoft ha ido más allá y se ha encargado de desarrollar un lenguaje simplificado para iniciar máquinas en Azure, como parte de su filosofía de «Infraestructura como código». Este lenguaje es Bicep.

Está caracterizado por ofrecer un formato declarativo en el que prima la eficiencia de cara a detallar la mayoría de las distintas piezas de código que un desarrollador puede querer integrar en una instancia nueva. Cuenta con seguridad de tipos básica, lo que puede ayudar a evitar errores. Además, hay un editor que tiene en cuenta la sintaxis en VS Code.

Este lenguaje está diseñado para un pensamiento de alto nivel sobre infraestructura, y cuenta con una estructura fuertemente declarativa que permite incluir instrucciones en cualquier orden para después dejar que el gestor de recursos de Azure optimice la ejecución.

Frink

Frink es un lenguaje de programación creado para evitar los errores de coma flotante cuando se trabaja, por ejemplo, con monedas. Por eso, este lenguaje, creado para tener en cuenta unidades y fracciones, resultará muy útil en sectores que tengan que ver con la realización de cálculos precisos y en grandes cantidades. Por ejemplo, para el sector bancario y en cualquiera relacionado con el peso y las distancias.

Cada variable de Frink no solo almacena un número, sino que también guarda una indicación de la unidad de medida de la cantidad. Puede ser una unidad de medida de peso, de distancia, de potencia o de moneda. La conversión de medidas en Frink también es sencilla gracias a si archivo de configuración. El mecanismo principal de funcionamiento de Frink también emplea números de precisión arbitraria para reducir los problemas con el redondeo. Funciona de manera parecida a la comprobación de tipos, pero con unidades de medida numéricas.

Faust

Faust es un lenguaje de programación generado para una tarea realmente específica: procesar el sonido para que tenga la mejor calidad posible, algo muy importante en campos como el desarrollo de juegos o la realidad virtual. Y en general, para cualquier aplicación que base su funcionamiento en una buena calidad de sonido.

Su nombre es la abreviatura de Functional Audio Stream (Flujo de audio funcional), y todas sus funciones desarrollan un canal de proceso de sonido. Su back-end divide el sonido que recibe y lo convierte en una representación numérica. El código de Faust en sí es un conjunto de funciones que se pueden componer o combinar para conseguir un resultado.

or ejemplo, se puede generar un eco de un sonido o un efecto de reverberación solo con realizar distintas operaciones con el código. El código de Faust se puede integrar en C++. C, WebAssembly y Rust, entre otros lenguajes de programación, lo que facilita su integración en todo tipo de proyectos.

WebAssembly

WebAssembly, uno de los lenguajes de programación relativamente nuevos que acabamos de mencionar, al que también se conoce como Wasm, ofrece a los navegadores web código binario procesado previamente combinado con texto en formato estándar. Su objetivo es sustituir al código JavaScript minificado, es decir, sin caracteres innecesarios, que compone la red central de las aplicaciones web por algo que esté todavía más optimizado para ejecutarlo, y para hacerlo además a buena velocidad.

Muchos desarrolladores ya usan WebAssembly sin ni siquiera tirar código en él de manera directa. En vez de eso, utilizan compiladores que convierten lenguajes de alto nivel en WebAssembly que se ejecutará en navegadores. No obstante, este lenguaje también está comenzando a utilizarse más allá de los navegadores web. Se emplea, por ejemplo, para codificar instrucciones con una máquina de pilas parecida a JVM de Java.

Participa en el Estudio CIO 2022

En MCPRO queremos conocer de cerca cómo se están digitalizando las empresas españolas. Estamos convencidos de que los dos últimos años los procesos de transformación digital se han acelerado, pero para poder comprobarlo, ¡Necesitamos tu ayuda!

Queremos saber qué cambios ha habido en tu empresa y de qué forma la transformación digital ha hecho más fácil tu día a día. Si crees que puedes ayudarnos, ¡No te lo pienses! Participar te llevará menos de cinco minutos y si además nos dejas tu e-mail, serás de los primeros en recibir el estudio una vez que publiquemos los resultados.

 

 

*Si lo haces además antes del 20 de junio podrás conseguir una entrada para el CTO Summit que se celebra en Valencia los próximos 25 y 25 de junio.

Redactora de tecnología con más de 15 años de experiencia, salté del papel a la Red y ya no me muevo de ella. Inquieta y curiosa por naturaleza, siempre estoy al día de lo que pasa en el sector.

Lo más leído