I have been working on a comprehensive programming language taxonomy. (Warning - the linked file is produced automatical by MS Visio, and uses VML). It is rather more complex than most, as it is attempting ot use proper taxonomic science to produce a single termset.
I have a top four-level polychotomous key here (Again, it is prepared with Excel and Word, so it has MS Office features. YHBW).
Of course, it could be said that all hierarchical terminological systems are bound to present some instances where there are more than one appropriate category. This is especially the case for languages that have been designed to be multiparadigmatic, such at Budd's Leda or the Poplog system. However, for the most part, it has proven to be very successful in making distinctions.
I am currently working on a dichotomous key to help languages get identified; thet is still experimental, but the keyset is here. (again a warning - the keyset is automatically produced by MS Excel, and looks is best in IE)
I also have a rudimentary family tree linking them all, but it is so unfathomably huge (9m x 6m) I don't quite know how to present it. Version 1 with randomly-coloured nodes is here. Version 2 with country-coloured nodes is here Moreover the type of computer language-trees that are normally seen in such circumstances are in no way accurate maps: nothing less than a 9-tuple can show the complexity of computer language inheritance. However, the record for each language will show the relationships in a navigable format. Please be patient when downloading them as even the small ones take a while to create.