However, Python's standard library is stuck with urllib, although these days they have the courtesy to tell any poor fool looking at the documentation that Requests exists, if you do use the standard library you get very primitive HTTPS handling, and so many wrong defaults.
Because these standard libraries have so many users, Hyrum's law means that you have to work very hard to fix anything.
This, of course, causes everyone to roll their own String, which is probably almost as bad.
So, now we have a zillion String libraries, all of which suck.
All because the C++ standard library doesn't provide a decent String.
If you look for example at other implementations like fbstring, the main benefit is performance.
The containers according to [1] are array, vector, deque, forward_list, list, *set, *map, stack, queue and priority_queue. All of these are good general implementations that can and should be used for most C++ software.
Some classes of software require better performance or certain special guarantees and then it makes sense to consider specialized implementations.
Added up with "And when your project scales, Replace asyncio with uvloop, Coroutine with gevent, http.server with gunicorn and everything else with a cython based alternative".
Or personally I just say 'Use go instead' to someone who's just getting into programming for developing a project which could potentially scale.
I agree that the python standard library is really useful.
unfortunately, some of the libs put performance first over ease-of-use. which can be a drag.
and then there is compiling boost which is usually a thing where i need to set aside a day or two to get it working on a new platform / project.
So here are some facts:
* A good reference for the C++ standard library is https://en.cppreference.com
* The standard library is not as large as .NET or Java, but it covers many essential concepts of which the containers and algorithms are the best known. Besides classics like doubly-linked lists, dynamic arrays (std::vector) or maps, there's also sets, a singly-linked list, stack, queue and priority queue. All data structures have complexity guarantees defined in the C++ standard, which is surprisingly very rare for programming languages.
* The algorithms include sorting and searching but don't stop for example at a simple sort and instead also include a partial and stable sort. Besides binary search and linear search, there's also functions like https://en.cppreference.com/w/cpp/algorithm/lower_bound or https://en.cppreference.com/w/cpp/algorithm/equal_range and several functions for working with heaps, such as make_heap, push_heap, etc. Other interesting algorithms include those for permutations, counting, working with ranges and modifier functions like rotate, sample or random_shuffle. C++ offers a world-class algorithms library.
* The numeric library offers support for many pseudo-random number generation algorithms, and many distributions (https://en.cppreference.com/w/cpp/numeric/random). There are dozens of usual (https://en.cppreference.com/w/cpp/numeric/math) and less usual (https://en.cppreference.com/w/cpp/numeric/special_functions) mathematical functions in there.
* For systems programming there's the date and time utilities, file system, threads and atomics.
* Although standard for most languages at this point, C++ does offer regular expression support in the standard library.
* Many other smaller types and functions such as tuples, complex numbers, a modern union type (std::variant), streams, etc.
When the above is not enough, there's boost, a series of high-quality libraries with a long history which are like an extension of the standard library. My personal favorites from boost include state machines, graphs, numeric conversions, logging, program options, signals (subject-observer implementation) and ASIO for all sorts of IO.
But there's tons of stuff in there, from additional algorithms and containers to JSON parsers to HTTP and web sockets, from process and shared object management to userland threads, IPC, lockfree data structures and so on and so forth.
And if that's still not enough, there's almost certainly another library for it. C++ is one of the most popular programming languages out there and it has decades of history behind it.