jueves, 22 de septiembre de 2016

El robot con el que los niños aprenden a programar antes que a escribir

A pesar de lo que hemos visto o leído en las obras de ciencia ficción, los robots no tienen porqué ser engendros malvados. Y no porque haya ejemplos como el repipi C3PO o el adorable Wall-E para defender la honorabilidad de las máquinas, si no porque la bondad o la maldad son categorías morales que exceden por mucho -al menos ahora y tal vez para siempre- la capacidad de los algoritmos y el lenguaje binario.

Los robots, en fin, no pueden ser buenos o malos. Son, en todo caso, como sus creadores quieren que sean. Por si acaso, para curarse en salud, Isaac Asimov ya planteó en su relato "Runaround” en fecha tan temprana como 1942 sus famosas tres leyes de la robótica ("Un robot no hará daño a un ser humano…” etcétera).

Podríamos decir entonces que si un robot está pensado para hacer cosas buenas, su creador también debe ser buena persona. Si aceptamos la ingenuidad y simpleza de este silogismo que roza el ridículo, tendríamos entonces que afirmar que Julián Da Silva es un gran tipo. Da Silva forma parte del equipo que ha diseñado Root, un pequeño robot pensado para que los niños aprendan a programar en los colegios. La idea, un proyecto impulsado por el Wyss Institute, centro perteneciente a la universidad de Harvard, está actualmente en fase de pruebas, pero dentro de pocos meses comenzará a comercializarse y llegará a las aulas de Estados Unidos por un precio realmente asequible (menos de 200 euros).

Parece evidente que el mundo al que tendrán que enfrentarse dentro de algunos años quienes ahora son niños estará plagado de máquinas. Robots que interactuarán entre ellos y se ocuparán de múltiples y complejas tareas. Por eso es muy importante familiarizarse con el lenguaje de las computadoras. Ya no será suficiente con saber manejarlas, tendremos que aprender a comunicarnos con ellas.

La decisión de aprender código no debería estar marcada entonces únicamente por una simple cuestión pecuniaria (aunque las oportunidades laborales, efectivamente, serán mayores) sino por la necesidad de adaptarse a un mundo cambiante.

Desde siempre, el principal escollo que se ha interpuesto entre los lenguajes de programación y los niños ha sido su aridez. Un bloque de texto plagado de números, letras y símbolos no parece lo más atractivo para atraer la atención de los más pequeños. Introducir un robot en la ecuación con el que los niños pueden jugar y al que es posible enviar órdenes a través de una aplicación móvil puede hacer el aprendizaje más rápido y divertido. Root, diseñado por Raphael Cherney, puede moverse por una pizarra, dibujar y reconocer distintos colores, e incorpora, entre otros, sensores de luz y moviento.

El hexágono robótico es programado y controlado desde una tableta u ordenador a través de Square, una aplicación diseñada por Da Silva que permite enviar órdenes a Root en tiempo real. Square muestra tres niveles de dificultad para que los niños puedan aprender desde los rudimientos de la programación hasta secuencias más complejas de código.

Su sistema es tan intuitivo y amigable que incluso niños que todavía no han aprendido a leer son capaces de utilizarlo. Da Silva asegura que en las pruebas que han realizado con los pequeños, estos reaccionan ante Root "como si fuera un amigo” y, aunque su entusiasmo al hablar del proyecto lo hace evidente, refuerza que en Wyss "disfrutamos haciendo robots para chicos”. Lo dicho, un buen tipo.

miércoles, 27 de julio de 2016

Sublenguajes especializados

Muchas veces querremos acceder a la base de datos desde una aplicación hecha en un lenguaje de programación cualquiera. Para utilizar el SQL desde un lenguaje de programación, podemos utilizar el SQL hospedado, y para trabajar con éste necesitamos un precompilador que separe las sentencias del lenguaje de programación de las del lenguaje de bases de datos. Una alternativa muy interesante a esta forma de trabajar son las rutinas SQL/CLI.

El objetivo de este apartado no es explicar con detalle ni el SQL hospedado ni, aún menos, las rutinas SQL/CLI. Sólo introduciremos las ideas básicas del funcionamiento de ambos.

martes, 26 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - La opción RESTRICT

La opción RESTRICT no nos permite desautorizar a un usuario si éste ha autorizado a otros.

lunes, 25 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - Desautorizaciones - Si un usuario

Si un usuario al que hemos autorizado ha autorizado a su vez a otros, que al mismo tiempo pueden haber hecho más autorizaciones, la opción CASCADE hace que queden desautorizados todos a la vez.

domingo, 24 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - Desautorizaciones - La opción GRANT OPTION FOR

La opción GRANT OPTION FOR se utilizaría en el caso de que quisiéramos eliminar el derecho a autorizar (WITH GRANT OPTION).

sábado, 23 de julio de 2016

viernes, 22 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - Desautorizaciones

Para desautorizar, el SQL dispone de la siguiente sentencia:

REVOKE [GRANT OPTION FOR] privilegios ON objeto FROM
usuarios [RESTRICT|CASCADE];