5 ms·
Once in my careerer I was already tasked with stripping a C project from a Python based building system (SCons, IIRC) because it was damn slow, buggy, and prob
by dpc_pw 11y ago
Once in my careerer I was already tasked with stripping a C project from a Python based building system (SCons, IIRC) because it was damn slow, buggy, and problems with Python and SCons were more severe than with a C codebase itself. I replaced it with kbuild, and it still works nicely in production even today.
I'm hesitant getting anything Python-related next to my C codebase, and IMO, C-people are generally not very enthusiastic about Python. Once the time comes, that something custom needs to be done in the building system, dealing with Python syntax, completely new abstractions, etc. is just more pain than using established solutions that everyone are familiar with (make, autotools, CMake).
Maybe Python 3 ecosystem (things like packaging etc.) does not suck as much as Python 2 (though I'd bet it still does), and maybe Meson is really great, but on top of my Python-implementation reservations, I also don't see much of a point: the billions of C legacy code will not be ported to a new building system, a there should be not that much new projects in raw C anyway, with languages like Go, Rust, D showing clear road ahead, baking their own solutions for common building system issues. Projects like "tup" have much more appeal to my C-developer nature, but then again, I didn't have opportunity to employ tup anywhere, as nowadays I write every new project in Rust.
Than again, it's just my personal opinion, and I guess somewhere, some people could find it really fitting their needs.
- pekk 11y agoDo you have more to say here than that you hate Python and its syntax, and you think that C people will never use anything which involves Python? Python was written in C, by C people.
- metaobject 11y agoI write and work on several different C-based and C++-based projects. For the last 2 projects I decided to use scons. I find scons much easier to work with than other build tools that I've used. Our projects aren't huge (30k - 50k LOC), so perhaps we just haven't reached some threshold at which scons gets bogged down. I'm curious about the bugs you encountered in scons. It's been very stable and hassle-free for us.
- felipellrocha 11y agoThe tool might built in Python, but it doesn't really expose the python api to the user, which (among other things) makes for super clean build files. It's also very fast since it uses Ninja for the actual build phase.
- dpc_pw 11y agoAh, Ok. Thanks for clarification.
- felipellrocha 11y agoYeah, no problem. Here's a great video that gives an overview of the tool: https://www.youtube.com/watch?v=KPi0AuVpxLI https://www.youtube.com/watch?v=KPi0AuVpxLI.