TL;DR: Ryzen, unless you plan on never, ever touching this computer after building it.
Let's take a quick look at the advantages/disadvantages:
Ryzen | FX
Performance | Performance/$
Platform | Platform cost
Upgrade path |
While I'm having some trouble understanding exactly what your workload is (terms like "virtualization" and "programming" encompass a wide range of things) and how much processing power that requires, you've indicated that your FX-6300 was adequate for these tasks.
Based on the tasks you've listed, it seems that most of the applications you're running are either multithreaded or simply don't require that much processing power. As such, we can take a look at the multi-threaded benchmarks for the FX 6300 in comparison to Ryzen to get an idea of processing power:
CPU | Passmark | Passmark/$
FX-6300 | 6370 | 92.33
FX-8350 | 8946 | 81.33
Ryzen 3 1200 | 6784 | 61.81
Ryzen 3 1300X | 7376 | 57.19
Ryzen 5 1400 | 8447 | 54.50
Even the lowest of the low for Ryzen should be more than enough for your workload by this metric. It is worth noting that the entry level Ryzens (1200 and 1300X) do not have SMT; if you plan on running a workload that requires more than 4 cores (e.g. a host OS and >3 VMs), you should probably consider getting a better CPU. Ryzen offers these quite easily though.
Because of the availability of FX series CPUs–even new still–FX still takes the cake for performance/$.
The AM3+ platform is terribly old, and lacks many features, some of which would even be considered "standard" today: SATA 3, USB-C/3.1, and (gasp) RGB. At the same time, AM3+ only supports 22-38 PCI-e 2.0 lanes (depending on chipset), whereas AM4 24-32 PCI-e 3.0 lanes (depending on chipset.) AM3+ also lacks M.2.
Because of the availability of (especially used) hardware, AM3+ is still a slightly cheaper platform than AM4. With that said, the difference is relatively small. The real value comes in memory: DDR3 prices are fine now, while DDR4 is stupid high (roughly double the cost) due to DRAM shortages.
While FX CPUs are still available new in large quantities, the availability of AM3+ motherboards has dropped heavily. If you want an AM3+ motherboard, you'll either have to pay too much or buy used.
The FX platform really has no upgrade path to speak of–once you get the FX-8350, it's not really worth the money to go anything higher Meanwhile, on the Ryzen platform you can just keep going up to a Ryzen 7 1800X–over 2x the power of a Ryzen 3 1200.
No. For multithreaded workloads, Ryzen currently has the $/performance on the medium-low end.