Countless times that codepage thing has haunted me when moving data from Windows workstations into automatic processing systems hosted on Linux.
If Windows goes to unicode by default, it will make things a lot worse because it won't be the same unicode.
Most programs assume it's all UTF-16, and it happens to work most of the time... at least until you encounter those sequences that are invalid.
Unfortunately I don't see that being common enough for data ingestion tools for this to be relevant for a very, very long time.
For now, it's just another pain point because you can't assume Windows == UTF-16 lookalike anymore.
Tens of thousands of methods which power the majority of paid-for software. Microsoft has spent decades, and huge amount of man-power keeping all that software working, why would they flush all that away?
Leaving aside things which touch the GUI (which is a lot! You need a window to receive messages to use certain APIs!), the next big differences are the process API (no fork, starting processes is a lot more time consuming) and the advanced filesystem API (completion ports).
There are frankly a few pieces of the API that I would like to see go in the other direction, like WaitForMultipleObjects().
SWITCHAR='-'There are situations in which for example VS Code will run git commands "behind the scenes" (without ever showing the command to the user). The way it is now, VS Code sometimes obtains a file name to be used as an argument to a git command from a Microsoft function that return the name with backslashes, gives the name to git, which doesn't consider a backslash a path separator, so git causes an error, "no file named foo\bar\bash," or such, and since that git command line (command with arguments) was never manually submitted or entered by the user, the user can't get past the error just by replacing some backslashes with slashes, then resubmitting the command line.
Microsoft could submit patches to the git project to make git recognize the backslash as a path separator, but there is no guarantee that the maintainers of git would accept the patches. So, Microsoft could end up choosing to bend (on the backslash issue) to make Windows more compatible with git -- and other Unix-centric projects.
I can't at all see why either of those would indicate that Microsoft is gearing up to rebase Windows.