Windows was never intended to be hacker friendly, thus the ecosystem formed in a way to match average consumer skillset. Consumers do not care about aspects like package managing or file hierarchy standards, which makes the life of a Windows hacker just hell, it has been an issue for long.
Consumers assume using computers has to be painful so they remain silent about it but they're not aware that it is avoidable using a sane system, which Windows clearly isn't. The Windows hacker community has realised this, but it's real hard to move off the comfort zone.
So recently, what the community has been doing is laughable. They are trying to do so-called "improvement" of the situation by adding package managers which are just a tiny subset of what we have in the UNIX realm. A package manager should be an integral part of a system but you still have to install drivers off the vendors website, whereas we can do that by running some simple command(s).
The people of the UNIX realm were busy in doing these things and Microsoft in EEEing companies. It's not that Microsoft didn't make standards, they made but they were utterly useless.
Since there's no file hierarchy standard you can't know what resides where, thus no notion of shared dependencies. While the OS has support for DLLs, it is effectively the same as static linking because the DLLs are isolated into a single program. This situation isn't going to improve because the actions were not taken in the past, now it grew past to the point where it is impossible to do so and Microsoft isn't worried about this because they know that it isn't going to harm their market share.
I know a lot of you are having troubles of getting it to work on Windows and complaining a shiton.
This statement exactly supports my point LOL.
You can just use Visual Studio, which is the best and beginner-friendly solution, but for some reason you are just a boomer and don't want to use it.
which is the best
From what angle? Oh you mean best at crashing randomly and collecting telemetry? Sure.
beginner-friendly
Yes. Making the beginners' always depend on Visual Studio in future and confine himself in the Windows miasma.
I can understand you don't want to use Visual Studio because it's slow or for whatever reason. But you HAVE TO install Visual Studio on Windows to use vcpkg. (Mingw GCC CAN NOT be used to build vcpkg on Windows at the time being)
But you HAVE TO install Visual Studio on Windows to use vcpkg.
MSYS2 has a package manager already which is far more versatile than vcpkg. Where as vcpkg downloads the source code off the internet then compiles them, which is a waste of time. vcpkg is leaned towards CMake and Visual Studio and it doesn't care about other buildsystems at all (eg. meson), as if they don't exist.
What is so good about vcpkg that I "HAVE TO" use it? You can always ./configure && make && make install
which is not buildsystem specific and allows you to configure the compilation to your own needs.
MSVC being a Microsoft C/C++ compiler is a legit and good compiler
The Microsoft compiler repeatedly tries to push users into following non-standard ways, such as using scanf_s
over scanf
. The problem is that it can issue a warning but it issues an error instead and requires to define _CRT_SECURE_NO_WARNINGS
to suppress it. I have seen no compiler that does this.
Also, since we cannot view the source code of the compiler due to it's proprietary, it's hard to tell that it is designed good. Clang and GCC are really good compilers and both have source code viewable.