I'll offer a different perspective. If (and this the significant qualification here) - you're just looking to generate steps to a stepper/servo driver to generate dumb motion on an axis, then an Arduino (read: robust microcontroller devices, conveniently packaged onto a cheap accessible board) can be a simple and cost effective solution, and with a boot time of less than a second through the boot loader you don't have to worry with the vagaries of Windows or Linux. But, go anymore complicated (and I'll include the GRBL projects) and they will run out of steam quickly.

Full CNC - use a full-fat controller (inc. Windows/Linux). Pulse-trains, a programmable microcontroller is viable.