Which PC parts would be optimal for programming & development?

I'm trying to build my first ever custom PC. I'm building it for programming specially. I'm also building this machine for casual gaming in my free time. I have collected almost entire computer parts online except GPU and Processor. I want your recommendation which one would be the best.