Hacker News new | ask | show | jobs
by account4mypc 1892 days ago
I don't think it's really as bad as this...

> Waiting for Cross-Platform standardized SIMD vector datatypes

We sort of have this? compiler loop vectorization is, effectively, this. Granted it's not standardized.

> nonstandard extensions ... to run computations in parallel on many cores

std::thread?

> Debugging cross-platform code using couts, cerrs and printfs

True, but i think this is not the language's fault. C/C++ debugging tools are great (the best?).

Debugging any sort of meta-programming is a mess; would definitely agree w/ that. hopefully concepts will help.

> Forced to use boost for even quite elementary operations on std::strings.

This one i agree with.

2 comments

IMO, you need to raise your expectations.

> > Waiting for Cross-Platform standardized SIMD vector datatypes

> We sort of have this? compiler loop vectorization is, effectively, this. Granted it's not standardized.

Auto-vectorization isn't remotely capable of what an engineer is capable of doing through intrinsics.

> > nonstandard extensions ... to run computations in parallel on many cores

> std::thread?

Compare that to the capabilities provided by Thread Building Blocks.

TBB is a great C++ library, but it seems like the existence of great C++ libraries should a point in favour of C++, not a point against it.
So... You're arguing against it by pointing out an excellent library for the language? Was someone forcing you to use std::thread? Of course it won't have as many features as tbb; it's meant to help pthreads users.
Not exactly. I am reminded of n3557. The ability to write a library like TBB is a positive. But much richer libraries are just barely over the ridge. std::thread is not much more interesting than the abstractions provided by Boost in the early 00's.

http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2013/n355...

Part of the job of the library is to be boring. It's the reason third party libraries exist in the first place. They give you the basic starting points to get the job done.

Look how many people are complaining on here about how complicated c++ is. If something like tbb was integrated they would be all over it.

> std::thread?

They probably meant something more declarative, along the lines of OpenMP.

https://en.cppreference.com/w/cpp/algorithm/execution_policy...

Most STL algorithms can be executed in parallel from C++17.

so... openmp?

It is standardized and widely implemented, just not part of the C++ standard itself.