Lección 0: ¿Por qué un lenguaje compilado y de bajo nivel?
Casi todos los lenguajes populares de hoy (Python, JavaScript, Java) gestionan la memoria por ti de forma automática y ejecutan tu código a través de una capa intermedia. Eso es cómodo... hasta que llegas a dos casos donde esa comodidad simplemente no está disponible. El primero: un programa que deb
La mayoría de los lenguajes te dan un auto automático que conduce solo y se encarga de todo lo que pasa bajo el capó. C te da un volante, pedales y un tablero con el motor a la vista: más trabajo, pero ves exactamente qué está pasando, y puedes conducir donde un automático simplemente no entra.
- lenguaje compilado
- Un lenguaje cuyo código fuente se traduce por adelantado (compilación) a lenguaje de máquina, sin ninguna capa intermedia que corra junto con el programa verificando cada operación.
- lenguaje de bajo nivel
- Un lenguaje cercano a la estructura real de la memoria y el procesador, por lo que expone al programador detalles que un lenguaje de alto nivel oculta automáticamente.
- gestión manual de memoria
- Un modelo en el que el programador solicita y libera la memoria por su cuenta, sin ningún proceso en segundo plano (un recolector de basura o garbage collector) que lo haga automáticamente.
- sistema embebido
- Una computadora diminuta dentro de un dispositivo (un sensor, un reloj inteligente, un controlador de motor) con memoria limitada a apenas unos pocos kilobytes.