News for hackers. Stuff that matters.
Re:Apache Kills Off Its C++ Standard Library by alexberghage on Thursday July 18, 2013 @04:03PM (#6066091)
Yes and yes! So, the C++ standard library differences don't usually bite you unless you're e.g. Building executables on windows with mingw and trying to link against libraries built with visual studio that use STL features at the API, but there are indeed several implementations out there. libstdc++, libc++, and msvcrt are among the more common.

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.

Re:Apache Kills Off Its C++ Standard Library by speeder on Thursday July 18, 2013 @04:19PM (#6066174)
D was another issue entirely.

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...

Re:Apache Kills Off Its C++ Standard Library by xavel on Thursday July 18, 2013 @11:31PM (#6068157)
Oh man, and I'm glad they finally settled for Phobos. I don't use D much, but thanks to gdc, the gcc frontend to dmd, and Phobos, writing D actually became acceptable, almost enjoyable. There's, of course, still the fact that D is not very widely used.
Re:Apache Kills Off Its C++ Standard Library by synchronise on Thursday July 18, 2013 @11:47PM (#6068213)
Has this issue with D been fixed, or do users still have to choose between two incompatible libraries?
Re:Apache Kills Off Its C++ Standard Library by qznc on Friday July 19, 2013 @03:32AM (#6068775)
Fixed with D2.

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/[email protected]...

Re:Apache Kills Off Its C++ Standard Library by ArbitraryLimits on Thursday July 18, 2013 @05:25PM (#6066628)
It seems like C++'s lack of an ABI would bite you way before any issues with libc++. (Or is there one now? I'm getting old.)
Re:Apache Kills Off Its C++ Standard Library by binarycrusader on Thursday July 18, 2013 @08:33PM (#6067561)
C++ has an ABI that almost all vendors actively work towards conformance to called the Itanium C++ ABI (yes, it applies to other architectures too):

  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
Re:Apache Kills Off Its C++ Standard Library by plorkyeran on Thursday July 18, 2013 @05:48PM (#6066778)
In practice all of the compilers have arrived at a common ABI for each platform.
Re:Apache Kills Off Its C++ Standard Library by bstamour on Thursday July 18, 2013 @09:25PM (#6067766)
Technically C doesn't have a standard ABI either. Compilers just tend to use similar symbol names.
Re:Apache Kills Off Its C++ Standard Library by pjmlp on Friday July 19, 2013 @02:56AM (#6068705)
True, what many perceive as the C ABI is actually the OS ABI.

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.

Re:Apache Kills Off Its C++ Standard Library by apaprocki on Friday July 19, 2013 @12:21AM (#6068317)
That isn't true. IBM and Oracle's compiler do not share a compatible ABI with g++ or clang. Oracle is adopting the common ABI in Studio 13 and that's a pretty big deal.