M
Table of contents:
Surely many of you have heard of Midori, which would be the next step for Windows. A new operating system written from scratch, with a new kernel and written in a modern language. So modern that it doesn't even exist as such yet.
The language, codenamed M, is based on C and is specifically designed for programming operating systems , capable of reaching the lowest level but without losing the useful abstractions necessary to create more common programs, such as a user application.
In an article on his blog, Joe Duffy, one of Midori's developers, has shared very interesting details about this future language. The main idea of the project is to create a language with type-safe (type-safety) like C, but cwith very good performance , such as C++.
Much of the performance effort goes into tweaking two areas of C: the garbage collector and the typing system At a Glance , the C garbage collector for a program, every X time, looks for objects that are no longer in use (for example, your browser has stored several images in RAM but no longer needs them) and frees their memory. For developers it is a system that frees up a lot of complexity when it comes to managing memory, but as you can imagine it is slower. M would be smarter in this regard, borrowing several ideas from C++ to better understand the life cycle of objects (when they start to be used and when they are no longer needed) and thus be more efficient when it comes to allocating and freeing memory. without the garbage collector having to come into play.
On the other hand, the modifications in the typing system seek to address one of the problems that most old languages (read: designed before 2005) currently have, the parallelism Right now, computers don&39;t grow in height - processor speed - but in width, with more cores in parallel. Creating programs that make good use of such parallel processing is not easy and there are many subtle details, especially when sharing data between multiple processes or threads."
M would bring concepts from functional programming languages, mainly object immutability and method side-effect handling, which would make it easier for programmers and the compiler to create multiple threads fortake advantage of the multiple cores of computers and thus greatly improve performance.
In addition, M would also bring a new error handling system: fast, easy to use, efficient, making use of code contracts to restrict program behavior to valid paths, and easy to understand so that the compiler can perform optimizations.Thus we would be talking about a language that facilitates creating more secure and robust programs, something very important if we want to use it for an operating system.
Enough with the technical jargon: what does this mean?
After diving into the world of programming languages for a bit, what does it all mean?
First of all, Microsoft seems to be taking the next stage of Windows very seriously. Mary Jo Foley says that Midori has gone from being just a research project to coming under the wing of Terry Myerson, in the Unified Operating System group. M and Midori are not just an experiment, but the way forward for Microsoft.
Does it make sense to prepare another Windows? Of course. Like any other program, an operating system has a limited life. The world is very different now from when Windows was designed, and no matter how flexible the system is, so many changes over the years to adapt it to new scenarios end up taking their toll and it starts to be more profitable to start from scratch (something that we computer scientists like it very much).
Of course, Midori won't be around in the short or medium term. But when it's finished (if it's ever done, which isn't certain either) it will be a system that, being parallel and cloud focused from the start, will put Microsoft at the head in the world of operating systems, at least at a technical and capacity level.
As for M, if as promised it were an extension to C with no unsupported changes, many developers could easily switch to it. And if they release it completely out of the box, which they've also promised, they might be able to break it out of the 'Microsoft loop' that C is stuck in right now, expand it, and thus gain a huge advantage over other languages and companies.
For now, it seems that the language will have some future, and we should know more details in the coming weeks.As for Midori, let us remember that he is not even official, it will still take us a long time to know more about him, but this type of story tells us where Microsoft is headed.