Mostrando entradas con la etiqueta Lenguaje C. Mostrar todas las entradas
Mostrando entradas con la etiqueta Lenguaje C. Mostrar todas las entradas

jueves, 1 de mayo de 2014

Lenguaje de programación Processing



Processing es un lenguaje de programación y entorno de desarrollo integrado de código abierto basado en Java, de fácil utilización, y que sirve como medio para la enseñanza y producción de proyectos multimedia e interactivos de diseño digital. Fue creado en el 2001 por Ben Fry y Casey Reas a partir de reflexiones en el Aesthetics and Computation Group del MIT Media Lab dirigido por John Maeda, la versión 2.2.1 fue liberada en mayo de 2014.

Lo que el entorno de programación de Arduino (IDE) es al microcontrolador, lo es el entorno de programación de Processing (PDE) al ordenador. El PDE y el IDE son casi idénticos. Aprender uno es básicamente aprender el otro.



Si ponemos uno frente a otro y los comparamos veremos que son casi idénticos, esta similitud no es accidental, dado que el entorno de programación de Arduino (que no el lenguaje) es un subconjunto del lenguaje Processing.  

Y es por este hecho, por lo que se suele decir erróneamente que el lenguaje de Arduino es un versión de Processing. Esto no es así, Processing está basado en Java, mientras que Arduino está basado en C y en C++ (principalmente todas las librerías están programadas en C++).


Programación C para Arduino


Como vimos en la entrada anterior el lenguaje C tiene unas características que hacen de él, el lenguaje de programación más usado hasta la fecha:

  • Ser reducido y fácil de aprender
  • Ser independiente del procesador dado que existen compiladores para cada tipo de procesador existente.
  • Ser un lenguaje de bajo nivel (esto es que puede gestionar los mismos tipos de objetos que un ordenador), permitiendo interactuar con el hardware muy fácilmente.


Pero esta simpleza a veces generan una serie de incomodidades, por ejemplo no ser un lenguaje de programación orientados a objetos.

Esto consiste básicamente en algo parecido a construir una clase concreta de moldes para bizcochos. Te puede llevar algún tiempo, y pueden ser de muchas formas, pero una vez que tienes uno, ya sabes qué características tiene.  Pues bien, el molde es lo que se llama en programación una clase y cada bizcocho es lo que se llama una instancia. Y si usas este tipo de metodología en programación es lo que se suele llamar programación orientada a objetos.


Así mismo podemos decir que el lenguaje C de Arduino es un lenguaje estructurado que ejecuta las instrucciones en orden de arriba abajo donde acaba. Esto simplifica mucho la depuración (debugging en inglés) del código.

Es por ello por lo que se dice que  el lenguaje de Arduino es un subconjunto del lenguaje C con características propias del C++, cuyas reglas y estructuras iremos  presentando poco a poco a lo largo de las siguientes entradas. 

Lenguaje C




Entre 1969 y 1973,  Dennis Ritchie que trabajaba en los laboratorios Bell, y que le gustaba jugar a un juego llamado Space Travel (desarrollado por su colega Ken Thompson) en el ordenador central de la compañía, se dio cuenta de que el sistema operativo de la máquina no tenía potencia suficiente para gestionar la red de usuarios y el juego de forma apropiada. Así que localizó un ordenador sin uso y como vio que no tenía sistema operativo, decidió diseñarle el suyo propio, más tarde conocido como UNIX. Eran los inicios de la Era de la Informática.

Simultáneamente y para poder operar con él, diseño un lenguaje simple al que llamó el lenguaje C. Su nombre proviene del hecho de que es la evolución de otro lenguaje de programación anterior llamado B. Como se diseñó con el objetivo de que todo elemento del lenguaje se pudiera traducir solo con unas pocas instrucciones, se convirtió en un lenguaje de programación tan potente que incluso el propio UNIX se llegó a reescribir en 1972 usando C.

Es un lenguaje simple y multipropósito, que ha influenciado en otros lenguajes de programación como el C++, Java, etc.

Esta simpleza y su capacidad de acceder directamente a la memoria física, a las interrupciones del procesador, etc. lo que hace al  lenguaje C muy apropiado para procesadores de cualquier tamaño de 8 a 64 bits, al igual que para sistemas con memoria de pocos bytes hasta de Teras.

Sus ventajas inmediatas son:
  • Ser reducido y fácil de aprender
  • Ser independiente del procesador dado que existen compiladores para cada tipo de procesador existente.
  • Ser un lenguaje de bajo nivel (esto es que puede gestionar los mismos tipos de objetos que un ordenador), permitiendo interactuar con el hardware muy fácilmente.