history - Why wasn't code "managed" from the start? -


Note that this is not about NIT CLR, which emphasizes in the environment to explain the concept of Microsoft managed code Used to be. Most of you know that the managed code has been around for some time and rocket is not very related to science.

I want to know why the concept of runtime security in the development has come to the computer so late .

I know that it's like to ask, "Why did not the first model T Ford come with Airbags and seat belts?" Regardless of this the relevance of the question is still standing, because it is well within the human nature to protect known threats from danger. Like the first T-Ford airbag was not enough enough to inspire research. This does not increase the fatal decision-making errors for people so fast that it inspires the seat belt as law and standard in many countries.

In computer development, it is almost on the other side that we started with Endler, equal to one T-Ford driving at 200 meters with an eye patch. I have had the pleasure of interacting with some old truck drivers from this age, listening to these stories, saying this about Assembly Code, Human Debugger, Code of Distortion Line etc. If we make a very wrong mistake in C, we finally end up with a bluescreen decades ago, you can end up with damaged hardware and what God knows but this is a mystery for me - for so many decades, and We were all the bluescards used to make the less painful crash (sorry for using MS for any type of origin).

It is not only against human nature, known threats, error checking, memory diagnosis, logging frameworks, backup maintenance etc. such as , automatic and automatic The programmer is also within the nature.

Programmer / Human System start automating the task of ensuring the feeding system, will not harm the system? Yes, of course, display but hey, it was well before any seriously penetrating hardware standard To facilitate the "managed code" why not just the boards were designed with just architecture and additional processor?

Is there any metaphor for model T. Farms is not enough fast enough which I am missing?

Let's think this through first principles.

A managed platform provides a relatively sandboxed area to run the program code, which is designed from a high level language to a form, suitable waste collection and modules for execution by platform (IL bytecodes) There are utility features such as loading.

Now think of a basic application - the OS provides a relatively sandboxed area (a process) that provides programmable code to run which is designed with high level language platform (x86 opcodes ) To be more suitable for a form, it also has utility features like virtual memory management and module loading.

It does not matter, I think we have managed the forum in the first place, because it just makes the platform easier by making it easier. It should make a portable code between OSes, but MS does not care that the security is part of the managed platform, but should be part of the OS - e.g. Your managed app can write files and the same way as the normal process; This is a security feature, it is not an aspect of a managed platform that does not exist on the country.

Eventually, they could put all of the managed features in a set of native DLS and ended with the idea of ​​intermediate bytecode, JIT instead compiled the original code. "Managed" features like GEC are easily possible on the original stack - for example see Bohem C ++.

I think that MS did partially because it was easy for compiler to write, and partly because Java was created (and .NT is a descendant of Java, if only in soul ), Though Java has made it a way to cross-platform coding, some MS does not care about it.

So, why did not we get the managed code from the start - because all the things about which you are part of the 'managed' code are the original code, the platform we have managed only one is already the top of the level platform But there is an additional abstraction, additional features have been added to save yourself from high-level languages, buffer overflow is a thing of the past, but C was first invented, but none of it Not that they did battle can not be implemented in C. Its just that they were not. Maybe it seems that these characteristics are missing, but I'm convinced that in the time of 10 years, we have implemented a clearly useful feature called "Why not C # like we did today "


Comments

Popular posts from this blog

python - Overriding the save method in Django ModelForm -

html - CSS autoheight, but fit content to height of div -

qt - How to prevent QAudioInput from automatically boosting the master volume to 100%? -