Camel-case makes for more readable naming conventions in large programs - eg. significant lower-case prefixes like eFoo, eBar, eZot, sFoo, sBar, sZot. That's a separate issue from whether or not to enforce such distinctions with case-sensitive compilation: there are strong arguments for and against. Either way, a smart IDE ought to warn about variable accesses that differ only in case.