Other than price, why the recommendation for the 3900x over 3950x?
One of the main value propositions (for a programmer) of going from a Ryzen 5 or Ryzen 7 to a Ryzen 9 is that you get double the amount of cache (and four times the amount of an Intel Core i9-9900K).
Both the 3900X and the 3950X have that extra cache. Aside from that, the extra 4 cores are going to have diminishing returns for most programmers, and the bump in boost clocks is minimal (though the ability to achieve those clocks with the same TDP as the 3900X is impressive).