(from a G+ comment that might be of use to somebody some day)
THAC0 (To Hit Armor Class 0) was introduced in an an appendix in the 1st edition Advanced Dungeons and Dragons Dungeon Masters Guide, but didn’t become a staple of D&D until 2nd edition and has been confusing too many people ever since, despite the fact that it’s really quite easy.
Here’s a way of looking at it that sometimes helps people who find THAC0 confusing: THAC0 is your Target Number. Roll your d20, add the critter’s AC and see if you get your Target Number or higher. Functionally it’s exactly the same as rolling a d20 and adding your attack bonus, it’s just that instead of your attack bonus getting higher as you level up, your Target Number gets lower. The part that varies from critter to critter is always the AC, whether you’re adding it to the roll or comparing the roll + your fixed attack bonus to it.
Where it gets confusing is that lazy DMs who want to conceal the AC from the players expect them to announce they hit AC X, forcing them to take their roll and subtract from THAC0, which most people find harder than adding their bonus to the roll and announcing that as the AC they hit. A non-lazy DM who wanted to conceal AC would just have everybody’s THAC0/Attack Bonus written down and then they’d just announce their roll.
Personally, I think DM’s shouldn’t conceal AC, at least not beyond the first round of combat; firstly, AC started as simply a designation for the armor you were wearing: Shield Only was 8, Leather was 7, Leather with a shield was 6, Chainmail was 5, Chainmail with a shield was 4, etc. Dexterity didn’t even figure into it, so if you saw somebody in armor you knew what Armor Class they were, the DM didn’t have anything to conceal. Monsters were just given AC to fit in this scheme. Eventually other factors such as high Dexterity, small or large size, and so forth were figured in, but I don’t think the system was ever suited to the kind of guessing games that concealing the exact AC promotes. It seems to me that even if you believe that it’s logical for the players to not know how fast or what kind of magic the target has that might make it harder or easier to hit than its size and visible armor would indicate, after spending anywhere from six seconds to a minute (depending on edition) locked in combat players ought to have a good sense of what it would take to actually land a telling blow. Moreover, unless you also conceal their die-rolls from them, they’re going to learn the minimum necessary to hit after a few attempts anyway. Finally, if you’re open about the AC you make it easier for the players to make reasonable decisions (always a good thing, IMO) and you can speed up the game by reducing the back-and-forth; it’s more satisfying for the player to be able to declare “I hit” than “I rolled a 14, does that hit?”