I used linuxcnc with a parallel port and PMDX340 driver box for several years. Mach3 is really long in the tooth, a 32 bit Windows7 machine is the last standard build setup that works well with Mach3. Yes, there are many patches and workarounds, some have it running on Win10 64 bit. I wouldn't buy a new Mach3 license these days, too much bubble gum needed to hold it all together post Win7 32 bit for my taste. I don't mind saying hope this works about my design or feeds and speeds, but having to hope the machine itself is predictable isn't something I want. I can screw up fine without random bits of help!
These days I'm using Mach4 with PMDX step generators. The Sherline mill is run with a PMDX 411 dongle type step generator and a PMDX 340 driver box. Very stable and satisfactory. I'm also using a chassis mount PMDX step generator to drive the motion controller for my G0704, just using 5A stepper drivers.
I wanted the conversational modes offered by Mach as most of the work I was doing at the time was quick little bits or lengthy gear cutting jobs to support a clock restoration business. Simplicity and stability was my goal, a machine that needs babysitting for hour+ jobs was useless to me, there were other profitable things to do. It was also nice for me to have the entire software chain on a single machine, which made Windows the OS for that machine. Lathe support with conversational modes was wanted, as none of my CAM software speaks lathe, 4 axis yes, 2 axis lathe - no. The upside it it lets me keep my primary office machine on linux. Always compromises to be made.
If you prefer linuxcnc, buying a Mesa card will cost less than most of the step generators for Mach. Ethernet seems preferred over USB these days by the hardcore linuxcnc folks. I have to say linuxcnc was always rock solid once configured, if building a machine to just plop in a USB stick and hit go it would likely be my choice.
Don't overlook uccnc either, over the years at nerdfests I've heard many people say they like it.
Just to horrify the real cnc folks, gRbl is really advancing nicely too, I'm running several routers with it and have been very impressed with it's performance and stability. There are turnkey ESP32 based controllers with 3+ amp/phase drivers for around $200 out there. Lot's of routers out there doing 200+ IPM on gRbl. It's not a comprehensive full feature motion control app like linuxcnc, Centroid, or Mach, but I'm pretty sure it would handle just about everything I've needed to do over the years in the 3 axis world. The router world has really accelerated hardware and software development. Even has 4 axis finally, it will be interesting to lash up a few tests and see how gear cutting on a 4 axis gRbl machine plays out.