[FoRK] C++11 / STL, Re: Raspberry Pi + Qt5 + OpenGL = awesome
sdw at lig.net
Fri Apr 12 14:54:01 PDT 2013
On 4/12/13 1:54 PM, J. Andrew Rogers wrote:
> On Apr 12, 2013, at 10:57 AM, Stephen Williams <sdw at lig.net> wrote:
>>> STL is still broken for some common C++11 tool chains. GCC 4.8, for example.
>> Since STL is effectively part of the language now, C++11 conformance includes STL. Perhaps you mean that stand lone STL distributions won't work on C++11?
> No, I mean GCC 4.8 does not conform to C++11 and won't until GCC 4.9 at the earliest. We use GCC and C++11 at work. The STL implementation provided with the latest GCC is broken in significant ways. While we do not use STL much because the result tends to have poor performance, we use it even less because the STL is broken in cases where we would normally use it.
Too slow even with move semantics rewrite?
> We have our own pure C++11 implementations of things most programmers would use the STL for but we usually tried to use the STL first.
Do you remember a specific example?
Why not fix the GNU libc++ STL instead of starting over?
>> I haven't seen the need so far since it is part of the C++ library now, as far as I've needed. There seems to be a good flow of Boost -> C++ library, although I'm not sure how that will work now that C++11 has adopted modified versions of STL + Boost.
> You are unlikely to notice the defects and non-conformance unless you are doing something performance sensitive. The basic, vanilla STL calls and constructs most programmers use work adequately. Not fast but not broken.
Most apps are not really performance sensitive when using those data structures, at least not sensitive beyond using the right
type (hashmap, tree, etc.).
>>> As another observation, POSIX interfaces become less useful every year. In many cases they no longer adequately capture and expose the functionality and behavior of a modern operating system kernel.
>> If you want that, you probably want something like Qt. The world is now very big compared to Posix. OpenGL, networking of various types, etc.
> Nah, we just use the native Linux interfaces. Much better and cleaner, and without unnecessary threads.
Sure, and if that is your only target, perfect.
More information about the FoRK