* C declarations (experts can get into flamewars discussing good ways of reading C declarations)
* C (and worse C++) keyword overloading
* C strings
* Most of C++ (i.e. most of C++ - C)
* Most Java libraries
* Objective C's declarations (which at least have gotten markedly better recently)
* Perl's variable prefixes and subroutine declarations (even if you don't mind Perl's other quirks)
* semantic whitespace in languages with semantic whitespace
* PHP -- which I find useful and perfectly capable of supporting large projects -- is hilariously awful.