April 09, 2024

Only Microsoft is allowed to develop performant software. No one else is!

Only Microsoft is allowed to develop performant software. No one else is!

Suppose, you are like me, and you need to write a high-performance application. Its performance has to be as high as your hardware would allow. Naturally, you would write it in C++ instead of .NET languages. Not so fast, sucker!

Microsoft has gone out of their way to make your life as miserable as possible. The tooling of Visual Studio for C++ development is nearly as rudimentary as a text editor.

In .NET projects, you can create copies of files, by Ctrl-dragging them to the same or different folder. In C++ projects, it is "Screw you, Benny!". You cannot drag-n-drop files unless you turn on "Show all files" but to add insult to injury, even then VS won't allow you to drag and mock you with a pop-up dialog that asks whether you want to copy a file onto itself.

Microsoft just won't allow you to develop in C++. You are not allowed.

Did I mention that no refactoring is available to C++ developers beyond basic renaming? Now I did. I tried to extract functions, only to be mocked by error message that told me that VS could not extract due to an unknown error. MS never knows their errors. Who wudda thunk?

Did I mention that C++ unit test projects are a gimmick? Now I did. They essentially do not work in a sense that it is not enough to #include your .h or .hpp files. You have to include .cpp files as well!

How did they manage to make .NET projects work? By project references. The reason being that every .NET assembly, no matter whether .exe or .dll, is an assembly. It does not matter the format. But unmanaged .exe does not expose functions, so you have to re-include all sources into your test project. MS did nothing, nada, zilch to alleviate our pain. Essentially, unit tests for C++ do not exist, i.e. a gimmick.

Posted by: LinuxLies at 04:11 PM | No Comments | Add Comment
Post contains 341 words, total size 2 kb.




What colour is a green orange?




15kb generated in CPU 0.0062, elapsed 0.0496 seconds.
35 queries taking 0.0451 seconds, 127 records returned.
Powered by Minx 1.1.6c-pink.