|
Boost : |
From: William Linkmeyer (wlink10_at_[hidden])
Date: 2022-04-19 22:28:04
+1
Although, I feel that there should be an *attempt* to make C++ libraries easy enough to use for anything.
(For example, say, use asio & beast for websites. I can dream, okay?)
WL
> On Apr 19, 2022, at 10:42 AM, Vinnie Falco via Boost <boost_at_[hidden]> wrote:
>
> It might be interesting to think about where C++ and Boost will be in
> the next 20 years and in the next 50 years. There has been an
> explosion of research and development into new programming languages
> (Rust being the most visible example). C++ is hardly the most popular
> language (Python is, if the TIOBE index is to be believed). But C++ is
> an essential language because it occupies the unique position of being
> as close as possible to assembly language while remaining high level.
> The zero-cost abstractions, metaprogramming, and powerful
> compositional tools of C++ still have no competitors and they are
> unlikely to have them any time soon.
>
> This doesn't necessarily mean that C++ is good for everything; there's
> an opportunity cost for all this. C++ code is generally more complex,
> harder to read, and harder to write than other code. Other languages
> are much better suited for certain tasks. No one should be
> implementing a content-driven website using Asio and Beast for
> example. But for the things that C++ is good at, it excels at them. A
> recent reddit post [1] provided a decent list::
>
> * games
> * databases
> * high frequency trading
> * search (Google/Bing/DuckDuckGo)
> * web browsers (Chrome/Safari/Edge)
> * virtual reality headsets (Facebook)
> * distributed systems at big tech companies (Google/Microsoft/Facebook)
> * low level libraries (machine learning libraries like tensorflow and pytorch)
> * compilers, virtual machines, interpreters (JVM/gcc/LLVM)
> * robotics & hardware (ex: self driving cars, planes, missiles, space
> ships, etc)
>
> My opinion is that wg21 (the C++ standards committee) has been growing
> increasingly out of touch with the needs of the larger C++ community.
> Not necessarily out of malice, but because the bureaucratic process of
> the committee does not align the incentives of its members with users.
> I predict that we will see the C++ standard library become
> increasingly irrelevant by not only failing to produce stable things
> that people want, but also by not even keeping up feature-wise with
> the library ecosystem of other languages. Where is Requests [2] for
> C++? Python has had this for over a decade.
>
> In case you think I'm exaggerating, look at this comment from Reddit:
>
> ...a major vendor is getting ready to release a product that does
> not allow user applications to directly access TCP sockets so
> the only way to get any network access is to go through their
> standard library which only supports backdoored HTTPS.
>
> This vendor of course is Apple, as can be seen in P1860R0 [4]. We
> should not expect that wg21 will be able to deliver an important
> feature such as networking in a form that will be usable or
> recognizable to non-committee members.
>
> What does this mean for C++ and Boost? I believe there is a
> significant opportunity for Boost to step in and become the rational
> collection of actually useful libraries that the C++ standard library
> is not. We already have networking, some protocols, and JSON. We (the
> existing Boost authors and contributors) might consider looking to the
> list above of industries that use C++, and focus our efforts more
> towards providing libraries that enhance those industries. Perhaps by
> reaching out to leaders in those fields we might establish working
> relationships and build, say, the next Boost.Tensorflow or something
> like that. I don't know.
>
> Oh, and add "cryptocurrency" to the list above. C++ is the language of
> blockchain, because performance matters.
>
> What do you think?
>
> Thanks
>
> Vinnie
>
> [1] <https://www.reddit.com/r/cpp/comments/u5vjni/comment/i54qbzq>
>
> [2] <https://docs.python-requests.org/en/latest/>
>
> [3] <https://www.reddit.com/r/cpp/comments/u6z8gr/comment/i5caxr6>
>
> [4] <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1860r0.html>
>
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk