Enseñando Informática

Un blog de Domingo Gallardo

Archive for the ‘Programación’ Category

No siempre es bueno añadir botones

without comments

Muy buena la reflexión de los desarrolladores de Tweetie en su entrada del blog “RT vs Via round 2“:

My problem is that I HATE adding UI clutter. Adding another button for what seems like a petty detail (to non-twitter-geeks) is the wrong thing to do.

No siempre más es mejor.

Written by domingo

September 30th, 2009 at 12:36 pm

Posted in Programación

Creando un sistema informático

without comments

En el libro Beautiful Architecture, Michael Nygard describe el proceso de creación de un sistema informático como una lucha entre dos fuerzas contrarias: las posibilidades y las restricciones. Una descripción muy literaria que merece la pena leer despacio:

Two dynamics drive a system’s architecture: What must it do? What boundaries must it work with? These define the problem space. We crate, and simultaneously explore, the solution space by resolving these forces, navigating the positive pole of required behavior and the negative one of limitations. Sometimes we can create elegance, and even beauty, when the answers to individual constraints mesh together into a coherent whole.

Written by domingo

July 23rd, 2009 at 9:58 am

Posted in Programación

Processing

without comments

processing Processing es un lenguaje de programación relativamente nuevo, que se está extendiendo a gran velocidad entre artistas (link, link, link), arquitectos y aficionados.

Está basado en Java y su gracia reside en lo fácil que es desarrollar programas gráficos interactivos. No hay que incluir ninguna librería en el código fuente, ni usar Swing, ni definir clases que atrapen los eventos. Tan sólo hay que llamar a funciones gráficas como rect, line o ellipse para hacer dibujos. Y a funciones como draw() o mousePressed() para definir qué hay que dibujar en la pantalla o qué hacer cuando se pincha el ratón.

Un ejemplo de código (sacado del libro Learning Processing) para hacer un programa que captura el movimiento del ratón y dibuja continuamente en pantalla:

dibujo-processing


void setup() {
size(200, 200);
background(255);
smooth();
}

void draw() {
stroke(0);
// Draw a line from previous mouse location to current mouse location.
line(pmouseX, pmouseY, mouseX, mouseY);
}

Hay bastantes libros y tutoriales para empezar a programar en Processing. Hay alguno en la biblioteca de la EPS, pero pediré alguno más. Avisaré cuando lleguen.

Written by domingo

June 8th, 2009 at 3:50 pm

Posted in Programación

Buenos libros esperando lectores

with one comment

Ahora que se acerca el fin de año y en la biblioteca ya no nos dejan pedir más bibliografía recomendada, es un buen momento para hacer balance. Como todos los años me he pasado un poco de presupuesto (aprovechando que otros se quedan cortos), y he conseguido hacer encajar los libros que considero interesantes en mis asignaturas. No ha sido difícil, porque lo que no caía en LPP ni en Computación Geométrica lo he puesto en Sistemas Informáticos (buen cajón de sastre, donde cabe casi todo).

 

Todos los libros están disponibles en la Biblioteca Politécnica (de algunos hay más de una copia). El listado completo es el siguiente, con enlaces al catálogo.

Informática y lenguajes programación

Programación

Interfaces de usuario y diseño

Geometría computacional

A disfrutarlos. Están esperando que alguien los lea.

Written by domingo

November 28th, 2008 at 7:11 pm

Posted in Programación

Desarrolladores al poder

without comments

En otros países tecnológicamente más avanzados que el nuestro los desarrolladores son el elemento central de la innovación y de la producción de aplicaciones y tecnologías informáticas. En un reciente post en el que explicaba los malos resultados económicos publicados por su empresa, Jonathan Schwartz, CEO de Sun Microsystem, decía lo siguiente:

 We are going to be making some changes as a result of the quarter, certainly, but not in our core vision or strategic direction – network infrastructure is being built out across the world, developers will continue to define its architecture and shape demand, and we will continue to position ourselves to drive and capture that market.

El énfasis es mio. ¡El CEO de Sun está diciendo que somos los desarrolladores los que definimos la arquitectura de los sistemas informáticos y los que terminamos decidiendo comprar máquinas Sun! Innimaginable en España. Contádselo a vuestros amigos de teleco para fardar.

Aprendamos, pongámonos al nivel de estos países y (una vez hecho eso) valorémonos los informáticos como nos merecemos.

Written by domingo

June 3rd, 2008 at 2:06 pm

Posted in Programación

Sketchpad

with 4 comments

Ivan Sutherland y Sketchpad Ahora que Apple va a popularizar otra forma revolucionaria de interactuar con los computadores con su multi-touch iphone, no está de más hacer una visita a la historia de la informática. ¿De dónde vienen los actuales interfaces de usuario?

Hubo un tiempo en el que los computadores no tenían ratón, ni existían interfaces gráficas con ventanas, paneles, botones, menús desplegables y cosas por el estilo. En la historia de las interfaces de usuario siempre se referencia al programa Sketchpad desarrollado por Ivan Sutherland como el primer paso en el desarrollo de todas estas ideas. Después vinieron Englegart con el ratón y el Smalltalk desarrollado en Xerox Park, que ya comentaremos en otro momento.

Read the rest of this entry »

Written by domingo

July 9th, 2007 at 9:09 am

Scheme

with 4 comments

Dice Yukihiro Matsumoto que uno de los principios en los que se basó para crear el lenguaje de programación Ruby era el principio de la mínima sorpresa. Un lenguaje de programación debe sorprender lo mínimo posible a los programadores que lo utilicen.

Evidentemente, Matsumoto se refiere a los programadores aventajados del lenguaje. Un lenguaje que está aprendiéndose siempre sorprende, y esas sorpresas sirven para que compruebes que no tenías claro algún aspecto de su funcionamiento o de su semántica. Como ejemplo de un lenguaje que no cumple el principio de la mínima sorpresa, Matsumoto cita al C++, en un ingenioso y agudo comentario:

I was a C++ programmer before I started designing Ruby. I programmed in C++ exclusively for two or three years. And after two years of C++ programming, it still surprises me.

Todo esto viene al hilo del lenguaje que quería presentar en este comentario. No es Ruby (lo dejamos para otro día), sino Scheme. En lo que se refiere al principio de mínima sorpresa, apostaría a que Scheme gana a cualquier otro. Incluso ganaría el concurso al lenguaje más aburrido si no fuera por la recursión, por lambda y por su historia.

Read the rest of this entry »

Written by domingo

June 8th, 2007 at 6:15 pm

Posted in Programación

Cerrar
Enviar por Correo