El cómputo moderno está lleno de dispositivos que hacen tareas muy particulares a partir de computadoras de uso específico, embebidas en ellos. En la electrónica digital moderna hay una serie de microcontroladores, que estrictamente son computadoras en un chip (tienen puertos de entrada y salida, unidad lógico/aritmética, etc.), entre los que destacan en estos últimos tiempos los llamados Arduinos, que de acuerdo a la Wikipedia, es una plataforma de hardware libre, basada en un microcontrolador y un entorno de desarrollo, diseñado para facilitar el uso de la electrónica en proyectos multidisciplinarios. El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo costo que permiten el desarrollo de diseños múltiples.
Arduino se puede utilizar para desarrollar objetos interactivos autónomos o puede ser conectado a software del ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente. Al ser un proyecto de hardware abierto, tanto su diseño como su distribución es libre. Es decir, puede utilizarse libremente para el desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia.
Pues bien, alguien ha desarrollado un lenguaje colorido realmente, fácil de usar, de código abierto, para programar Arduinos a partir de bloques. Se trata de Minibloq, que es un lenguaje rápido y compacto y es una manera novedosa por decir lo menos, de programar estos procesadores de forma productivo, incluso aunque parezca diseñado para niños.
El lenguaje de programación Minibloq es un lenguaje de los llamados visuales, al mejor estilo de los lenguajes Scratch, Lego MindStorm y el Android App Creator. Sin embargo, se enfoca al Arduino y a otros dispositivos “físicos”, como los robots. La idea clave es que sea fácil de usar. Este tipo de lenguajes visuales es ideal para niños y una manera muy interesante para aprender a programar. Un punto que es fácil olvidar es que al ser tan fácil de usar por niños pequeños es una buena manera de que los adultos programen de forma más productiva. En otras palabras, no hay que tener prejuicios porque hablamos de un lenguaje que se ve lleno de bloques de colores y que parece diseñado para niños de kínder.
Minibloq llega a su versión v 0.8 y se puede descargar gratuitamente. Requiere de Windows XP, Vista o Windows 7 para instalarse y puede ser usado para programar cualquier placa Arduino si es que ésta tiene el manejador estándar (cosa que se tiene comúnmente). Si se desea usar para Linux, hay que usarlo bajo el emulador Wine; en OSX se requiere de Wineskin.
Una vez instalado, se puede programar colocando bloques en una pantalla. La característica novedosa es que hay una simulación del hardware mientras que el código correspondiente al lenguaje visual puede verse en otra ventana. Se pueden crear bloques propios. De acuerdo a la documentación hacer la interfaz física con el hardware es siempre posible.
Para darse una burda idea de lo que puede hacerse, obsérvese el siguiente video:
El sistema se escribió en C++ (gcc) usando wxWidgets.