Neal Gafter em Evoluindo a linguagem Java
Neal começa sua apresentação, na questão original, "o que é evoluir uma linguagem matura?" para, "o que é evoluir uma linguagem amplamente em produção?" A última questão expõe as verdadeiras questões envolvidas, o qual inclui:
- Compatibilidade comportamental com API existente;
- Escolhendo princípios de design apropriados que influenciam a escolha de novas funcionalidades;
- Examinar da melhor maneira de modificar, extender ou adicionar funcionalidades, e
- Manter em mente metas de longo prazo para que melhorias imediatas não prejudique alcançar esses objetivos.
Duas características de pequenos e imediatos objetivos de design discutidos por Gafter inclui: Regularizar a linguagem existente e aumentar a modularidade. Na primeira categoria, questões como fixar a inferência de tipos, operador limitado ao sobrescrever, e clausuras catch melhoradas onde for possível notar. Detalhes e exemplos são apresentados e discutidos. A apresentação conclui com uma discussão de específicos objetivos de longo prazo para extenções futuras e melhorias para Java.
Veja Neal Gafter em Evoluindo a Linguagem Java para detalhes.