I would make it using c++, especially with the JUCE library that takes away a lot of the pain of dealing with MIDI devices.
If you're not that into c++, Processing is very beginner friendly and has good MIDI libs as well.
If you want a more GUI based approach, a lot of people swear by Bomes. Personally, I'm not a fan, but I guess it does what it needs to do.
A newcomer on the tinkerer area is RD/Showcockpit. I don't have any experience with it, but it looks very user friendly and customisable.