•  I'm going to hazard a guess that Phil is confusing operating systems with programming languages.

    I certainly could be confusing operating systems with languages, but the whole business of collation should be part of the operating system, not left to individual languages or components to implement. It is too complicated to leave to the individual language or framework. You should be able to specify the collation and everything responds sensibly the same way by default and over-rides with whatever sort order it needs when necessary.  To do good collation is tricky. What do we have instead? Linux is all case sensitive,  In Windows,  C# is case sensitive, VB isn't. PowerShell generally isn't. Javascript and Java is, URLs and URNs aren't, SQL Server isn't by default, HTML isn't case sensitive but XML is. One ends up defensively having to write everything in lower-case.
    CP/M was, at least, written from the ground up to be case insensitive and Gary Kildall, the author, insisted on all components being so. He  felt so strongly about that and the zero index that he abandoned his C Compiler to produce PL-1 Sub set G  compiler instead, which was a thing of great beauty.  This ethos of consistency was carried forward into MSDOS, even when it got its Xenix bits. It all got broken when Windows tried to absorb the C variants and XML. What was really needed at that stage was proper collation that was consistent for the user.  It never happened.

    Best wishes,
    Phil Factor