Lo absurdo y lo esencial: curiosidades del lenguaje C en ejemplos prácticos

El cuarto artículo de una serie sobre fundamentos del lenguaje C explora, con tono irónico y ejemplos prácticos, aspectos clave como declaraciones anticipadas de funciones, precedencia de operadores, sentencias 'goto' y operaciones aritméticas con tipos personalizados. A través de fragmentos de códi

Invariantes semánticos para explicar las vulnerabilidades de memoria en C

Un invariante semántico es una propiedad que debe mantenerse durante la ejecución de un programa para que sus datos y operaciones conserven el significado previsto. En C, estas relaciones suelen existir únicamente como obligaciones informales del programador, porque los tipos estándar no representan

El PDP-11, la máquina que definió la informática moderna

En 1970, Digital Equipment Corporation lanzó el PDP-11, un ordenador de 16 bits con un juego de instrucciones ortogonal que simplificó la programación y estableció el patrón que aún hoy siguen arquitecturas como Intel x86 y Motorola 68000. Su diseño, capaz de escalar desde un controlador embebido de

Las trampas de analizar declaraciones con inferencia de tipos en C

En C moderno, la palabra clave auto permite declarar variables con tipo inferido, pero su análisis sintáctico encierra ambigüedades que enfrentan a GCC y Clang en sentidos opuestos. Cuando en un ámbito interno existe un typedef con el mismo nombre que el identificador de la declaración, ambos compil

Curiosidades del C pre-ANSI: lo que K&R no enseñaba en clase

Una investigación个人 sobre las peculiaridades del C de K&R (pre-ANSI) revela diferencias notables con el lenguaje estandarizado que se enseña hoy. El autor, tras leer la primera edición de "The C Programming Language", el documento de razonamiento de C89 y el código del compilador de Unix 7ª edición,

El kernel de Linux elimina strncpy tras seis años de refactorización

El núcleo de Linux ha completado la retirada de la función strncpy, una labor que ha requerido seis años y más de 360 parches. strncpy, heredada de la biblioteca de cadenas de C (lenguaje creado en 1972), se diseñó como corrección de strcpy para evitar desbordamientos de búfer, pero presenta dos pro

Fragmento del codificador Huffman de miniz: compresion DEFLATE en C

El archivo forma parte del modulo compresor (tdefl) de la libreria miniz, una reimplementacion en un solo archivo de zlib escrita en C por Rich Geldreich. El fragmento muestra la construccion de tablas de codigos Huffman canonicos, una pieza central del algoritmo DEFLATE empleado en formatos como ZI

El PDP-11: el minicomputador que sentó las bases de la informática moderna

El PDP-11, presentado en 1970 por Digital Equipment Corporation, fue el minicomputador más influyente y exitoso de su época, y resulta clave para entender la evolución de la arquitectura informática. Este artículo explica en qué consistía, cómo funcionaba y por qué sigue siendo relevante. Lanzado en

Unix en la Alemania del Este: crónica de una adopción pionera

Este texto relata la historia de cómo un grupo de informáticos de la República Democrática Alemana logró移植 (移植) Unix a los mainframes IBM 360/370 del país, en un contexto de aislamiento tecnológico y restricciones políticas. La aventura comienza en 1982 en el Departamento de Ciencias de la Computaci