Now what I was wondering is - which programming tools are essential to install (I always do a custom install) so that I will not have any issues when I need to compile other programs - but at the same time - I only want to install the barebones for the programming tools.
You can't really install "barebones" programming tools without knowing exactly what you're going to compile. If you're going to compile stuff, just install the development packages and don't worry about it. A couple hundred megs of disk is probably not worth the time and effort later to track down the bits you need and install them after the fact.