C desde el Metal
Ya sabés programar. C no te enseña eso — te saca la red de seguridad y te entrega la máquina. Esta rama trata las partes de C que sorprenden a un ingeniero con experiencia viniendo de un lenguaje administrado: un sistema de tipos que chequea apenas algo, undefined behavior (comportamiento indefinido) que el compilador explota, un preprocessor textual, arrays que se convierten silenciosamente en punteros, y una biblioteca estándar que asume que sabés lo que estás haciendo.
C es una abstracción fina y con fugas sobre el hardware. Ese es su poder y su peligro: casi no hay nada entre tu fuente y las instrucciones, así que cada garantía en la que te apoyabas ahora es tu trabajo.
Notas planificadas
- Por qué C todavía importa — una capa fina sobre la máquina
- El sistema de tipos de C es débil (y lo que te cuesta)
- Undefined behavior: el contrato que no sabías que firmaste
- Más UB: signed overflow, aliasing y sequencing
- El preprocessor: macros, includes y compilación condicional
- Translation units, declaraciones vs definiciones y linkage
- Arrays y array-to-pointer decay
- Structs, unions y bitfields
- Los strings son solo
char*(y las consecuencias) - Integer promotions y conversiones implícitas
- La biblioteca estándar mínima (esenciales de libc)
- Build y ejecución de un programa C desde cero (gcc/clang)
- Leer el estándar C y cppreference
Fuentes centrales
- Jens Gustedt — Modern C (PDF gratis) — la columna; enseña C como debería escribirse hoy. gustedt.gitlabpages.inria.fr/modern-c
- Kernighan & Ritchie — The C Programming Language (K&R) — el original canónico y terso.
- Robert Seacord — Effective C — C moderno con foco en seguridad.
- Peter van der Linden — Expert C Programming: Deep C Secrets — una mina de quirks y UB.
- Beej's Guide to C — amigable y gratis. beej.us/guide/bgc · cppreference (C) — la referencia. en.cppreference.com/w/c
Conecta con: Modelo de Máquina · Punteros y Memoria · Assembly y Salida del Compilador