Where Are We Stuck?
I have just realized that I have been thinking about (for at least the past several years) issues around "what are we doing just because we've always done it (and are used to it), and what are we doing because it actually gives us true leverage?" Many of these questions have come up from working with Python, which has a very different perspective on many issues, and so I often find myself surprised about the way something actually works vs. my perspective on it.
For example, how valuable is "private," really? It sounds good on paper, but in practice how often do things really get violated? At some level (such as the whole Windows API being exposed and the repercussions of that) access control becomes important, but perhaps the class level isn't the place for that, because often we end up working around access control when trying to use another class. I don't have the final answer on this -- I'm just asking the question.
I've also questioned the efficacy of checked exceptions in the past (not exceptions themselves, which are a clear win as the single form of error reporting, but the enforcement of checked exceptions). I ask questions like this because my real interest is in how we as programmers, development teams and companies can become more productive.