Parece ser ortodoxia Java neste momento que basicamente nunca se deve usar campos públicos para o estado do objeto. (Não concordo necessariamente, mas isso não é relevante para a minha pergunta.) Dado isso, seria correto dizer que de onde estamos hoje, é claro que os campos públicos de Java foram um erro / falha do design da linguagem? Ou existe um argumento racional de que eles são uma parte útil e importante da linguagem, até hoje?
Obrigado!
Atualização: conheço as abordagens mais elegantes, como em C #, Python, Groovy etc. Não estou procurando diretamente esses exemplos. Estou realmente me perguntando se ainda há alguém no fundo de um bunker, murmurando sobre como os campos públicos são realmente maravilhosos e como as massas são todas apenas ovelhas, etc.
Atualização 2: Campos públicos finais claramente estáticos são a maneira padrão de criar constantes públicas. Eu estava me referindo mais ao uso de campos públicos para o estado do objeto (mesmo estado imutável). Estou pensando que parece uma falha de design que se deva usar campos públicos para constantes, mas não para o estado ... as regras de uma linguagem devem ser aplicadas naturalmente, pela sintaxe, não pelas diretrizes.