M#, el nuevo lenguaje para el siguiente sistema operativo de Microsoft

M#, el nuevo lenguaje para el siguiente sistema operativo de Microsoft
17 comentarios Facebook Twitter Flipboard E-mail

Seguramente muchos de vosotros habréis oído hablar de Midori, lo que sería el siguiente paso de Windows. Un nuevo sistema operativo escrito desde cero, con un nuevo núcleo y escrito con un lenguaje moderno. Tan moderno, que ni siquiera existe todavía como tal.

El lenguaje, que tendría como nombre en clave M#, se basa en C# y está específicamente diseñado para la programación de sistemas operativos, capaz de llegar hasta el más bajo nivel pero sin perder las abstracciones útiles y necesarias para crear programas más comunes, como una aplicación para el usuario.

En un artículo en su blog, Joe Duffy, uno de los desarrolladores de Midori, ha compartido detalles muy interesantes sobre este futuro lenguaje. La idea principal del proyecto es crear un lenguaje con tipado seguro (type-safety) como C#, pero con muy buen rendimiento, como C++.

Gran parte del esfuerzo en rendimiento va en modificar dos áreas de C#: el colector de basura y el sistema de tipado. A grandes rasgos, el colector de basura de C# para un programa cada X tiempo, busca objetos que ya no se estén usando (por ejemplo, tu navegador ha guardado varias imágenes en memoria RAM pero ha dejado de necesitarlas) y libera su memoria. Para los desarrolladores es un sistema que libera de mucha complejidad a la hora de gestionar la memoria, pero como podréis imaginar es más lento. M# sería más inteligente en este sentido, tomando prestadas varias ideas de C++ para entender mejor el ciclo de vida de los objetos (cuándo se empiezan a usar y cuándo dejan de necesitarse) y así ser más eficiente a la hora de reservar y liberar memoria sin que el colector de basura tenga que entrar en juego.

Por otra parte, las modificaciones en el sistema de tipado buscan afrontar uno de los problemas que tienen ahora mismo la mayoría de lenguajes "antiguos" (léase: diseñados antes del 2005), el paralelismo. Ahora mismo, los ordenadores no crecen a lo alto - velocidad del procesador - sino a lo ancho, con más núcleos en paralelo. Crear programas que aprovechen bien ese procesado en paralelo no es fácil y hay muchos detalles sutiles, especialmente cuando se comparten datos entre varios procesos o hilos.

M# traería conceptos de los lenguajes de programación funcionales, principalmente inmutabilidad de los objetos y control de efectos secundarios en los métodos, que harían más sencillo para los programadores y para el compilador crear varios hilos para aprovecharse de los múltiples núcleos de los ordenadores y así mejorar mucho el rendimiento.

Además, M# también traería un nuevo sistema de control de errores: rápido, sencillo de usar, eficiente, que haga uso de los contratos de código para restringir el comportamiento del programa a los caminos válidos y fácil de entender para que el compilador pueda realizar optimizaciones. Estaríamos hablando así de un lenguaje que facilita crear programas más seguros y robustos, algo muy importante si queremos usarlo para un sistema operativo.

Basta con la jerga técnica: ¿qué significa esto?

Después de sumergirnos un poco en el mundo de los lenguajes de programación, ¿qué significa todo esto?

Lo primero es que Microsoft parece tomarse muy en serio la siguiente etapa de Windows. Mary Jo Foley dice que Midori ha pasado de ser un proyecto sólo de investigación a estar bajo el ala de Terry Myerson, en el grupo de Unified Operating System. M# y Midori no son sólo un experimento, sino el camino que tiene que seguir Microsoft.

¿Tiene sentido preparar otro Windows? Desde luego. Como cualquier otro programa, un sistema operativo tiene una vida limitada. El mundo es muy distinto ahora de cuando se diseñó Windows, y por muy flexible que sea el sistema, tantos cambios a lo largo de los años para adaptarlo a los nuevos escenarios acaban pasando factura y empieza a ser más rentable empezar desde cero (algo que nos gusta mucho a los informáticos).

Por supuesto, Midori no estará ni a corto ni a medio plazo. Pero cuando se finalice (si es que finalmente se lleva a cabo, que tampoco es seguro) será un sistema que, estando enfocado a sistemas paralelos y a la nube desde el principio, pondrá a Microsoft a la cabeza en el mundo de los sistemas operativos, al menos a nivel técnico y de capacidades.

En cuanto a M#, si tal y como prometen fuere una extensión de C# sin cambios no compatibles, muchos desarrolladores podrían pasarse a él sin problemas. Y si lo liberan completamente desde el primer momento, cosa que también han prometido, puede que lo consigan sacar del 'círculo Microsoft' en el que C# está atrapado ahora mismo, expandirlo y así obtener una ventaja enorme frente a otros lenguajes y compañías.

De momento, parece que el lenguaje tendrá algo de futuro, y deberíamos conocer más detalles en las próximas semanas. En cuanto a Midori, que recordemos que ni siquiera es oficial, todavía tardaremos bastante en saber algo más de él, pero este tipo de historias nos van indicando hacia dónde se dirige Microsoft.

Comentarios cerrados
Inicio