3 ms·
It's a tick-the-box-for-compliance item like when Microsoft had a POSIX layer for Windows NT.
by rswail 2y ago
It's a tick-the-box-for-compliance item like when Microsoft had a POSIX layer for Windows NT.
- pjmlp 2y agoMicrosoft eventually learned that keeping full POSIX support would have been a better outcome in today's server room if they had done it properly instead. Likewise, pushing half solutions like profiles that are still pretty much a paper idea, other than what already exists in static analysers, might decrease C++'s relevance in some domains, and eventually those pushing for them might find themselves in the position that adopting Safe C++ (circle's design) would have been a much better decision. The problem with ISO driven languages, is who's around in the room when voting takes place.
- badmintonbaseba 2y agoAdopting what static analyzers do is a no-go, as they rely on non-local reasoning, even across translation units for lifetime and aliasing analysis. Their output highly depend on what they can see, and they generally can't see the source code for the whole program. I also doubt that they promise any kind of stability in their output across versions. This is a not a jab against static analyzers, by all means use them, but I don't think they are a good fit as part of the language.
- pjmlp 2y agoYeah, yet that is exactly the approach being pushed by those on the profiles camp. Further, the clang tidy and VC++ analysis based on some of the previous work, e.g. lifetime analysis paper from 2015, barely work, full of false positives. I was looking forward to it in VC++, and to this day in VC++ latest, it still leaves too much on the table.
- klodolph 2y agoWe can dream of what it would be like with full POSIX support on Windows, but it was a pipe dream to begin with. There are some major differences between Windows and POSIX semantics for things like processes and files. The differences are severe enough that Windows and POSIX processes can’t coexist. The big issue with files is that on POSIX, you can conceptually think of a file as an inode, with zero or more paths pointing to it. On Windows, you conceptually think of a file as the path itself, and you can create mandatory locks. There are other differences. Maybe you could address these given enough time, but WSL’s solution is to basically isolate Windows and Linux, which makes a ton of sense.
- pjmlp 2y agoThis wasn't the case with the subsystems approach, which is also validated by all micro-computers from IBM and Unisys still in use, being further developed, with incompatible differences between their mainframe heritage and UNIX compatability workloads.