My 2 cents : if you are a guitarist, and want to dramatically improve your playing, take drum lessons.
It might seem surprising, but after one month you won't play guitar the same way. At all.
The idea is to litterally add another dimension to your playing style.
Piano or another "harmonic" instrument won't make so much different. Additionally, I don't know if you are playing the classical guitar, but piano is definitely a symetrical instrument somehow, which is not necessarily a direction in which you want to go forward when playing such a disymetrical instruemnt as the guitar.
What will drumming lessons bring to you ?
You will become sensitive to rythm. Very sensitive. Much more sensitive than with all the "studies" you may go through and which are purely intended at improving your guitar playing.
You will realize the essential role of dynamics. You can play a whole piece of music with only one snare drum. By varying rythm, notes intensity, and the exact place where you hit them, you create a variety that feeds the piece you are playing. Always the same note.
Good luck !
(P.S. : try to learn on a real drumset, not an electronic one. They have a much lower dynamics amplitude)
EDIT:
Just saw you were a programmer. An analogy would be that you will make a bigger conceptual leap, as a C++ programmer, by diving into LISP, than by learning Java, which is quite similar and won't teach you how to think differently.