I knew basic, fortran and pascal and picked up PHP just by looking at the code and trying (although I'm just a basic programmer, not anything fancy! I'm very much a trial and error coder.). For vBulletin, I'd suggest downloading a modification that does something interesting to you and then see how it works. Then tweak it to do something a bit different and see if you can understand how to do that.