People say that languages with headers are things from the past, but I still think that they are really useful. As I said before, we don't have to make a distinction between code in our projects and external people using our code. A class has to be it's own wall.

Maybe writing headers is a thing from the past, maybe the future is in headers generated on-the-fly as Tim suggest.