Logo de Torre de Babel
Portada Libros Diseño web Artículos Glosario RSS
Buscar

Python: instalación en Windows

Como se apuntó en la entrada Python: El BASIC del nuevo milenio, el lenguaje Python está disponible para múltiples sistemas operativos, entre ellos Linux y Windows. En las últimas distribuciones de Linux y versiones de MacOS X Python ya está ahí, por lo que no es necesario instalar nada. En caso de que no sea así, basta con abrir el gestor de paquetes que corresponda y buscar python para encontrar rápidamente los paquetes a instalar. En el caso de Ubuntu, que es la distribución de Linux más conocida, Python está instalado por defecto y puede ser localizado en el Centro de software Ubuntu al que corresponde la imagen inferior.

Continuar leyendo ...


Publicado el 27/9/2010

Programación y paralelismo (CPU vs GPU)

Hace unos días, en la entrada titulada Programación y paralelismo (threads, GPGPU, MPI), situaba en términos generales el contexto actual al que deben enfrentarse los programadores para poder aprovechar lo mejor posible la potencia que ofrece el hardware del que disponen no ya solo las empresas, sino cualquier usuario de un ordenador o red de ordenadores doméstica. En esta segunda entrada pretendo, siendo algo más específico, centrarme precisamente en las dos alternativas de paralelismo presentes en prácticamente cualquier máquina que no tenga más de 4 ó 5 años, incluyendo a los portátiles de última generación.

Todos los ordenadores cuentan con una CPU o microprocesador (en ocasiones con varios) y, desde hace unos años, dichos circuitos integrados dejaron de competir en velocidad bruta, regida únicamente por la frecuencia de funcionamiento, para incrementar su potencia por otra vía: la integración de múltiples núcleos. Una configuración hardware con un único microprocesador de 4 núcleos resulta mucho más barata que otra que cuente con 4 microprocesadores (que también existen) de un único núcleo, ya que en la placa base es necesario un único zócalo y el número de interconexiones es también mucho menor, aparte de que fabricar un único chip es más barato que fabricar cuatro. La potencia de estos dos hipotéticos sistemas no es idéntica, pero sí muy similar.

Continuar leyendo ...


Publicado el 22/9/2010

Python: El BASIC del nuevo milenio

Con la excepción de aquellos que tuvieron la oportunidad de cursar estudios de informática o ciencias de la computación, la mayoría de los jóvenes que apredieron a programar en la década que va de 1975 a 1985 (entre los que me cuento) lo hicieron de mano de un microordenador y, en consecuencia, del archiconocido y denostado lenguaje BASIC (Beginner's All-purpose Symbolic Instruction Code). A pesar de sus carencias, los intérpretes que se usaban por entonces ni siquiera contemplaban el paradigma de programación estructurada, BASIC fue durante esos años, y algunos más, el lenguaje de programación más popular entre los que se iniciaban en el uso de un ordenador.

Cabría preguntarse qué provocó que BASIC adquiriese aquella difusión y se convirtiese en el primer contacto de millones de programadores con el campo de la programación, a pesar de que muchos de ellos, con el tiempo, hayan preferido olvidarlo e, incluso, negar aquella experiencia. En mi opinión hay una respuesta clara: BASIC era el lenguaje más accesible a todos, ya que estaba incluido en la ROM de gran parte de los microordenadores (incluso el IBM PC incluía inicialmente en ROM dicho intérprete conjuntamente con una versión más avanzada en disco) o bien se incluía como parte del sistema operativo que facilitaba el fabricante, como el MBASIC de CP/M o el GW-BASIC de MS-DOS.

Continuar leyendo ...


Publicado el 20/9/2010

Píldora histórica (14): 30 años de XENIX, el UNIX de Microsoft

A finales de la década de los 70, con el surgir de la denominada microinformática, tres empresas se posicionaron en el mercado de forma que se complementaban y no competían entre sí: Digital Research, VisiCorp y Microsoft. La primera vendía el sistema operativo CP/M, la segunda su hoja de cálculo VisiCalc (el primer software de hoja de cálculo) y la tercera sus intérpretes de lenguajes, sobre todo BASIC.

Entre Gary Kildall (dueño de Digital Research) y Bill Gates (dueño de Microsoft) había un acuerdo tácito, no escrito, por el que Bill enviaba a Gary clientes que necesitaban un sistema operativo para que DR les vendiese CP/M y, a cambio, Gary vendía con su sistema Microsoft Basic, el intérprete de BASIC de Microsoft. Es una historia que puede leerse detalladamente en el documento Gordon Eubanks Oral History (pdf), transcripción de una entrevista hecha a Gordon Eubanks, un alumno de Gary Kildall cuya tésis doctoral fue el desarrollo de BASIC-E (que posteriormente se llamaría CBASIC), un compilador de lenguaje BASIC para CP/M.

Continuar leyendo ...


Publicado el 19/9/2010

Microordenadores Amstrad (y II) - Historia y muchas fotografías

En la entrada previa se contaba cómo Amstrad entró en el mercado de la microinformática en 1984, con su modelo CPC 464, al que se uniría en la primavera de 1985 el CPC 664 y, para ajustarse a las leyes españolas, el CPC 472 y la versión española tanto del 464 como del 472.

Amstrad CPC 6128

El CPC 664 no llegó a adaptarse al mercado español ya que en el mismo verano de 1985 se lanzaba el CPC 6128 que, para muchos, sería el mejor ordenador fabricado nunca por Amstrad. Como su propio nombre indica, este ordenador contaba con 128KB de RAM en un momento en el que la mayoría de microordenadores no llegaban ni a los 64KB. No obstante desde BASIC esa memoria no era utilizable como tal, sino como un disco RAM en el que almacenar información temporalmente y a la que podía accederse mucho más rápidamente que al disco. Era la misma técnica empleada en otras máquinas, como los Sinclair Spectrum con 128KB.

Continuar leyendo ...


Publicado el 18/9/2010

Shaders en la práctica (VI) - Ejemplo de geometry shader

Los GS son programas algo más complejos que los VS y PS. A diferencia de éstos, no reciben como entrada un único vértice/fragmento ni tampoco tienen que limitarse a emitir un vértice/fragmento. Un GS se ejecuta una vez por cada primitiva a procesar: punto, línea o triángulo. El resultado de su ejecución es un número variable de primitivas de salida, entre 0 y un máximo que depende actualmente del hardware que se utilice.

Parámetros de entrada

Cuando se ejecuta un GS éste sabe que debe procesar una primitiva gráfica que, como ya se ha indicado, puede ser un punto, una línea o un triángulo. El tipo de primitiva lo conocerá consultando gl_VerticesIn, un entero que será 1, 2 ó 3, como sería de esperar.

Continuar leyendo ...


Publicado el 16/9/2010

Programación y paralelismo (threads, GPGPU, MPI)

Los ordenadores no tendrían utilidad alguna si no existiesen programadores que creasen software que les hiciese funcionar y ofrecer a los usuarios finales aquello que necesitan. Dicho software puede tomar distintas formas, desde el firmware que se incluye en ROM (o alguna variante PROM/EPROM/etc.) y se encarga de la puesta en marcha y ofrece los servicios más básicos hasta las aplicaciones de control de procesos o diseño asistido, pasando por los sistemas operativos y los propios compiladores e intérpretes de multitud de lenguajes.

En los primeros ordenadores el software se ejecutaba en forma de procesos por lotes: cada programador ponía su tarea en cola y esperaba a que llegase su turno para obtener la salida correspondiente. Cada tarea era intrínsecamente secuencial, en el sentido de que no ejecutaba más de una instrucción de manera simultánea. Posteriormente llegaron los sistemas de tiempo compartido capaces de atender interactivamente a varios usuarios y, en apariencia, ejecutar múltiples tareas en paralelo, si bien la realidad era que el sistema operativo se encargaba de que el procesador fuese saltando de una tarea a otra cada pocos ciclos, consiguiendo esa ilusión de paralelismo o multitarea.

Continuar leyendo ...


Publicado el 14/9/2010

Microordenadores Amstrad (I) - Historia y muchas fotografías

Si hay una empresa que, junto con Sinclair, tuvo especial predominancia en la microinformática de Europa en la década de los ochenta esa fue Amstrad (Alan Michael Sugar Trading), fundada en 1968 por el emprendedor Alan Sugar. Inicialmente dedicada a la fabricación de equipos de sonido de bajo coste (mi primer equipo de música fue de esta firma), el verdadero éxito de esta empresa fue su entrada en el mercado de los microordenadores a mediados de 1984.

La gama de producto más conocida de Amstrad fue la de los ordenadores CPC (Color Personal Computer) que, siguiendo la filosofía aplicada a sus equipos de sonido, trataban de integrar todo lo necesario en el menor espacio posible y reduciendo el cableado al máximo, filosofía que se trasladó también a Sinclair tras la adquisición de ésta por parte de Amstrad (véanse las entradas Microordenadores Sinclair I y Microordenadores Sinclair y II). He rescatado del retrosótano parte de la colección de máquinas que tengo de Amstrad (véase la fotografía inferior), a la que habría que añadir algunos monitores más y un PC 1512.

Continuar leyendo ...


Publicado el 13/9/2010

Píldora histórica (13): El primer ordenador personal

Al hacer referencia al primer ordenador personal de la historia prácticamente siempre sale a la palestra el conocidísimo Altair 8800 fabricado por MITS y que se comenzó a vender en 1975 en forma de kit a montar por el usuario final. El ordenador en sí ofrecía un microprocesador, memoria RAM, un bus de ampliación y una serie de microinterruptores y leds como vía de comunicación con el usuario. En otros casos se menciona el Mark-8 que apareció un año antes, en 1974, y cuya arquitectura fue la base del mencionado Altair. Ninguna de estas máquinas, sin embargo, ofrecía un teclado, una pantalla o un medio para almacenar y cargar software por lo que difícilmente podrían catalogarse de ordenadores personales.

Continuar leyendo ...


Publicado el 8/9/2010

Shaders en la práctica (V) - Colorear según la intensidad de luz incidente

Los PS no tienen acceso a las propiedades del vértice del que procede un cierto fragmento, como puede ser la normal asociada. Es lógico, ya que no tiene sentido realizar cálculos sobre la geometría para cada uno de los fragmentos de la escena, es mucho más eficiente llevarlos a cabos por vértice, es decir, en el VS.

Con la pareja de VS-PS desarrollados a continuación se pretende colorear la escena a la que se apliquen usando únicamente cinco colores: blanco, rojo, verde, azul y amarillo. El color asignado a cada fragmento dependerá de la intensidad con la que esté incidiendo la luz en el mismo. Dicha intensidad dependerá de dos parámetros: la posición en que esté situada la luz y la normal de cada vértice de la geometría.

Continuar leyendo ...


Publicado el 7/9/2010

Píldora histórica (12): Hardware de coma flotante

Aunque los actuales ordenadores personales incluyen de serie microprocesadores (CPU) y tarjetas gráficas con GPU capaces de efectuar multitud de operaciones sobre datos en coma flotante, hubo un tiempo en que dichos cálculos debían efectuarse por software ya que el hardware solamente trabajaba con aritmética entera o de coma fija. Obviamente la realización de dichas operaciones por software no solamente resultaba más compleja sino que, además, necesitaba más tiempo de cómputo.

Continuar leyendo ...


Publicado el 3/9/2010

Microordenadores Sinclair (y II) - Historia y muchas fotografías

Sinclair Spectrum+ y Spectrum 128

Ante las bajas ventas del QL, presentado a principios de 1984, Sinclair decide actualizar rápidamente el ZX Spectrum (comienza a trabajar en ello el verano del 84) y a finales de ese mismo año aparece el modelo Spectrum+. En España este microordenador era distribuido por Investronica, empresa que jugaría un papel de cierta importancia más adelante.

Dada la premura lo que hizo Sinclair fue tomar la placa base del ZX Spectrum e introducirla en una nueva carcasa, ofreciendo un teclado de teóricamente mejor calidad (del mismo estilo que el del QL), unas patas que facilitaban la posición inclinada del teclado y un botón de reinicio. De esta forma se perdían las famosas teclas de goma, que a la postre se mostrarían más fiables que el nuevo tipo de teclado que multiplicó por cinco el número de fallos, pero no había ningún cambio más ni en el hardware ni en el software. Las razones para comprar un Spectrum+ teniendo un Spectrum, por tanto, eran casi nulas.

Continuar leyendo ...


Publicado el 1/9/2010

Curso de shaders

Torre de Babel - Francisco Charte Ojeda - Desde 1997 en la Web