4 ms·
Lovely to see Cling progress so much (see the CUDA+jupyter example on the page), but a major challenge remains: dependencies. It used to be that you had to use
by choppaface 6y ago
Lovely to see Cling progress so much (see the CUDA+jupyter example on the page), but a major challenge remains: dependencies. It used to be that you had to use a forked LLVM just to use Cling, but major kudos they cleaned that up. However for large C++ projects with all sorts of compiler flags, include paths, etc, it’s still a major effort to get stuff running.
An alternative strategy is to wrap your C++ stuff in a library and use pybind11 for lightweight bindings and python-based interactivity. This approach means more glue code, but python has much better data science tooling.
I think Cling will see the greatest opportunity in algo tuning and multi-platform development. That’s a different kind of data science— focused more on benchmarking than consumer problems. I just wish the C++ build tool json ecosystem were friendlier.
- VHRanger 6y agoTo be fair dependency mgmt is a C++ issue in general, so it's not the cling teams fault
- choppaface 6y agoOh yeah sorry I'm not blaming cling at all. It might be easier if cling were completely baked into llvm, but obviously there's a debate to be had about that. I see today you can embed cling[1] which is a lot easier than when you had to use ROOT. Still not the simplest thing though. [1] https://cdn.rawgit.com/root-project/cling/master/www/index.html https://cdn.rawgit.com/root-project/cling/master/www/index.h... See "Embedding Cling"
- beojan 6y agoIn this case its more of an LLVM / no stable ABI issue.