I am looking to build a desktop computer which will be used for programming and for gaming. With this in mind I am planning to make a computer that has a very good motherboard which can have additional or upgraded components at a later date. So essentially I want a future-proof machine that can...