Proyecto MONO

Juantomás García

GNOME Hispano

juantomas@lared.es

¿Qué es el proyecto MONO?. Estado actual del proyecto. ¿Por qué es interesante para el software libre disponer de la tecnología relacionado con el proyecto MONO?


Tabla de contenidos
Introducción.
Que es proyecto MONO?
Estado del proyecto MONO.
¿Por qué es interesante el proyecto MONO?
Referencias e Información relacionada con el Proyecto

Introducción.

Si analizamos el mundo del desarrollo de software descubriremos que el estado actual es bastante mejorable: la tecnología que estamos utilizando es la misma que hace dos décadas y cada vez se esta complicando más, realmente no se ha evolucionado demasiado, y, lo que es peor, la curva de aprendizaje para los nuevos desarrolladores es más dura.

Por otra parte la complejidad de los sistemas operativos y el número de versiones que coexisten concurrentemente es mayor. Ante esta situación parece sensato realizar una revisión de las herramientas actuales y la arquitectura de desarrollo.

Y aquí es donde entra el proyecto MONO. El proyecto tiene como objetivo crear una implementación libre de algunas herramientas y parte de la arquitectura de .NET . La arquitectura .NET ha sido propuesta por Microsoft. Parte de esta tecnología se basa en un estándar propuesto a la ECMA y lo interesante es que tiene ideas muy buenas. Realmente son tan buenas que el mundo del software libre debe poder disponer de ellas sin que tengamos que esperar a que Microsoft lo haga. Este es el objetivo del proyecto MONO.

Actualmente la reutilización de software no es óptima. Aunque el modelo de software libre nos permite reutilizar el código con mucha facilidad. El precio en horas o en dificultad de usar código en nuestros proyectos es poco óptimo y esto se debe mejorar. Disponer una biblioteca de funciones en forma de librería dinámica esta bien pero no soluciona el problema.

La interoperabilidad entre lenguajes no es buena. Una de las bendiciones del software libre es la cantidad de posibilidades que tenemos a la hora de poder seleccionar un lenguaje de desarrollo. La mala noticia es que aunque prácticamente todos disponen de la posibilidad de interoperar con otros lenguajes, ésta no es fácil, ni sencilla.

Desarrollar aplicaciones no es fácil. Con el modelo actual de desarrollo, el diseño y la creación de proyectos a partir de un determinado tamaño de proyecto se complica demasiado. Lo ideal es contar con un entorno que nos permita desarrollar prototipos, reutilizar código y sobre todo hacer aplicaciones sencillas sin un esfuerzo significativo. Un entorno parecido al "entorno de programación" del Visual Basic, pero eliminando las carencias que tiene.

Código gestionado (Managed Code). Mayoritariamente los lenguajes utilizados en la actualidad son procedurales y no gestionados. Las ventajas del código gestionado: GC (Recolector de Memoria ), Manejo de Excepciones, etc, permiten que se mejore la calidad y eficacia de los proyectos.

En esta ponencia se va a exponer de una manera global cuales son los objetivos del proyecto, los componentes e ideas de .NET que son más interesantes.