
Write Great Code, Volume 1, 2nd Edition
Randall Hyde
- Editorial
- No Starch Press
- Año
- 2020
- Páginas
- ~472
- Nivel
- Básico
De qué trata
Segunda edición minuciosamente revisada de la obra de referencia de Randall Hyde, diseñada para enseñar a los desarrolladores de alto nivel cómo piensa y opera realmente el hardware de la computadora. El libro está dirigido a programadores y estudiantes de informática de nivel básico e intermedio que ya programan en lenguajes modernos como C, C++, Java, C#, Swift o Python, y buscan perfeccionar la calidad y el rendimiento de su código entendiendo a bajo nivel cómo se traducen sus instrucciones en la máquina, sin necesidad de aprender a programar en ensamblador.
El autor profundiza exhaustivamente en la representación interna de datos: enteros con y sin signo, complemento a dos, números en punto flotante según la norma IEEE 754, operaciones aritméticas binarias y manipulación de bits; codificación de texto y manipulación eficiente de cadenas mediante ASCII y Unicode/UTF-8; organización física de la memoria, alineación de bytes y cálculo de direcciones para tipos compuestos como matrices, estructuras y punteros; fundamentos de lógica booleana y diseño digital; arquitectura de la CPU, segmentación de instrucciones (pipelining) y familias de conjuntos de instrucciones (ISA), integrando el funcionamiento de microprocesadores x86-64 y arquitecturas ARM contemporáneas; jerarquía de memorias, explotación efectiva de las cachés L1/L2/L3, latencias de la RAM y características de almacenamiento en unidades de estado sólido (SSD); junto con los mecanismos de comunicación de entrada/salida (I/O).
El enfoque de la obra es teórico y analítico, complementado con abundantes diagramas de disposición en memoria y ejemplos comparativos en diversos lenguajes que evidencian el coste en ciclos de reloj y consumo de memoria de cada decisión arquitectónica, prescindiendo deliberadamente de ejercicios de autoevaluación o proyectos cerrados. Su valor radica en dotar al desarrollador de un modelo mental riguroso para optimizar la localidad espacial y temporal de sus aplicaciones y evitar ineficiencias estructurales; como contrapartida, se centra en la máquina y en la representación de datos, delegando los aspectos de traducción de instrucciones y compilación en el segundo volumen de la serie.
- Arquitectura de computadoras
- Organización de memoria
- Procesadores x86-64 y ARM
- Representación numérica
- Punto flotante IEEE 754
- Aritmética binaria
- Alineación de memoria
- Jerarquía de caché
- Tipos de datos compuestos
- Optimización de software
¿Cómo enseña?
Teórico
- ✗ Sin ejercicios
- ✗ Sin proyectos

