Título ¿Está el mundo capitalista reñido con el Open Source?
Texto Generalmente el concepto Open Source suele asociarse a
términos de desarrollo de código y tecnología, dejando de
lado la faceta del negocio, quizás por tratarse de un aspecto
más desconocido.
En este sentido, la realidad es que no parecen verse
claramente los beneficios que pueden obtenerse pero, por el
contrario, claros y buenos ejemplos de éxito como JBoss, Red
Hat, MySQL, Trolltech, etc.
El 6 de enero se celebró en Nueva York la O'Reilly Money:
Tech conference. Lo que resulta curioso es que no acudieron
gente de JBoss, Red Hat, MySQL o Trolltech, sino personas
que invierten en compañías con filosofía Open Source y
obtiene grandes beneficios de ello, gente de dinero, no
técnicos. A estas personas no le preocupan los problemas
técnicos, sino en como el devenir de los mercados pueden
afectar a sus ganancias.
El modelo de negocio relacionado con el Open Source
establece diferencias con el tradicional, ¿pero a caso está
reñido con la obtención de beneficios y los mercados de
capital? Esta cuestión se planteó en la conferencia,
concluyendo que no, no hay contradicciones entre ambos
mundos y se pueden obtener grandes beneficios de FOSS
(Free and Open Source Software) compartiendo la propiedad
intelectual. Los inversionistas se están aprovechando del
código abierto para compartir las tecnologías, ideas y obtener
más beneficios aún.
En tiempos, unos creaban paquetes de productos licenciados
y otros los distribuían, instalaban y daban soporte. Cuando se
abrió la posibilidad de desarrollar aplicaciones a medida a
costes razonables, surgieron nuevas posibilidades de
mercado: ¿cuantos desarrollos se hacen a medida hoy en día
partiendo de cero?, ¿cuantos recursos, tiempo y dinero
supone este tipo de proyectos tanto para la empresa
desarrolladora como para la empresa cliente?
FOSS plantea modos más eficientes en el desarrollo de
aplicaciones.
Las empresas que desarrollan en base a FOSS, basan su
negocio en la construcción de una plataforma sobre la cual,
otros desarrollan, dándoles apoyo para conseguirlo. Todo
aquel que quiera puede utilizar estas piezas base de estos
sistemas para construir la suya propia, lo cual mejora su
capacidad de hacer dinero puesto que no tienen que
desarrollar todo desde cero. El código abierto ayuda a la
gente a llegar al mercado más rápido, y en muchos casos
reduce el coste.
En conclusión, todo esto pone en evidencia la importancia que
está adquiriendo FOSS no solo en materia tecnológica, sino
en la propia economía que se soporta sobre esa tecnología.
Ref: http://www.eweek.com/c/a/Finance/Are-Open-Source-
and-Capitalism-Worlds-Apart/
Categorías CES OpenSouce/Java
Tema Varios
Autor Raúl Sanz de Acedo
Mes Febrero
Año 2008
Boletín 02
Título Xna Game Studio 2.0.El futuro de las aplicaciones 3D
Texto Hace apenas dos meses, Microsoft lanzó la versión 2.0 del XNA
Framework. Esta se encuentra integrada en el IDE XNA Game
Studio 2.0, y se puede ejecutar desde cualquier equipo que
cuente con alguna versión de Visual Studio 2005, tanto
estándar como profesional. Sin embargo, todavía tendremos
que esperar hasta que pueda ser implementada en Visual
Studio 2008.
XNA Game Studio 2.0 aporta interesantes mejoras con
respecto a su antecesor y viene dispuesto a romper moldes en
el entorno de desarrollo de videojuegos y simulaciones 3D.
Introduce novedades tanto a nivel de plataforma como del
propio Framework, que se pueden ver en el XNA Team Blog.
Todo esto junto con la estructura de programación que
presenta, ha sido determinante para que esta sea una de las
plataformas más utilizadas en el desarrollo de aplicaciones 3D.
La estructura básica que sigue cualquier proyecto XNA está
claramente dividida en tres partes:
1. Inicialización
2. Actualización (update)
3. Dibujado (draw)
En la parte de Inicialización lo que hacemos es:
Declarar los objetos y variables que vamos a utilizar.
Inicializar dichos objetos y variables, los componentes y
el constructor del juego.
Cargar y gestionar todos los recursos gráficos (texturas,
modelos…)
En la Actualización se lleva a cabo toda la lógica de la
aplicación. Y finalmente en el Dibujado es donde, como su
propio nombre indica, se lleva a cabo la visualización en
pantalla de toda la estructura 3D. Esta forma de estructurar el
programa ayuda a que el desarrollo de las aplicaciones sea más
dinámico, ágil y sencillo, y además nos permite reutilizar el
cuerpo principal para los distintos componentes de nuestra
aplicación.
La mejor forma de ver todo esto es a través de un ejemplo
sencillo, en el que cargaremos un modelo 3D y lo veremos en
pantalla. Pantalla que podremos cerrar pulsando la tecla Esc.
Para ello abrimos Visual Studio, seleccionamos Archivo/nuevo
Proyecto, y elegimos una plantilla de tipo Windows Game(2.0).
El sistema crea un proyecto con 2 archivos
denominados Program.cs y Game.cs. A nosotros el que nos
interesa es el Game.cs que es el que contiene la clase MiGame
y donde escribiremos el código que inicializa nuestro dispositivo
y dónde almacenamos el contenido:
public MiGame()
{
graphics = new GraphicsDeviceManager(this);
graphics.PreferredBackBufferHeight = 600;
graphics.PreferredBackBufferWidth = 800;
graphics.IsFullScreen = false;
Content.RootDirectory = "Content";
}
Para poder añadir nuestro modelo 3D a la escena, primero
debemos añadirlo en la carpeta “Content”, que es nuestra
carpeta raíz del ContentManager.
Una vez que lo añadimos, lo podremos cargar en nuestro
código:
protected override void LoadContent()
{
mAvioneta = this.Content.Load<Model>("heli");
}//heli es el Asset Name
Una vez tenemos nuestro modelo cargado, pasamos a
dibujarlo. Esto lo hacemos através del método Draw que se
encarga de limpiar el buffer del dibujo y de pintar el fotograma
actual.
protected override void Draw(GameTime gameTime)
{
//Color de fondo
graphics.GraphicsDevice.Clear(Color.CornflowerB
lue);
foreach (ModelMesh modelo in mAvioneta.Meshes)
{
foreach (BasicEffect effect in mesh.Effects
)
{
effect.EnableDefaultLighting();
effect.World = Matrix.Identity;
effect.View
= Matrix.CreateLookAt(new Vector3(15, 0,
10), Vector3.Zero, Vector3.Up);
effect.Projection
= Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(
45.0f), 1.3f, 1.0f, 10000.0f);
}
modelo.Draw();
}
base.Draw(gameTime); }
Como dentro de la clase Model puede haber más de una malla
(modelo), debemos recorrerlas todas. Estos modelos tienen
asignado por defecto un shader que actúa como sustituto del
Fixed Pipeline, hasta que nosotros asignemos otro
diferente. Dicho shader se denomina BasicEffect y proporciona
cálculos estándar de iluminación, materiales, texturas y
transformación de geometría.
A la hora de configurar el shader debemos tener en cuenta por
un lado la iluminación, que en este caso es definida por defecto
con unos parámetros comunes a través
de EnableDefaultLighting(). Y Por otro lado, debemos indicar al
shader como transformar la geometría de nuestro objeto. Para
ello se utizan las matrices World(representa el objeto),
View(posiciona la camara), Projection(proyecta el objeto 3D a
un plano 2D).
Por último en el método Update añadimos el siguiente código,
que nos permite finalizar el programa limpiamente:
protected override void Update(GameTime gameTime)
{
mEstado = Keyboard.GetState();
if (mEstado.IsKeyDown(Keys.Escape))
{
this.Exit();
}
base.Update(gameTime);
}
El resultado final de esta sencilla aplicación sería este:
Categorí
as
CES Microsoft
Tema Desarrollo
Autor Goretti Ortigosa Rada
Mes Febrero
Año 2008
Boletín 02
Texto Hace apenas dos meses, Microsoft lanzó la versión 2.0 del XNA Framework. Esta se encuentra integrada en el
IDE XNA Game Studio 2.0, y se puede ejecutar desde cualquier equipo que cuente con alguna versión de Visual
Studio 2005, tanto estándar como profesional. Sin embargo, todavía tendremos que esperar hasta que
pueda ser implementada en Visual Studio 2008.
XNA Game Studio 2.0 aporta interesantes mejoras con
respecto a su antecesor y viene dispuesto a romper moldes en el entorno de desarrollo de videojuegos y
simulaciones 3D. Introduce novedades tanto a nivel de plataforma como del propio Framework, que se pueden
ver en el XNA Team Blog. Todo esto junto con la
estructura de programación que presenta, ha sido determinante para que esta sea una de las plataformas
más utilizadas en el desarrollo de aplicaciones 3D.
La estructura básica que sigue cualquier proyecto XNA está claramente dividida en tres partes:
1. Inicialización
2. Actualización (update)
3. Dibujado (draw)
En la parte de Inicialización lo que hacemos es:
Declarar los objetos y variables que vamos a utilizar.
Inicializar dichos objetos y variables, los
componentes y el constructor del juego.
Cargar y gestionar todos los recursos gráficos
(texturas, modelos…)
En la Actualización se lleva a cabo toda la lógica de la aplicación. Y finalmente en el Dibujado es donde, como
su propio nombre indica, se lleva a cabo la visualización en pantalla de toda la estructura 3D. Esta forma de
estructurar el programa ayuda a que el desarrollo de las
aplicaciones sea más dinámico, ágil y sencillo, y además nos permite reutilizar el cuerpo principal para los distintos
componentes de nuestra aplicación.
La mejor forma de ver todo esto es a través de un
ejemplo sencillo, en el que cargaremos un modelo 3D y lo
veremos en pantalla. Pantalla que podremos cerrar pulsando la tecla Esc. Para ello abrimos Visual Studio,
seleccionamos Archivo/nuevo Proyecto, y elegimos una plantilla de tipo Windows Game(2.0). El sistema crea un
proyecto con 2 archivos denominados Program.cs y Game.cs. A nosotros el que
nos interesa es el Game.cs que es el que contiene la clase MiGame y donde escribiremos el código que inicializa
nuestro dispositivo y dónde almacenamos el contenido:
public MiGame() { graphics = new GraphicsDeviceManager(this); graphics.PreferredBackBufferHeight = 600; graphics.PreferredBackBufferWidth = 800; graphics.IsFullScreen = false;
Content.RootDirectory = "Content"; }
Para poder añadir nuestro modelo 3D a la escena, primero debemos añadirlo en la carpeta “Content”, que es
nuestra carpeta raíz del ContentManager.
Una vez que lo añadimos, lo podremos cargar en nuestro código:
protected override void LoadContent() { mAvioneta = this.Content.Load<Model>("heli"); }//heli es el Asset Name
Una vez tenemos nuestro modelo cargado, pasamos a dibujarlo. Esto lo hacemos através del método Draw que
se encarga de limpiar el buffer del dibujo y de pintar el fotograma actual.
protected override void Draw(GameTime gameTime) {
//Color de fondo
graphics.GraphicsDevice.Clear(Color.CornflowerB
lue); foreach (ModelMesh modelo in mAvioneta.Meshes) { foreach (BasicEffect effect in mesh.Effects
) { effect.EnableDefaultLighting(); effect.World = Matrix.Identity; effect.View
= Matrix.CreateLookAt(new Vector3(15, 0,
10), Vector3.Zero, Vector3.Up); effect.Projection
= Matrix.CreatePerspectiveFieldOfView(MathHelper.ToRadians(
45.0f), 1.3f, 1.0f, 10000.0f);
} modelo.Draw(); } base.Draw(gameTime); }
Como dentro de la clase Model puede haber más de una malla (modelo), debemos recorrerlas todas. Estos
modelos tienen asignado por defecto un shader que actúa
como sustituto del Fixed Pipeline, hasta que nosotros asignemos otro diferente. Dicho shader se denomina
BasicEffect y proporciona cálculos estándar de iluminación, materiales, texturas y transformación de
geometría.
A la hora de configurar el shader debemos tener en cuenta por un lado la iluminación, que en este caso es
definida por defecto con unos parámetros comunes a través de EnableDefaultLighting(). Y Por otro lado,
debemos indicar al shader como transformar la geometría de nuestro objeto. Para ello se utizan las matrices
World(representa el objeto), View(posiciona la camara), Projection(proyecta el objeto 3D a un plano 2D).
Por último en el método Update añadimos el siguiente
código, que nos permite finalizar el programa limpiamente:
protected override void Update(GameTime gameTime) { mEstado = Keyboard.GetState(); if (mEstado.IsKeyDown(Keys.Escape)) { this.Exit(); } base.Update(gameTime); }
El resultado final de esta sencilla aplicación sería este:
Categorí
as
CES Microsoft
Tema Desarrollo
Autor Goretti Ortigosa Rada
Mes Febrero
Año 2008
Boletín 02
Título Autenticación de aplicaciones MHP a través del canal de
retorno
Texto Actualmente, hay tres tipos de aplicaciones interactivas para TDT, aquellas que se consideran informativas y que
incluyen todos los datos necesarios dentro de la propia aplicación y aquellas que son interactivas (hay dos tipos
las interactivas en las que sólo se exigen ciertos datos y las transaccionales, en las que ya es necesario algún tipo
de autenticación), en las que ciertos datos están
incluidos dentro de la aplicación y otros se obtienen mediante el uso del canal de retorno.
En general las aplicaciones interactivas suelen conectarse a Internet para obtener ciertos datos y en el
caso de las transaccionales son datos privados del
telespectador, como informaciones bancarias, patrimoniales, etc. que no se pueden compartir con el
resto de usuarios de la aplicación por su carácter
personal. El problema reside en la identificación del mismo para poder obtener sus datos y no los de otra
persona.
La manera más sencilla y conocida actualmente es el uso de un usuario y contraseña que se conecta al proveedor
de los datos y de esta manera, si son correctos y existen, devolverá los datos propios para el usuario. Sin
embargo, esto a pesar de su sencillez tiene varios problemas asociados. El principal, que no es algo muy
cómodo para las personas mayores ya que no están muy
acostumbradas a las nuevas tecnologías, otro puede ser el hecho de olvidar las claves con lo que no se podrá
acceder a esos servicios, y otro más puede ser la suplantación de identidad, que es algo muy sencillo de
hacer.
Para evitar esta suplantación de identidad, podrían emplearse un usuario y una contraseña fija y además
utilizar una tarjeta de coordenadas (son aquellas tarjetas en las que aparece una serie de números organizados
por filas y columnas) y cada vez que el usuario quiere acceder a sus datos debe meter un valor concreto de esa
tarjeta que irá cambiando cada vez que la aplicación se ejecute. Sin embargo, si se pierde esta tarjeta tampoco
podría emplearse el servicio requerido a pesar de ser una manera más segura y seguimos con la problemática
anterior si se olvidan las claves.
En otros casos se puede utilizar una Smart Card preparada para el acceso al servicio, esto es muy
cómodo, ya que todos los datos requeridos están en la tarjeta y no hace falta recordar nada. El problema
puede venir del hecho en el que se quiera acceder a varios servicios y cada uno tenga su propia tarjeta. Esto
implicará que se acabarán teniendo varias tarjetas diferentes dependiendo del servicio al que se quiera
acceder, lo cual a la larga tampoco es muy cómodo.
Otra posible opción consiste en emplear firmas electrónicas, pero no todos los usuarios las tienen y
requiere un proceso de solicitud y además unos conocimientos para poder utilizarlas, lo que hace que no
sea apta para todos los usuarios. Esto en TDT es poco
aceptable pues pretende llegar a todos los públicos y parte de ellos que habitualmente ve la televisión es
aquel grupo compuesto por las personas de la tercera
edad, la mayoría de los cuales no tendría conocimientos
suficientes para hacer uso de las firmas electrónicas.
Hasta ahora, todos los modelos de autenticación propuestos tenían sus problemas o bien por falta de
seguridad o por complejidad. Esto en el futuro se puede solucionar mediante el uso del DNI-electrónico. Este
método permitiría el empleo de una firma digital sin necesidad de realizar ningún trámite para conseguirla y
de manera sencilla además de permitir el acceso a cualquier servicio si se estandariza, introduciéndolo
directamente en el espacio habilitado para introducir
tarjetas (smart cards). El mayor problema que esto puede presentar en la actualidad, es que en la versión
actual de MHP (1.0.2 o 1.0.3 depende del receptor) no está contemplado, pero se están creando parches para
solucionarlo y que permiten el empleo de estas capacidades. A partir de la versión 1.1.3 estará
introducido en el estándar.
Resumiendo, aunque actualmente el uso un usuario y una contraseña es lo más sencillo de implementar para
autenticarse en la mayoría de las aplicaciones interactivas que solicitan datos particulares, esto es
posible que cambie en un futuro y que se empleen tecnologías de autenticación mucho más seguras y
cómodas para el usuario, como el empleo del DNI-electrónico.
Enlaces:
II congreso de interactividad y televisión digital terrestre
http://www.alcazardigitaltdt.com/eventos/ponencias.shtml
(Ponencias relativas a t-Administración y t-Banca)
Ponencia en la que se habla sobre las aplicaciones interactivas
www.bicberrilan.com/tdt/pdf/09_Jose_Luis_Mendiola.pdf
Categorías CES OpenSouce/Java
Tema Desarrollo
Autor Blanca Cubas Cruz
Mes Febrero
Año 2008
Boletín 02
Título Prepare sus aplicaciones para Windows Server 2008
Texto Windows Server 2008 ya ha llegado. ¡Al fin! Nuestros Administradores de Sistemas van a ser más felices, nuestro
hardware por fin va a ser utilizado al 100%, nuestras aplicaciones van a ser mejores… ¿o no? Uno de los
problemas que todo cambio trae consigo es su propia naturaleza: si cambiamos, ¿cómo saber si todo irá bien?
Microsoft ha experimentado este problema con todos los cambios “mayores”
de producto que ha llevado a cabo. Y como son muchos, algo ha aprendido al
respecto. Así que esta vez pretenden ayudar a todos los desarrolladores de
software a estar preparados para Windows Server 2008 mediante su iniciativa
InnovateOn Windows Server 2008
(http://www.innovateon.com/product_server2008.aspx) El objetivo de la
misma es dotar a las empresas desarrolladoras de software de la información
y herramientas necesarias para validar que sus desarrollos se ejecutarán sin
problemas sobre el nuevo Sistema Operativo. En dicha página dispondremos
guías paso a paso y recursos de desarrollo para que nuestras aplicaciones
cumplan con las denominaciones “Certified for Windows Server 2008” y
“Works with Windows Server 2008”, que son las preferidas por Microsoft
y que nos permitirán disponer de ventajas en marketing, uso de los logos
oficiales y, en el caso de la primera, obtener 50 Microsoft Partner Points para
nuestra empresa. Cabe señalar que ambas certificaciones tienen un coste.
Como alternativa gratuita y básica, aunque sin otros beneficios, tenemos la
denominación “Ready! for Windows Server 2008”. Esta nos puede servir
como prueba de concepto de los pasos requeridos para la validación de
nuestras aplicaciones y paso previo antes de afrontar las certificaciones
“mayores”.
Veamos ahora de manera rápida los pasos que habremos de realizar para
efectuar una validación de nuestra aplicación con la herramienta “Works
with” de Microsoft. Esta herramienta nos permite verificar personalmente la
instalación y funcionamiento de nuestra solución en Windows Server 2008 y
sus posibles componentes cliente sobre Windows Vista, así como empaquetar
los resultados obtenidos para que una compañía oficial de Test los revise si es
preciso. Eso sí, realizar esta comprobación precisará unas cuantas horas para
realizarla.
Tras lanzar la aplicación pasamos unas pantallas iniciales informativas y
seleccionamos la opción de crear un nuevo test: Hemos de introducir la
información requerida en cada paso, identificando nuestra solución, en este
caso la parte cliente:
Tras comprobar los prerrequisitos y añadir los programas que componen
nuestra solución, el programa lleva a cabo una inspección del mismo (es
preciso que la solución no esté previamente instalada en el sistema para que
el proceso tenga éxito), tras la que nos solicitará que efectuemos la
instalación del producto y la configuración que sea necesaria (fase en la que
se monitoriza la instalación). Hecho esto marcamos en “Works with” que
hemos terminado esta tarea.
La aplicación revisará entonces los cambios ocurridos, tras lo que nos
presenta los resultados de la evaluación en diversas pantallas:
Ejecutables firmados
Verificación de ficheros
Verificación de drivers
A continuación el programa nos solicitará que reiniciemos la máquina si es
preciso, y ejecutemos la funcionalidad primaria de la aplicación para su
comprobación. En este paso hemos de asegurarnos de probar a conciencia
nuestra aplicación.
Luego desinstalaremos la aplicación, paso que también monitoriza “Works
with” (hay que recordar que estamos evaluando el funcionamiento global de
la aplicación, desde su instalación a su retirada).
Finalmente rellanamos un Cuestionario que nos pregunta sobre las tareas
realizadas y los resultados de la aplicación durante el test efectuado, y nos
genera el informe de resultados.
Este informe será el que nos valga para evaluar la adecuación de nuestra
solución a la plataforma en cuestión y será el que enviemos al sitio
“Windows Quality Online Services
(Winqal)” https://winqual.microsoft.com/ para obtener la certificación (y el
logo) “Works with” oficial de Microsoft para nuestra aplicación.
Categ
orías
CES Microsoft
Tema Desarrollo
Autor Rafael Flores Yoldi
Mes Febrero
Año 2008
Boletín
02
Título Presentación del Visual Studio 2008
Texto Tras tres años de trabajar y complementar Visual Studio 2005, ya tenemos al alcance de la mano su sustituto el
nuevo Visual Studio 2008. Para darle la bienvenida como se merece se ha llevado a cabo un evento muy especial
en Madrid, más concretamente en el Palacio Municipal de Congresos, los días 26 y 27 de Febrero. En este acto,
lleno de sesiones técnicas y presentaciones de productos y herramientas a cargo de Microsoft y sus principales
partners, fue presentado en sociedad junto con sus nuevos hermanos: Microsoft Windows Server 2008 y
Microsoft SQL Server 2008. Tras ello le va a seguir un pequeño Tour por España, para darse a conocer en las
principales ciudades:
11 de Marzo Barcelona
13 de Marzo Valencia
25 de Marzo Sevilla
27 de Marzo Bilbao
1 de Abril A Coruña
Al hilo de este acontecimiento, tuvimos nuestra propia
celebración en los Centros de Excelencia Software con una serie de cursos, que fueron magistralmente
impartidos por Juan Carlos González Martín, arquitecto de soluciones del CIIN.
El nuevo Visual Studio 2008 no sólo es una paquetización
de los complementos para Visual Studio que han ido saliendo desde la aparición de 2005, sino que toma como
su núcleo central de desarrollo el nuevo .NET Framework 3.5, lo que supone unas mejoras significativas para la
biblioteca básica de clases, Windows Workflow
Foundation, Windows Communication Foundation, Windows Presentation Foundation y Windows CardSpace.
Como mejoras tenemos algunos nuevos espacios de
nombres básicos:
System.AddIn.Contract
System.AddIn.Hosting
System.AddIn.Pipeline; proveen de la base para la
comunicación entre componentes System.Diagnostics.Eventing
System.Diagnostics.Eventing.Reader
System.Diagnostics.PerformanceData; estos tres
orientados al diagnóstico de aplicaciones System.IO.Pipes, destinado a la comunicación
entre procesos System.Linq
System.Linq.Expressions; proveen las clases e
interfaces para soportar las peticiones de LINQ
Dentro de la gestión de datos, podemos utilizar LINQ
mediante:
System.Data.Linq
System.Data.Linq.Mapping
System.XML.Linq
Para Comunicaciones y Flujos de trabajo tenemos:
System.Net.PeertoPeer
System.Net.PeertoPeer.Collaboration
System.ServiceModel.Persistence
System.ServiceModel.Syndication
System.ServiceModel.Web
Y destinados a ASP.NET:
System.Web.ApplicationServices
System.Web.ClientServices
System.Web.ClientServices.Providers
Pero si queremos una lista más detallada, podemos verla
en el siguiente Poster.
Podremos no obstante seguir programando contra los .NET Frameworks anteriores si es preciso, mediante un
sencillo selector disponible en la pantalla de trabajo.
Los nuevos miembros del Visual Studio 2008 son VS
2008 Standard Edition, VS 2008 Professional Edition y por su puesto la versión de libre distribución VS 2008
Express Edition. Dentro de la rama más corporativa, encontraremos a VS Team System 2008 Team Suite, VS
Team System 2008 Team Foundation Server y el VS Team System 2008 Test Load Agent. Todo ello
complementado con la biblioteca de MSDN para Visual Studio 2008.
Podremos encontrar más información relevante en las
siguientes direcciones:
• Página del lanzamiento
http://www.microsoft.com/spain/lanzamiento2008/
• Lanzamiento Visual Studio 2008
http://www.microsoft.com/spanish/msdn/spain/vs2008
• Blog de Juan Carlos González
http://geeks.ms/blogs/ciin/
• Visual Studio 2008 Express Edition
http://www.microsoft.com/express/download/
Categorías
CES Microsoft
Tema Desarrollo
Autor David Valiño Martinez
Mes Febrero
Año 2008
Boletín 02
Título Los Maestros Programadores.
Texto Este año se cumplen 20 de la edición española de
“Programmers at Work”. Se trata de un libro editado originalmente en 1986, en el que Susan Lammers
entrevista a 19 programadores, así los califica, que entonces se consideraba relevantes.
Entre ellos aparece un tal Bill Gates, que hoy en día no
necesita presentación, o Toru Iwatani, creador del comecocos o Butler Lampson, premio Turing oJohn
Warnock, uno de los fundadores de Adobe, entre otros. En el presente artículo quiero rescatar algunas
predicciones hechas por ellos hace más de 20 años y transcribir algún comentario.
Gary Kildall indicaba que “cuando un programa es claro, limpio, bien estructurado y coherente, puede ser
hermoso”. Bill Gates, cuya compañía tenía en ese momento ¡160 programadores!, comentaba sus
sensaciones a la hora de programar afirmando que “cuando compilo algo y empieza a producir los
resultados correctos, me siento grande de verdad”. Y añadía que sus metas a diez años vista eran “crear el
software que ponga un ordenador en cada mesa de
despacho y en cada casa”.
El creador de dBASE, Wayne Ratliff, indicaba que
“consiguió un trabajo de ordenador. El título de mi trabajo era ordenador. Otras personas han programado
ordenadores, pero yo he sido uno de ellos”. Desde tan curiosa experiencia vital creía que la programación
“tiene algo de ciencia y algo de arte”.
Dan Bricklin predecía que los ordenadores personales “van a mejorar constantemente” y que “el gran factor
es el precio”. Su socio Bob Frankston señalaba las cualidades que
debe tener un buen programador, y son “una buena combinación de dos factores: una accidental
correspondencia mental con las necesidades de las disciplinas, combinada con una capacidad para no ser
estúpido. Es una combinación rara, pero no mística, en absoluto”.
Uno de los fundadores de Lotus, Jonathan Sachs, daba una definición más concreta: “una combinación de
talento, temperamento, motivación y trabajo intenso”.
El hoy arquitecto jefe de software de Microsoft, Ray
Ozzie, se explayaba así: “los proyectos complejos de
programación dirigidos por directores que no son programadores están frecuentemente condenados al
fracaso, porque ellos no comprenden los intricados entresijos de los componentes del proyecto, ni las
personalidades de los trabajadores. Los directores de proyectos de software han de comprender a las personas
que trabajan para ellos. Yo conozco lo mejor que puedo la situación familiar, el estilo de vida y los hábitos de
trabajo de cada una de las personas que trabajan conmigo. Sé que no podemos trabajar jornadas de
nueve a cinco y sacar el proyecto adelante. También sé que no puedo presionar a la gente para que trabaje 24
horas durante todo el proyecto. Pero sé que, cuando llega el punto decisivo, puedo contar con ellos para
trabajar día y noche si es necesario. Ahora, también
tengo que saber cuándo hay que aflojar”.
En un tono más relajado Toru Iwatani explicaba que “un
día, a la hora de la comida, yo tenía mucha hambre y pedí una pizza entera. Corté un trozo triangular de ella,
y lo que quedó me dio la idea para la forma del Pac Man”. Y que su motivación para crear este juego fue que
“no había juegos con los que pudiera disfrutar todo el mundo, y especialmente no había ninguno para mujeres.
Yo quería sacar un juego „cómico‟ que pudieran disfrutar
las mujeres”. A la hora de profetizar cómo serían los juegos a diez años vista, demostró tener buena visión:
“Estarán más cerca del cine...Habrá también un aumento de los juegos con varios jugadores, del tipo de
red... La fascinación de jugar con lo desconocido. Es
muy intrigante la idea de jugar no sólo con otra persona, sino con alguien que no se conoce y no se puede ver”.
Finalmente una de mis frases favoritas, a cargo de Jeff Raskin: “¿Ha observado que no hay grupos de usuarios
de lavadoras? Nadie necesita apoyo para usar una lavadora. Para hacer tratamiento de la información, yo
no quiero hardware ni software; lo que necesito de verdad es un electrodoméstico que haga mis trabajos”.
No en vano él lideró un proyecto que se adelantó años a sus competidores: el proyecto Macintosh.
Llama la atención que en el libro la única mujer que habla es la entrevistadora. En una versión actualizada
del mismo: ¿esto habría cambiado?
También llama la atención que algunos de ellos, más de
veinte años después, sigan liderando este mundo de la
tecnología. Hmmm ‟tecnología‟: esta palabra ha fagocitado a la (¿por qué?) tan denostada palabra
„programación‟.
Si quieren más, cojan el látigo, pónganse un sombrero a
lo Indiana Jones y buceen en Internet a la búsqueda de un ejemplar de este desconocido, fantástico libro. Si quieres enviar algún comentario o sugerir temas a tratar en otros artículos, escribe a: curtasun[simboloArroba]cein.es
Categorías General
Tema Varios
Autor Carlos Urtasun
Mes Febrero
Año 2008
Boletín 02
Recommended