Presentan Tight-C, el nuevo lenguaje sin recolector de basura que compila a C11

Se ha lanzado Tight-C, un nuevo lenguaje de programación minimalista diseñado para la programación de sistemas. El lenguaje, creado por el desarrollador Alonsovm, compila directamente a código C11 y utiliza únicamente 10 palabras clave: if, loop, break, defer, ret, struct, fn, use, pub y pin. A dife

Bournegol: el olvidado dialecto de C que creó el Bourne shell

Bournegol es un dialecto peu connu du langage de programmation C, développé par Steve Bourne dans les laboratorios Bell au cours des années 1970. Ce dialecte a été utilisé pour écrire le légendaire Bourne shell (sh), qui est devenu l'un des interpréteurs de commandes les plus influents dans les syst

Paul Graham explica por qué Lisp se impone en el desarrollo web moderno

Lisp en Aplicaciones Web: Una Revolución en el Desarrollo de Software El texto de Paul Graham explora por qué Lisp se convirtió en una elección poderosa para desarrollar aplicaciones web, explicando las ventajas técnicas y prácticas que este lenguaje proporciona. Graham начинает с того, что explic

Guía completa compara cuatro dialectos principales de Lisp

Esta referencia lateral de hyperpolyglot.org ofrece una comparación exhaustiva entre cuatro dialectos principales del ecosistema Lisp: Common Lisp, Racket, Clojure y Emacs Lisp. Cada dialecto comparte la sintaxis característica de Lisp —notación prefijada con paréntesis—, pero difiere considerableme

Aprendí programación lógica con Prolog gracias a las batallas de Pokémon

Este artículo narra cómo el autor finalmente comprendió la programación lógica utilizando Prolog, después de años de intentarlo, gracias a un proyecto aparentemente sencillo: modelar las mecánicas de combate de los videojuegos Pokémon. La razón por la que este enfoque funciona tan bien es porque las

Nace Aperio, el lenguaje diseñado para trabajar con IA

Aperio es un lenguaje de programación experimental diseñado específicamente para la era de los LLMs (Large Language Models). La premisa central del lenguaje es que los lenguajes de programación tradicionales (desde Assembly hasta TypeScript) fueron optimizados para minimizar la fricción entre la cap

El misterio de a++ + ++a: por qué el mismo código C da resultados diferentes

El contenido explora el comportamiento indefinido (UB) en expresiones C/C++ que combinan operadores de incremento pre (++a) y post (a++). El caso central analizado es a = a++ + ++a. Se demuestra teóricamente cómo existen múltiples posibilidades de evaluación: el orden de captura de valores y cuándo

Cómo el cálculo lambda permite crear un lenguaje de programación desde cero

El cálculo lambda es un sistema formales mínima desarrollado por Alonzo Church en 1929 que constituye la base teórica de todos los lenguajes de programación funcionales modernos como Haskell, Scheme y ML, y también está presente en lenguajes imperativos como JavaScript, Python y Ruby. A pesar de su

Crean máquina de pila para ejecutar lógica computacional

Las máquinas abstractas para programas lógicos son un mecanismo conceptual que permite ejecutar definiciones relacionales como programas computacionales. En términos simples, una regla de inferencia como 'plus 0 N N' o 'plus (s N) M (s P)' define la relación de suma entre números, pero no esintrínse

Rlisp une sintaxis Lisp con el rendimiento sin runtime de Rust

Un desarrollador ha creado rlisp, un nuevo proyecto que combina la sintaxis de Lisp con la semántica y el rendimiento de Rust. La herramienta funciona como un frontal de expresiones S que compila directamente a código Rust, sin necesidad de runtime ni recolector de basura. El proyecto permite utiliz

...

Julia es un lenguaje de programación que combina la flexibilidad de los lenguajes interpretados como Python con el rendimiento de los lenguajes compilados como C++ o Fortran, gracias a su compilación Just-In-Time (JIT). El rumor de que Julia puede igualar el rendimiento de C++ es cierto, pero alcanz

Nueva serie rescata la historia olvidada de Visual Basic

EvilGeniusLabs.ca presenta un ambicioso proyecto historiográfico sobre Visual Basic, el lenguaje de programación que revolucionó el desarrollo de aplicaciones para Windows en los años 90. El autor, un desarrollador que escribió su primera aplicación en VB1 en 1991, explica que las historias existent

Let-Go combina Clojure y Go para crear binarios ultrarrápidos de 10MB

Let-Go es un nuevo lenguaje de programación que combina características de Clojure y Go, desarrollado como un compilador de bytecode y máquina virtual. El proyecto destaca por generar binarios standalone de aproximadamente 10MB, logrando un tiempo de arranque en frío de tan solo 7 milisegundos, lo q

APL: Un lenguaje de programación con sabor francés

Este artículo, originalmente una reflexión presentada en una conferencia, explora la peculiar recepción y el significado de APL (A Programming Language) dentro de la comunidad de programadores. El autor, un programador con experiencia en lenguajes como ALGOL, describe cómo quedó cautivado por APL al

Préstamos seguros: verificación innovadora sin tipos

Este artículo explora un enfoque innovador para la verificación de préstamos (borrow-checking) en un lenguaje de programación, sin la necesidad de verificación de tipos estática. La idea central es permitir la flexibilidad de la tipificación dinámica, pero con la seguridad de la verificación de prés

Ada: El lenguaje secreto que influyó en la programación

Ada es un lenguaje de programación con una historia peculiar y una influencia significativa en el desarrollo de lenguajes modernos, a pesar de su relativa oscuridad en la industria. Su origen se remonta a la década de 1970, cuando el Departamento de Defensa de los Estados Unidos (DoD) enfrentaba una

Lean: el lenguaje que verifica su propio código

Este artículo explora el concepto de un "lenguaje de programación perfectible", ejemplificado por Lean. La idea central es que un lenguaje perfectible no solo permite escribir código, sino también expresar propiedades sobre ese código dentro del propio lenguaje. Esto abre la puerta a la verificación

C++: Revelan detalles inéditos de su historia

La 'C++ History Collection' es un valioso repositorio de documentos, código fuente y otros materiales que narran la fascinante historia del lenguaje de programación C++. Creado y editado por Paul McJones, este recurso ofrece una visión profunda de la génesis, desarrollo, estandarización y evolución

Python en declive: ¿la IA lo reemplaza?

Un reciente artículo argumenta que Python, como lenguaje de programación, está perdiendo relevancia debido a la creciente adopción de la inteligencia artificial y agentes de programación. El autor, Caleb Fenton, relata su experiencia desarrollando una herramienta de análisis de malware en Rust, un l

Revistas de antaño: un vistazo al futuro tecnológico

Este artículo es un nostálgico recorrido por revistas especializadas de los años 70 y 80 que reflejaban un optimismo tecnológico y una visión del futuro. En una época donde la posesión de un ordenador personal era una rareza, estas publicaciones eran una fuente vital de información, proyectos y apre

Compiladores: ¿Más simples de lo que creemos?

El artículo de Golden explora una perspectiva inusual sobre la complejidad de los compiladores de lenguajes de programación. Tradicionalmente, se asume que los compiladores modernos son enormes, con millones de líneas de código que abarcan desde la interfaz de usuario (frontend) hasta la gestión de

Fallece Tony Hoare, pionero de la informática

El reconocido informático británico Tony Hoare falleció el jueves 5 de marzo, según confirmó Jonathan Bowen. Hoare, de gran influencia en el campo de la computación, es conocido por sus contribuciones fundamentales a la programación estructurada y la teoría de concurrencia. Su obra 'Structured Progr

Rust: visión a futuro para más seguridad y expresividad

El artículo de Yoshua Wuyts describe su visión a largo plazo para Rust, centrándose en tres áreas clave de desarrollo que buscan mejorar significativamente la seguridad y la expresividad del lenguaje. Rust ya es conocido por su sistema de borrow checker, que garantiza la seguridad de la memoria en t

Purple Garden: 'match' simplifica la lógica del código

Este artículo del blog de xnacly.me explora la implementación de sentencias `match` (similares a `switch` en otros lenguajes) en un nuevo lenguaje de programación llamado Purple Garden. El objetivo es proporcionar una alternativa a las largas cadenas `if-if-else`, mejorando la legibilidad y la estru

Funciones: abstracciones para simplificar la programación

Este artículo explora la naturaleza de las funciones en programación y cómo los lenguajes modernos manejan la ejecución del código, particularmente en lo que respecta al despacho dinámico y el manejo de errores. Comienza desafiando la noción de que las funciones son entidades reales, argumentando qu

Compiladores: Nueva técnica agiliza el proceso

Los compiladores basados en consultas (Query-Based Compilers o QBC) se han vuelto populares debido a su capacidad para implementar compilación incremental, un aspecto crucial para la experiencia de desarrollo en entornos de IDE modernos donde la respuesta rápida a las ediciones del código es esencia

Objective-C: El lenguaje que regresó

Objective-C, un lenguaje de programación a menudo pasado por alto en la era de Swift, Rust y Go, ha experimentado un resurgimiento inesperado en la opinión de algunos desarrolladores, incluyendo al autor de este artículo. Si bien el autor previamente lideró la eliminación de grandes cantidades de có

Dentro de los lenguajes 'Lil' Fun Langs: cómo funcionan

Este artículo explora la arquitectura interna de los lenguajes de programación, específicamente aquellos con características inspiradas en Haskell, a los que se refiere como "Lil' Fun Langs". El objetivo es desmitificar cómo funcionan estos lenguajes, más allá de su sintaxis superficial. La explicac

Rust: Una herramienta, no una solución mágica

Rust: Una herramienta útil pero no mágica El lenguaje de programación Rust, celebrado durante una década como el más admirado según las encuestas de Stack Overflow, no es la solución mágica que algunos defienden. Así lo aseguran dos voces del sector tecnológico que, desde perspectivas distintas, ad

Volver a 1993: ¿Un error la informática moderna?

El artículo, presentado con un tono humorístico pero con una base de reflexión seria, propone una idea radical: que la evolución de la computación debería haberse detenido en 1993. El autor, con una perspectiva retrospectiva y basada en su conocimiento de la historia de la informática, argumenta que

Mini-lenguajes: programación en código reducido

Este artículo de Taylor Troesh explora el fascinante mundo de los "Lil' Fun Langs", o lenguajes de programación muy pequeños. La idea central es que es posible crear lenguajes de programación funcionales y con tipado estático con una cantidad sorprendentemente baja de código. El artículo no solo pre

Rust: Un Adiós y Reflexiones de un Desarrollador

Este artículo, escrito por Dmitry Kudryavtsev, narra su viaje desde los inicios de la programación con Pascal y C, pasando por la frustración de no poder aplicar sus conocimientos de bajo nivel en el desarrollo web con C/C++, hasta su incursión y posterior abandono de Rust. La historia es una reflex

ACK: El Kit de Compilación Retro que Vuelve

El Amsterdam Compiler Kit (ACK) es una herramienta de compilación completa, un conjunto de herramientas (toolchain) diseñado originalmente en la Vrije Universiteit de Ámsterdam en la década de 1980 y revitalizado por David Given. Su objetivo principal es permitir la compilación de código fuente en e