Por qué los argumentos de función no son colores de función

Este ensayo técnico distingue entre dos tipos de cambios que puede sufrir una función en una pila de llamadas. Un cambio "normal" —como añadir un parámetro— afecta solo al llamador directo y puede encapsularse mediante programación estructurada; en la práctica, la cadena de propagación suele rompers

Embassy Rust frente a FreeRTOS en un STM32F446: comparativa técnica

Un artículo técnico de la empresa Tweede golf enfrenta dos modelos de programación embebida en un microcontrolador STM32F446ZET6 a 180 MHz: Embassy (Rust asíncrono) y FreeRTOS (C con hilos preemptivos). Ambos ejecutan la misma aplicación, calibrada con ajustes estándar de compilador, RTOS y priorida

Solid Queue 1.6.0 añade ejecución de trabajos mediante fibras con Async

Solid Queue, el sistema de procesamiento en segundo plano del ecosistema Ruby on Rails, ha publicado la versión 1.6.0, cuya principal novedad es un nuevo modo de ejecución de trabajos basado en fibras en lugar del habitual pool de hilos. La contribución, desarrollada por el usuario crmne en el pull

Tokio ofrece progreso, no orden: cómo programar un millón de tareas

En servicios escritos en Rust con Tokio, los autores suelen asumir que las tareas lanzadas antes terminarán antes. Esta premisa se rompe cuando se generan ráfagas masivas de tareas cortas, como ocurre en flujos basados en eventos donde cada evento lanza hasta mil tareas para procesar tokens de usuar

Quién ejecuta tu Future en Rust: introducción práctica a async

Este primer capítulo de una serie sobre Rust asíncrono sirve de puente entre los manuales que detallan las entrañas de Future, poll y Pin, y las guías prácticas que conectan servicios reales con Tokio. La premisa central es directa: a diferencia de JavaScript, donde el event loop de Node ejecuta las

Futuros bloqueados: un problema oculto en Rust

El artículo "Never snooze a future" aborda un problema sutil pero crítico en la programación asíncrona en Rust: el "snoozing" de futures. En esencia, el snoozing ocurre cuando un futuro está listo para avanzar (es decir, tiene trabajo por hacer) pero no es "polled" (interrogado) por el executor (el

Llamadas de función en Rust: ¿realmente cuestan tanto?

Este artículo aborda una preocupación común en programación, especialmente en Rust: el costo de la indirección, es decir, la sobrecarga de las llamadas a funciones. La advertencia habitual es "cada llamada de función adicional añade sobrecarga, inlínala". Sin embargo, en el contexto del código asínc