As for other languages with several standard libraries: a while ago that was a frequent criticism of D -- there were two competing standard libraries, which caused some division in the community.
As for other languages with several standard libraries: a while ago that was a frequent criticism of D -- there were two competing standard libraries, which caused some division in the community.
It had a standard library, and a non-standard library that was more popular than the standard one, and they were not compatible at all.
The reason it caused the division at community is that the ones that you could not use both on the same project, this meant that for a while you had two "D" languages that were separate, libraries made with one did not worked with the other...
Although, not all of Tango (the non-standard one) is available in D2/Phobos already. For example, Phobos has XML [2,3] stuff, but Tango's is supposed to be better [0]. Port is ongoing [1].
[0] http://dotnot.org/blog/archives/2008/03/12/why-is-dtango-so-... [1] https://github.com/SiegeLord/Tango-D2 [2] http://dlang.org/phobos/std_xml.html [3] http://forum.dlang.org/thread/igmfgrfwzeqpwafeilfi@forum.dla...
As most OSs tend to be written mostly in C, it is natural that C ABI == OS ABI.
In the few cases where the OS was written in other languages, like the mainframe systems, the early 80's OS done in Pascal dialects (Mac OS), Modula-2 (Lillith), Assembly (MS-DOS/CP-M) and many others to list here, there was no C ABI to speak of.
This document was developed jointly by an informal
industry coalition consisting of (in alphabetical order)
CodeSourcery, Compaq, EDG, HP, IBM, Intel, Red Hat, and
SGI. Additional contributions were provided by a variety of
individuals.
...
In general, this document is written as a generic
specification, to be usable by C++ implementations on a
variety of architectures.
http://refspecs.linux-foundation.org/cxxabi-1.83.html