Modern DCC decoders are complicated beasts to program. The simple idea of "put the address in CV01" doesn't cope well when you program complicated functions using combinations of bit patterns.
The DecoderPro symbolic programmer is meant to improve this. It is configured using text files, so that it can be adapted to additional decoder types easily. It talks to the decoders using the JMRI programming interface, so that it can run on any computer and layout hardware that JMRI has been ported to. It's freely available for download. And since the code is available via open source, if you want to improve on it you can.