Читать книгу Aprender Arduino, electrónica y programación con 100 ejercicios prácticos - Rubén Beiroa Mosquera - Страница 18
009 Lenguaje de programación
ОглавлениеIMPORTANTE
El lenguaje máquina nos obliga a conocer la estructura y funcionamiento interno de un MCU , lo cual suele ser complejo, pero nos permite optimizar nuestro programa.
Por su importancia, a lo largo del libro haremos algunos casos con este tipo de lenguaje, para disponer de una báse sólida en cuanto a programación de MCU.
Con nuestro Arduino conectado a nuestro ordenador y el IDE instalado, solo nos falta empezar a programar. En cuanto al lenguaje de programación (idioma artificial diseñado para expresar instrucciones que pueden ser llevadas a cabo por una máquina), podemos diferenciar varios niveles. El lenguaje a más bajo nivel sería el lenguaje máquina: es el lenguaje capaz de almacenar e interpretar una máquina, en nuestro caso, un MCU.
En los inicios de los MCU, estos se programaban en lenguaje máquina (a día de hoy también se hace). El lenguaje máquina consiste en instrucciones a nivel binario, lo que nos obliga a encadenar una cierta cantidad de ellas para poder realizar tareas sencillas. Además, cada máquina puede tener su propio lenguaje.
Con este lenguaje de programación surgen ciertos inconvenientes: primeramente, un mismo programador debe aprender un lenguaje diferente para cada máquina. Por lo general, no son lenguajes intuitivos (lo que los hace difíciles de recordar) y programas sencillos pueden llegar a alcanzar un gran tamaño.
Un programa desarrollado en lenguaje máquina se convierte en difícil de interpretar y modificar. Viendo todo esto, se empezó a evolucionar en la programación hasta llegar a lo que conocemos a día de hoy como lenguaje a alto nivel o lenguaje estructurado.
Existen varios lenguajes a alto nivel: C, Python, C++, Java… El lenguaje a alto nivel está formado por instrucciones más complejas que el lenguaje máquina, lo que significa que una instrucción en este lenguaje puede equivaler a varias en lenguaje máquina.
Con esto conseguimos programas más cortos, más fáciles de interpretar y modificar. El lenguaje a alto nivel que emplea el IDE de Arduino se basa en el lenguaje C, aunque es cierto que la mayoría de los lenguajes comparten estructuras o funciones similares, como pueden ser los bloques de control de flujo (if, esle, while). Aparte del lenguaje compartido con C, dispone de instrucciones propias para un Arduino.
Independientemente de si programamos en lenguaje estructurado o máquina, la carga de un programa al MCU del Arduino conlleva una serie de pasos que se conoce como compilación. La compilación se puede considerar como una traducción del programa que hemos desarrollado a un lenguaje que pueda almacenar e interpretar el MCU.
El proceso de compilación es complejo, puesto intervienen varios pasos:
•Precompilador
•Compilador
•Linker
•Carga de programa
Por la complejidad de cada uno de estos procesos no entraremos a estudiarlos, pero debemos recalcar que hoy en día podemos programar una máquina en lenguaje estructurado porque los entornos de programación han evolucionado, introduciendo una serie de procesos para la traducción y carga de un programa.