I'm currently using a Mac Mini (mid-2011 version bought used on eBay) for my design computer in the shop. The nice thing about this computer is that it's small, it's inexpensive, and it doesn't get hot (so I can hide it away from exposure to sawdust). It has adequate CPU power for the design function.
It's best to use a separate computer for the design function. When LinuxCNC is running, it will often use close to 100% of the CPU power. So you don't want to be doing design while the LinuxCNC is running on the same machine. Also, the small Atom-based computer I'm using to run LinuxCNC doesn't have sufficient compute power for the design and 3D rendering. You'll want to have at least 8GB of RAM on the design computer. Any old router will do the job of connecting the design computer with the LinuxCNC computer.
I'm currently using OSX10.13 (High Sierra) and Java8. Java was chosen as the preferred language for the software because it's one of the most portable languages and will run on almost any computer.