The majority of our programs adopt the .NET Framework. They are not 32-bit binary executables, but ".NET managed" executables. It was a difficult choice to take, because .NET Framework platform is not installed everywhere and it is not very easy to make a normal PC ".NET Framework enabled". But we made this choice mainly for two reasons:
1) We believe the future is for "managed environments"
2) We want our programs to execute in a secure and separate environment.
A "managed environment" is a layer between the software and the hardware. This is the lesson we learned from Java. It is not that we are looking for cross-platform compatibility, even if that can be a major advantage in the future; we are instead relying on a very highly engineered software environment that controls at run time what a program is doing and it optimize it on the fly in order to get better and safer results, depending on the real executing operating system and hardware. This leads to two great advantages: the same software can be optimized on the fly for the executing environment (CPU, RAM, IO and Operating System) and the software that is "managed" in this way can never severely interfere with critical system processes (because the layer, in this case the .NET Common Language Runtime, is designed exactly to prevent this). Using banal words, the blue screen of death will never be directly caused by a "managed" program. The future is the "managed" environment: Windows Vista will come with a new version of the .NET Framework and the next generation of Windows API, Win FX, will be based on the .NET Framework. Using Brad Adams words, "FX speaks to a framework. It speaks to the heritage of WinFX from the .NET framework. So if you’re familiar with the .NET framework and you’re writing code on the .NET framework today, then you’re going to be very comfortable on WinFX when you move to it in the future."
This leads us to the second point: why programs run safer in a "managed" environment. Programs written for the .NET framework execute in a software environment that manages the program's runtime requirements. This runtime environment, which is also a part of the .NET Framework, is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine, so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security guarantees, memory management, and exception handling.
That is why we will continue on our way with the .NET Framework, investing more and more resources in learning how to exploit well the "managed" environment. It is something that convinces us as technicians, but also, we think, a guarantee for the people that download our software and install it on their machines.
1) We believe the future is for "managed environments"
2) We want our programs to execute in a secure and separate environment.
A "managed environment" is a layer between the software and the hardware. This is the lesson we learned from Java. It is not that we are looking for cross-platform compatibility, even if that can be a major advantage in the future; we are instead relying on a very highly engineered software environment that controls at run time what a program is doing and it optimize it on the fly in order to get better and safer results, depending on the real executing operating system and hardware. This leads to two great advantages: the same software can be optimized on the fly for the executing environment (CPU, RAM, IO and Operating System) and the software that is "managed" in this way can never severely interfere with critical system processes (because the layer, in this case the .NET Common Language Runtime, is designed exactly to prevent this). Using banal words, the blue screen of death will never be directly caused by a "managed" program. The future is the "managed" environment: Windows Vista will come with a new version of the .NET Framework and the next generation of Windows API, Win FX, will be based on the .NET Framework. Using Brad Adams words, "FX speaks to a framework. It speaks to the heritage of WinFX from the .NET framework. So if you’re familiar with the .NET framework and you’re writing code on the .NET framework today, then you’re going to be very comfortable on WinFX when you move to it in the future."
This leads us to the second point: why programs run safer in a "managed" environment. Programs written for the .NET framework execute in a software environment that manages the program's runtime requirements. This runtime environment, which is also a part of the .NET Framework, is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine, so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security guarantees, memory management, and exception handling.
That is why we will continue on our way with the .NET Framework, investing more and more resources in learning how to exploit well the "managed" environment. It is something that convinces us as technicians, but also, we think, a guarantee for the people that download our software and install it on their machines.


0 Comments:
Post a Comment
<< Home