It s like time travel: a modern program running on Windows 3.11

Do you remember the times when Microsoft created closed solutions, incompatible with another, and even their own ecosystem, and dependent on the operating system? Me too.

However, for over 10 years something has started to change and today "programming in .NET" means writing programs that we will run on Macs, Linux, in Docker, without the need for server or operating system dependency.

Michal Strehowsky is one of Microsoft's engineers working on .NET CoreRT, i.e. a runtime environment that is highly optimized due to native compilation and the use of Ahead of Time Compilation solutions . He often illustrates the possibilities of the libraries he is working on: for example, he once created a snake game that takes up eight kilobytes after compilation , which can be run on a number of operating systems, including Linux and DOS. All thanks to native compilation.

Program in C # running on Windows 3.11

One of Strehovski's ideas was (successful) attempt to run a program written in C # on Windows 3.11.

Windows 3.11 is a runtime environment and a graphical DOS frontend released in 1993. It cannot be considered a full operating system, but it had many of its features. Initially, it was a 16-bit environment, but at some point, thanks to the update, it gained the possibility of limited use of programs and 32-bit addressing. This API was called Win32s and came from the "full" Microsoft Windows NT operating system.

https://twitter.com/MStrehovsky/status/1215331352352034818

For this it is not a console program (started in text mode), but "windowed", i.e. using a graphical environment.

How did Strehovski do it?

As he admits, he used his experience of building an "eight-byte-byte" snake. After compiling simple code into the native image, he had to resolve dependencies that Windows 3.11 did not have (libraries needed to run the program, not included in it, but included in the operating system today).

The modern .NET environment does not produce appropriate output files, so the role of the modern compiler had to end with creating an object file, which was then consolidated using so-called linker provided with Visual C ++ 2.0, released in 1994.

There is a sentence attributed to Newton, which reminds me on this occasion: "if I see further, it is only because I stand on the shoulders of the giants." All human achievements are a continuation of others and everyone draws on the achievements of those who were before him. Due to the fact that the basics of computerization, programming and the Internet are still contained somewhere in our computers, such a "time travel" is possible, as it was shown by a Microsoft employee.



It's like time travel: a modern program running on Windows 3.11

Comments

Popular posts from this blog

What is VoLTE and how can you activate it on your Xiaomi

So you can check the battery status of your Xiaomi smartphone and how many cycles you have performed

How to exit the FASTBOOT mode of your Xiaomi if you have entered accidentally

Does your Xiaomi charge slowly or intermittently? So you can fix it

Problems with Android Auto and your Xiaomi? So you can fix it

If your Xiaomi disconnects only from the WiFi it may be because of that MIUI setting

How to change the font in MIUI and thus further customize your Xiaomi: so you can change the type, color and size of the letters of MIUI

What is the Safe Mode of your Xiaomi, what is it for and how can you activate it

Improve and amplify the volume of your Xiaomi and / or headphones with these simple adjustments

How to activate the second space if your Xiaomi does not have this option