... B>>3. Есть мощное API для получения информации о типе во время исполнения (Reflection), к тому же усиленное введением в Java 5 аннотаций. С учетом возможностей по кодогенерации и созданию новых типов во время исполения программы, может сильно экономить время на написание кода.
F>А можно пример когда этот Reflection пригодился бы, и получилось что-то такое, что нельзя на конкурирующих языках?
В одном из проектов мы применили Reflection для динамического создания объектов. Исходной информацией является XML, результатом — готовый объект, созданный на лету.
Собственно код Reflection занимает строк 10.
Сделано это было давно, однако на протяжении многих лет список "рефлектуемых" классов увеличился во много раз и это без каких либо изменений в методе "рефлектующем" классы!
Не уверен, что это можно сделать только на Java, но сомневаюсь, что это можно сделать также легко на других языках.