Некоторые люди говорят, что каждый язык программирования имеет свой "бюджет сложности", который он может использовать для достижения своей цели. Но если бюджет сложности исчерпан, все незначительные изменения становятся все более сложными и трудными для реализации с обратной совместимостью.
После чтения текущего предварительного синтаксиса для лямбда (≙ Лямбда-выражения, прозрачность исключений, методы защитника и ссылки на методы) с августа 2010 года. Интересно, люди в Oracle полностью игнорировали бюджет сложности Java при рассмотрении таких изменений.
Это те вопросы, о которых я думаю - некоторые из них больше касаются дизайна языка в целом:
- Являются ли предлагаемые дополнения сопоставимыми по сложности подходам к другим языкам?
- Можно ли вообще добавлять такие дополнения к языку и защищать разработчика от сложности реализации?
- Являются ли эти дополнения признаком достижения конца эволюции Java-как-языка или это ожидается при смене языка с огромной историей?
- Если в этот момент эволюции языка используются другие языки, совершенно другой подход?
Спасибо!