THAC0 is just basically one step ahead of BAB calculations. When rolling 1D20 to hit do you want your target number to be higher or lower? (the answer is lower, assuming you want to hit). That's all THAC0 is, the target number you need to hit armour class 0. As Cubey mentioned, the real problem was with imprecise bonus/penalty nomenclature, which sometimes had to be guessed from context (Hmm, Berserk Rage = +2 to hit and +1 armour class...?)
Roll 1d20, add the armour class of the target, if it's equal or higher than the attacker's THAC0, it is a hit. Very simple stuff.