Would it be fair to represent that as simply vim?
Visual Studio (2022, 2019, 2013, etc)
Visual Studio Code
From the video:
Of course there is a market for real bulldozers, but it turns out there are so many people in this world that there is also a market for miniature bulldozers. A market enough to support a company that makes nothing but miniature bulldozers. Go sit under a three and think about that one for a while. It's wild. There is a lot of people. I can't believe this thing actually exists.
...and proceeds to buy one, and record themselves playing with it night and day.
Neither. Supposedly MISRA C (and also MISRA-C++ for C++) is a set of guidelines that are widely established for about a decade now.
Even though MISRA-C guidelines are widely known by professional C developers, particularly in the embedded field, I thought others would benefit from being exposed to them. Hence my submission.
The main problem is that dynamic linking is hard.
That is not a problem. That is a challenge for those who develop implementations, but it is hardly a problem. Doing hard things is the job description of any engineer.
Dynamic linking does not even reliably work with C++, an “old” language with decades of tooling and experience on the matter.
This is not true at all. Basically all major operating systems rely on dynamic linking, and all of them support C++ extensively. If I recall correctly, macOS even supports multiple types of dynamic linking. On Windows, DLLs are use extensively by system and userland applications. There are no problems other than versioning and version conflicts, and even that is a solved problem.
You get into all kind of UB when interacting with a separate DSO, especially since there are minimal verification of the ABI compatibility when loading a dynamic library.
This statement makes no sense at all. Undefined behavior is just behavior that the C++ standard intentionally did not imposed restrictions upon by leaving the behavior without a definition. Implementations can and do fill in the blanks.
ABI compatibility is also a silly thing to bring up in terms of dynamic linking because it also breaks for static linking.
So dynamic linking never really worked,
This statement is patently and blatantly false. There was no major operating system in use, not a single one, where dynamic linking is/was not used extensively. This has been the case for decades.
A database carry the schema, structure, that allow you to validate that you are still having the structure you want.
So do all file formats.
SQLite is both a file and a database, but what I’m saying is that people shouldn’t mess with the file, but the database interface instead.
The same holds for all file formats: don't go around licking random bits in a file, use a client instead.
I have nothing against third party clients, the important thing is keeping the structure.
That's what file format clients are for, and anyone can even roll out their own if they want it.
The facts a DB use the Filesystem behind the scenes, is an implementation details the user shouldn’t be much concerned about, some DB can do without Filesystems.
That's really besides the point. The point is that it doesn't make sense to frame using databases over files as using a higher level client over persisted data.
Please upvote Visual Studio then.
I agree.
Visual Studio does not prevent us to get ourselvss in trouble, though. CLion + CMake is the only combination of IDE and build system that I know that is problem-free, and even so it requires a lot of discipline to keep the cmake project simple.