The hardest things in CS are also the simplest things:<p>* Strings (think Unicode, collations, string sizes, etc)<p>* Numbers (think currencies, precision, explaining floats to people, etc)<p>* Dates (as mentioned in the post)<p>And it's funny that we start teaching programming with these concepts.