• Tecnología
  • Equipo eléctrico
  • Industria de materiales
  • vida digital
  • política de privacidad
  • oh nombre
Localización: Hogar / Tecnología / 11 nuevos lenguajes de programación para hacer que el corazón de un codificador cante

11 nuevos lenguajes de programación para hacer que el corazón de un codificador cante

techserving |
1981

¿Fue Alexander Pope quien dijo: "La esperanza surge eterna en el seno humano"?Pope era un poeta, no un hacker, pero creo que entendería la anticipación involucrada en descubrir un nuevo lenguaje de programación. He would know that software developers are forever hopeful that this language, with its unique conflation of Unicode characters, will finally solve all of our problems, making coding easy with just a few clicks.

Pope surely would understand the desire for a new syntax so intuitive that we need only imagine an answer, and see it rendered into logical rules that are marvelous, elaborate, and above all correct.Agradecería el anhelo de nuestros dedos a hacer un nuevo código que se ve tan fácil y elegante como un triple axel, un interno de tres y medio en la posición de lucio, o una slalom gigante en los Juegos Olímpicos.

Sin embargo, la mayoría de los idiomas modernos no están construidos para la captura o la demostración de nuestra destreza de codificación.Se hacen en respuesta a un problema común que los creadores están ansiosos por resolver.Si bien la mayoría de los desarrolladores continuarán haciendo nuestra codificación diaria en uno o más idiomas más antiguos y más establecidos, estamos buscando nuevas herramientas para ayudarnos a resolver nuestros problemas de codificación..Podemos ver esta tendencia, especialmente, en el aumento de los idiomas específicos del dominio, o DSLS.Estos idiomas son compactos y enfocados.No están destinados al uso de uso general.Pero algunos podrían ganar un lugar especial en su caja de herramientas por exactamente esa razón.

Aquí hay 11 idiomas más nuevos que han encontrado su nicho.Algunos son DSLS, diseñados para hacer una cosa y hacerlo bien.Otros, aparentemente, aspiran a salvar al mundo. Even if they aren’t what you need right now, all of them have something to teach about making our computers do what they do, but better.

Clojure reactivo

Cuando te casas con Clojure con React, esto es lo que obtienes: un sistema que combina todas las posibilidades de frontales reactivos con la fuerza sólida y funcional de Clojure.En el mejor de los casos, reactivo Clojure le permite establecer una compleja colección de componentes frontales y unirlos con funciones.El marco reactivo llena los detalles y garantiza los flujos de datos de la aplicación sin problemas entre sus componentes y la base de datos.Clojure trae la base funcional para hacer posibles los casos de uso fuera de lo ordinario, y debugugarse.

¿Es un partido hecho en el cielo?El tiempo dirá.Clojure reactivo es una buena opción para escribir el código de pegamento que se mantiene juntos componentes frontales.Su modelo multiproceso es una combinación natural para paneles complejos y reactivos que informan sobre múltiples tareas simultáneamente.

Níquel

Uno de los juegos más irónicos que juegan los programadores está empujando la mayor parte de nuestro trabajo a los archivos de configuración.Estos archivos, a menudo codificados en JSON, YAML o incluso XML, son una buena idea de codificación que se metástasis en un ritual elaborado.En algunos casos, ni siquiera necesita escribir código real;Simplemente trate sin cesar los diversos archivos de configuración para hacer lo que necesita.

Tiene sentido, entonces, que tengamos níquel: un lenguaje de programación para crear archivos de configuración.Níquel es como una plantilla con lógica integrada, que puede usar para crear archivos de configuración que no son estáticos.Un parámetro podría ser un valor durante la semana y uno diferente los fines de semana.Cuando se ejecuta, Níquel crea un nuevo archivo de configuración que se ajusta a todos los parámetros que se recibe.

La estructura del níquel es en gran medida funcional, y la verificación de tipo está disponible, si ayuda.Un gran tema es "corrección" porque una pieza bien escrita de código de níquel garantiza que la producción obedezca tanto las reglas sintácticas como cualquier otra regla que necesite hacer cumplir.El compilador de Níquel le permite escribir contratos, luego verifica para ver que la salida los obedece.Claro, hay algo gracioso en escribir código para crear archivos de configuración que luego jefan con su código.Pero es una solución muy práctica para las arquitecturas modernas.

Kobra

Los creadores de Kobra querían un idioma que abriera el aprendizaje automático a los ingenieros, científicos y otros codificadores no tan profesionales..El resultado es lo que llaman un lenguaje visual para el aprendizaje automático.El editor de Kobra compone secuencias similares a código con mosaicos de arrastrar y soltar que representan rutinas incorporadas comunes para el análisis estadístico y el aprendizaje automático.El proceso se siente como R con marcos de datos construidos a partir de datos tabulares y una colección de funciones de visualización gráfica para crear paneles y documentos.

11 new programming languages to make a coder's heart sing

Bícep

Una de las características más útiles de la nube es la capacidad de iniciar y derribar los servidores para manejar las oleadas de datos.Una vez tardó semanas en un equipo de hardware de centro de datos para solicitar, instalar, probar y configurar una máquina.Ahora, la nube te permite hacer todo esto en minutos, o incluso segundos.

Muchos equipos de DevOps han comenzado a escribir código para las diversas API compatibles con las diferentes nubes.Microsoft decidió ir un poco más lejos y crear un lenguaje simplificado para iniciar máquinas en Azure, como parte de su filosofía de infraestructura como código.

El lenguaje, llamado biceps, ofrece un formato eficiente y declarativo para explicar la mayoría de los diferentes bits que un desarrollador podría desear voltear en una nueva instancia..Alguna seguridad de tipo básico puede ayudar a prevenir errores y hay un editor de sintaxis disponible en VS Code.El lenguaje en sí está diseñado para un pensamiento de orden superior sobre la infraestructura, con una estructura fuertemente declarativa que le permite incluir instrucciones en cualquier orden, luego deje que el administrador de recursos de Azure optimice la ejecución.

Frink

Un amigo afirma que su único requisito para elegir un banco es garantizar que el software de contabilidad del banco use enteros para contar centavos y no números de punto flotante para fracciones de un dólar.Los peligros de los errores con el punto flotante son bien conocidos y demasiado grandes.¿Cuántos errores han sido causados por lanzar sobre números sin mucho cuidado?

Frink es un lenguaje de "unidades conscientes" creado solo para este problema.Cada variable en frink no solo contiene un número sino también una indicación de la unidad de medida, ya sea toneladas, vatios, pies o metros.La conversión de la unidad es fácil gracias al archivo de configuración de Frink.El mecanismo central de Frink también utiliza números de precisión arbitrarios para reducir los problemas con la redondeo.Es como verificación de tipo pero para unidades numéricas de medición.

Fausto

La síntesis de sonido puede parecer un enfoque estrecho, pero es muy útil para el desarrollo de juegos, la realidad virtual y cualquier aplicación que se basa en una buena calidad de sonido. Enter Fausto, a domain-specific language that gets its name from an amalgam of functional audio stream.La estructura de Fausto es puramente funcional, y todas sus funciones construyen una tubería de procesamiento de sonido.Su backd rompe el sonido entrante en una representación numérica, y el código en sí es un conjunto de funciones que se pueden componer o combinar en un resultado final.Como ejemplo, puede crear un eco o una reverbio dividiendo su salida de código e introduciendo un retraso.El código de Fausto se traslada al código de bit C ++, C, LLVM, WebAssembly, Rust y algunos otros idiomas, por lo que puede usarlo con casi cualquier proyecto.

Melrōse y Glicol

Cualquiera que escriba código sabe cómo un programador comenzaría una banda: en lugar de publicar un anuncio para encontrar un baterista y luego entrevistar a todos los que responden, simplemente escriba algún código para explicar los ritmos para una máquina de ritmo.Una vez hecho esto, también podría reemplazar a todos los demás miembros de la banda con subrutinas.Incluso podrías construir una orquesta sinfónica completa de esa manera.

Melrōse y Glicol son dos lenguajes de programación musical diseñados para este estilo de creación de música.Ambos le permiten crear composiciones elaboradas con solo unas pocas pulsaciones de teclas.Melrōse trabaja a un alto nivel alrededor de la octava estándar de doce tonos comunes en la música occidental.Las notas se agrupan en secuencias y el software maneja gran parte del trabajo de Scut como Transposition.La salida va a cualquier instrumento con capacidad MIDI y el código también puede reaccionar a las señales entrantes sobre el puerto MIDI, por lo que el código Melrōse puede ser un miembro de la banda.

Glicol es una herramienta a base de óxido que realiza gran parte de las mismas tareas pero desde un nivel inferior.El código se integra con el procesamiento de señal digital para ofrecer una amplia gama de opciones musicales..La herramienta está diseñada para producir sonidos listos para el navegador con su motor de audio de código abierto.El desarrollador de Glicol dice que el idioma tiene "una tarifa de entrada baja y techos altos" para fomentar la colaboración con otros de todos los niveles de habilidades.

WebAssembly y WASE

La forma más eficiente de enviar instrucciones a la computadora es codificarlas en binario y limitarlas al conjunto básico de operaciones utilizadas por las CPU..Cada chip tiene su propia sintaxis binaria favorita y algunos idiomas como Pascal o Java tienen un formato binario neutral destinado a ejecutarse en una máquina virtual local.WebAssembly (WASM) sigue estos pasos, ofreciendo navegadores web código binario predigerido combinado con texto en un formato estándar.El objetivo de Webassembly es reemplazar el código de JavaScript minificado que forma la columna vertebral de las aplicaciones web con algo que está aún más listo para ejecutar, con una velocidad nativa cercana.

Muchos desarrolladores utilizarán WebAssembly sin escribirlo directamente, utilizando compiladores que convierten los idiomas de nivel superior en WebAsmbly que se ejecutarán en los navegadores.También hay un movimiento para crear idiomas de bajo nivel que expongan gran parte de la estructura básica de Webassembly en una forma legible humana.WASE es una de esas opciones, que ofrece una sintaxis similar a C con una tipificación fuerte.

WebAssembly también está encontrando un uso fuera de los navegadores web, como una forma general de codificar instrucciones con una máquina de pila similar a JVM de Java.Redpanda, por ejemplo, es una plataforma de datos de transmisión que ofrece a los desarrolladores la oportunidad de ajustar o modificar los datos a medida que se reduce la tubería con el código escrito en WebAsmbly.

Java 17

Técnicamente, Java no es un lenguaje nuevo.De hecho, una de las mejores cosas de Java es que sus desarrolladores han hecho un gran trabajo manteniendo la compatibilidad con versiones más antiguas..Por lo general, es bastante fácil compilar el código que tiene 10 o incluso 20 años para los últimos JVM.El código no está garantizado que funcione, pero aún es más fácil de compilar que casi cualquier otro idioma.El equipo de Java tiene una suite de millones de pruebas de integración, y muestra.

Incluyo Java 17 en esta lista porque se ha modernizado tanto que sería casi irreconocible para un viajero del tiempo de la década de 1990..Java 17 tiene tantas características y extensiones adicionales que cambian la forma en que codificamos.

Algunos, como el generador de números aleatorios mejorados o la semántica de matemáticas de punto flotante más estricto, abordan los desafíos de escribir código numérico muy complejo.Los desarrolladores que escriben los sistemas de contabilidad pueden salirse con la suya con enteros para contener la cantidad de centavos, pero aquellos que abordan los algoritmos de IA y el complejo punto de álgebra lineal necesitan un punto flotante.

Otros, como la fuerte encapsulación y la semántica de interruptor extendido, aportan una mezcla de disciplina y flexibilidad al lenguaje central.En total, es más fácil que nunca escribir un código más fuerte, más seguro y más seguro gracias a todas estas mejoras.Todavía es Java en su núcleo, pero los extras marcan la diferencia.