ROOT Framework

Estoy en una conferencia que está dando una de las leyendas del CERN: René Brun. Según dicen es el que más sabe de informática del CERN.

Está explicando el Framework ROOT que es el que se usa para desarrollar aplicaciones y trabajar en casi todas las aplicaciones informáticas de tipo científico en el CERN.

Llevan desde el año 1994 programando el sistema y ya tienen un 1.500.000 de líneas de código en C++. Para que os hagáis una idea de la potencia que tiene el sistema vamos a poner una serie de caracterísitas.

  • En el 2010 se podrá trabajar con 10 Terabytes en tiempo real!!!!!
  • El usuario puede definir nuevas clases interactivamente
  • El código interpretado puede llamar a código comiplado y el código compilado puede llamar a código interpretado.
  • Los macros pueden compilarse dinámicamente y linkarse.


Screenshot de una aplicación creada con el Framework ROOT

Con ROOT podemos hacer cualquier cosa, desde algo tan sencillo como histogramas hasta redes neuronales, raytracing o ejecutar operaciones en El grid.

Ahora mismo la tarea más importante dentro del proyecto ROOT es adaparlo para que utilice El grid por debajo para ejecutar las tareas en el mínimo tiempo posible.

Para los más geeks aquí tenéis ROOT para bajar y trastear. También es interesante dar una hojeada al código, que es realmente elegante. Realmente impresionante!

Y recordando nuestras divagaciones sobre desarrollo de software, aquí va la opinión de un experto 🙂

«Es imposible que no haya bugs en un sistema con 1.500.000 líneas de código en C++» – René Brun

Educación en IBM

[…] protagonizó Tom Watson cuando dirigía IBM. Uno de los gerentes cometió un tremendo error que le costó unos diez millones de dólares a la compañía. Cuando entró en el despacho de Watson, el gerente involucrado dijo: «Supongo que estoy despedido». A lo que Watson respondió: «¿Lo dice en serio? ¿No le parece el peor momento? Acabamos de invertir diez millones de dólares en su educación»

Aquí en España la mentalidad de los jefes está muy muy muy lejos de parecerse a la de los directivos de algunas grandes empresas americanas.

Leído en Joel on Software

Conferencias Java y la situación laboral de los informáticos

Ayer tuvimos otro par de conferencias para terminar el curso de especialista en J2EE que llevo cursando durante todo el año en el que he aprendido muchas cosas útiles para poder entrar en el mundo laboral con un poco más de idea.

En esta ocasión la primera conferencia me sirvió para darme cuenta que en la CAM aquí en Alicante se desarrollando proyectos serios usando J2EE. Ramón Rubio incidió en la importancia del Modelo Vista Controlador que tienen montado, y que le dan mucha importancia a la seguridad en las aplicaciones de banca. Dedicando hasta un 50% del tiempo de desarrollo solo a la seguridad. Utilizan Bea Weblogic como servidor de aplicaciones y Eclipse para desarrollar.

En la segunda conferencia Aitor Medrano (Ex alumno de la Universidad de Alicante), que es arquitecto J2EE en Indra, nos estuvo explicando todo el ciclo de vida de un proyecto real. Comenzando por los análisis funcionales, técnicos, pasando por los prototipos, el diseño de la interfaz, luego implementación etc. Utilizan un esquema de trabajo bastante cercano al que se supone «ideal» según los libros de Ingeniería del Software; incluso tienen encargados para testear la usabilidad de las aplicaciones. También utilizan Eclipse, pero como servidor de aplicaciones utilizan IBM WebSphere. Un consejo final de Aitor: Nunca reinventar la rueda.

Terminó la conferencia explicandonos un poco como está la situación laboral en Madrid, que deberíamos intentar entrar como Analistas/Programadores y con el tiempo pasar a ser Arquitectos. Aun así nos tocará currar muuuchas horas y siempre cobraremos menos que los gestores (Empresariales y ADE). ¿Cómo véis el futuro de los informáticos? ¿Cómo está la situación laboral en vuestra zona?

Muy interesantes todas las conferencias y saludos desde aquí a todos aquellos que me reconocieron por haberme leido 😉

Conferencia Javahispano – Eclipse RCP

En el post de historia de la programación, Juanjo y yo acabamos comentando los diversos entornos de desarrollo especialmente preparados para trabajar con Java. Para mi, el mejor entorno es Eclipse, cuya filosofía es darnos un entorno básico que podemos ir configurando a base de plugins según nuestras necesidades. Se trata de un proyecto Libre sustentado por más de 40 grandes empresas, la principal de ellas es IBM.

Ayer vino Martín Perez de JavaHispano a dar unas excelentes conferencias sobre Java a la Universidad de Alicante.

En la primera conferencia explicó en que consiste Eclipse RCP. Se trata de un framework a partir del cual podemos construir aplicaciones sobre la base de Eclipse. Es decir, nos proporcionan un Eclipse «Vacio» que podemos modificar para crear aplicaciones de gestión o lo que queramos. ¿Qué ventajas tenemos? Pues que podemos usar el sistema de ayuda de Eclipse en nuestros programas, o el sistema de perspectivas y vistas etc. Para quien esté interesado en el tema un tutorial para iniciarse.

En la segunda conferencia, algo menos técnica, se centró en como podemos montar sistemas J2EE basados en Software Libre. Es realmente impactante ver como una empresa se puede ahorrar 30.000 euros usando un servidor de aplicaciones como Jboss en vez de Websphere de IBM cuando realmente la potencia y funcionalidades pueden llegar a ser similares en muchos aspectos. También me enteré que en la multinacional Bayer se cansaron de pagar estas barbaridades y ahora utilizan Software Libre.

El problema es que los directivos no se creen que algo gratuito puede funcionar igual o incluso mejor que algo que cuesta 50.000 euros. Pero poco a poco el panorama está cambiando.

Historia de la programación

Ya había visto algún que otro poster con la linea evolutiva de ‘todos’ los lenguajes de programación. La famosa editorial americana O’reilly acaba de publicar un espectacular poster que sin duda fascinará a todos los programadores.

Todo empezó hace 50 años con el nacimiento de Fortran. Es interesante ver las conexiones entre los diferentes lenguajes, y ver como algunos de ellos desaparecen mientras que otros siguen dando guerra. Pero yo creo que lo más importante es aprender de la historia y poder sacar conclusiones sobre lo que nos depara el futuro.

¿Cómo será el poster de aquí 50 años? ¿Quién ganará la batalla Java o .NET? ¿Y en los lenguajes concernientes a tecnologías web que pasará?

Yo personalmente cada vez le veo el futuro más negro a Java, simplemente porque cuando llegue Longhorn de aquí 2 años .NET entrará en casi todos los ordenadores del mundo. Una vez más Microsoft aprovechará su posición en el mercado de los sistemas operativos para introducir una nueva tecnología y desbancar a la competencia. ¿O realmente es Sun Microsystems quien está fallando en su estrategia y está dejando que Microsoft gane la batalla al igual que pasó con Netscape? ¿Será Google quien le de un giro a la industria introduciéndose en nuestros escritorios?

El programa perfecto

¿Quién no ha pensado alguna vez en crear un programa perfecto? Es el típico mito imposbile que intentamos conseguir los informáticos, programadores e ingenieros del software. No sería genial hacer algo como:

Perfect.CreatePerfectAplication();

Esto es una chorrada con la que se reirán los programadores que estén leyendo esto :), pero también da mucho que pensar. Este sería el código fuente del programa perfecto creado con el lenguaje de programación perfecto. Esa línea condensa todas las maravillas teóricas de la programación orientada a objetos, encapsulación, herencia y todos los demás rollos teóricos. Pero se trata de una utopía con la que muchos sueñan pero que nadie consigue.

Ya hemos hablado sobre estos temas en otras ocasiones, pero para los nuevos, vuelvo a lanzar la pregunta: ¿Llegaremos algún dia a crear software perfecto, sin bugs,sin errores? También podríamos tratar el tema de la usabilidad perfecta ¿Cómo sería para vosotros un programa/web con una interfaz y usabilidad perfectas?