I prefer using a binary distro, but I do appreciate when distros provide all the headers and compiler by default, so you can build things.
miniblog.
Related Posts
An incredible 2,200 commit series that organises headers in the Linux kernel and cuts incremental build times in half: https://lwn.net/ml/linux-kernel/YdIfz+LMewetSaEB@gmail.com/
If you use flycheck for programming C/C++, I've released a handy little package to help flycheck discover headers:
If you're creating a new elisp package, legalese: https://github.com/jorgenschaefer/legalese is a great tool. It ensures all your headers are set up correctly.