Boost logo

Boost :

From: William Linkmeyer (wlink10_at_[hidden])
Date: 2022-04-25 15:40:31


I’m going to try to refocus this thread, because I think this thread could be important, with a question:

What is the simplest, most relevant library or feature — or library improvement — that C++ or Boost is missing?

Some options, previously stated, include:
* graphics APIs
* scientific computing APIs
* language interoperability (esp. Python)
* HFT APIs
* Syntax simplicity
* machine learning APIs

Personally, I have a quite large IOT framework which could be made open-source or eventually merged into boost. However, it would require a lot of refactoring and rethinking. It is much more of a standalone system or an orchestration of discrete tools than a library. And it’s only roughly 1/3 comprised of C++; the rest being kernel modules, shell scripts and bind9/dnsmasq/netconf/rc/etc hooks.

In other words, if the interest is there, I could sit down for a few months and turn this into a library. Although, I have no idea *what* boost is looking for or what may be helpful.

WL

> On Apr 25, 2022, at 5:08 AM, Hans Dembinski via Boost <boost_at_[hidden]> wrote:
>
> 
>> On 20. Apr 2022, at 17:02, Timothy Keitt via Boost <boost_at_[hidden]> wrote:
>>
>> I'm just a hobbyist (I use C++ wrapped in R for my research and
>> exploration) but my dream is something like julia (https://julialang.org/)
>> but with modern C++ syntax. I have really enjoyed the recent
>> metaprogramming additions to C++ and would love to have that in an
>> interactive environment with incremental jit. (I know this can be kind of
>> done now but its not like using R Studio or other nice user platforms.)
>> BTW, C++ is found in high performance scientific computing, but not as
>> often as Fortran and C.
>
> This is getting off-topic, but let me comment as a fellow data scientist and Boost developer...
>
> Julia was created for your use case, so I am not sure what you don't like about it (I never looked into Julia). I personally find less need to write C++ code nowadays, since my preferred language Python has the Numba JIT compiler, which produces very fast numerical code. In the past, I was writing C++ to accelerate the crunchy bits. As Stefan said, Boost.Python is great when you need to combine C++ and Python, although its clone pybind11 is more popular these days and has more features. The niche for C++ in my view is large high-performance applications with nice high-level APIs and close-to-the-metal implementations. But also numerical libraries like Eigen make very good use of these capabilities.
>
> "modern C++ syntax": It is interesting that you say that, because many people think that C++ has a rather inconsistent and archaic syntax because of all the compromises one has to make in regard to backward compatibility.
>
> "C++ is found in high performance scientific computing, but not as often as Fortran and C."
> Old specialised numerical libraries are not replaced. SciPy and many other libs are still using FORTRAN and C implementations written in the 80'ies. They work and the bugs have been ironed out, plus, the code often is a horrible mess (goto's everywhere) that you cannot easily port to a modern language. Scientists, which are not programmers, are also often turned off by the complexity of C++. They don't need the type system very much, which is a strength of C++ but also adds a lot to the learning curve.
>
> Why anyone would prefer programming in C over C++ is a mystery to me, though, automatic memory management with std::unique_ptr and friends alone is such a boon. The C++ interface provided by Boost.Python and pybind11 is much easier to use than the original Python C API exactly for that reason.
>
> Best regards,
> Hans
>
> _______________________________________________
> 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