What Mono 4.0.0 is preparing for us

    Recently, many have been discussing the recent discovery of CoreCLR and CoreFX from Microsoft. Let me remind you that the CLR core and the implementation of the .NET base classes are now open, cross-platform and distributed under MIT. Thus, you can build your own version of runtime, which will work under Windows, Linux and Mac. And many were tormented by the question: what will happen to Mono now? Drafts of Mono 4.0.0 Release Notes have recently appeared , from which we can learn about Xamarin's future plans. So today in the issue:
    • Adoption of Microsoft's open source code
    • Floating point optimizations
    • We dropped support for the 2.0, 3.5 and 4.0 assemblies
    • Updated IKVM
    We will discuss the upcoming changes in more detail.

    Microsoft Source Code Adoption

    Perhaps this was one of the most burning questions: what will Mono do with Microsoft open source projects. Now we know the answer: Mono in version 4.0.0 will switch to CoreCLR and CoreFX. In my opinion, this is just wonderful, because the old implementation of the .NET kernel in Mono had a series of shortcomings. Now we will everywhere have a single code base of the kernel and base classes - a great occasion for joy.

    Floating Point Optimizations

    Mono has historically used the highest available precision for floating point calculations. On the one hand, it’s good, but on the other, it negatively affected productivity. In the new release, 32-bit math will be used for 32-bit operations on floating-point numbers, so the code will work more efficiently.

    Dropped Support for Old Frameworks

    APIs from .NET 2.0, .NET 3.5, and .NET 4.0 will no longer be supported; Mono is completely moving to .NET 4.5.

    Updated IKVM

    Let me remind you that IKVM is a Java implementation for Mono and the Microsoft .NET Framework, that is, in fact, we have the ability to convert jar to dll and run Java code under .NET. The idea is good, but the state of the library is far from being able to be used in real large projects. I cannot but rejoice that work on the library is underway: if it is brought to a sane level, this opens up wide possibilities for using Java libraries in the .NET world.

    What will happen next?

    Notes on Mono 4.0.0 are now in a very rough stage, but now they look promising. And Miguel promises us that much more will be realized in the next release:

    We will follow the updates and enjoy the bright open cross-platform .NET future. =)


    Also popular now: