I don't know why a programmer would limit them self with static data tools when d3 and processing provide beautiful, dynamic, and interactive solutions with a similar learning curve. The only difference is you can use the JavaScript chops you pick up learning d3 in any front end work you do.