Интересуют ссылки на ресурсы, где рассматриваются Generic Types и их необходимость. Особено интересно понять как это соотносится с ОО-программированием: дополняет, отменяет :) или то же самое но другими словами.
Насколько я сам сейчас понимаю: Generic Types это хороший способ писать некий мета-код, который в процессе компиляции генерерирет код с конкретным типом, который в свою очередь позволяет выполнить оптимизиацию кода на стадии компиляции.
Но вроде как, та же универсальность может быть достигнута имея универсальный тип Object и возможость получить от переменной этого типа конкретный интерфейс. Так что основным аргументом является то что так заведомо медленно, а если с Generic Types то компиляторы могут хорошо оптимизировать.
По сути, у меня все свелось к двум вопросам:
— есть ли какое-нить, хотя бы империческое, доказательство того что нельзя построить компилятор, который будет делать то же что и generic types, просто основываясь на коде, в котором используется тип Object и тех интерфейсах к которому переменный типа Оbject приводят
— не являются ли generic types средством решения изночальной кривизны, возможно неизбежной, заложенной в языки программирования (C++, Java, С#): наличие примитивных типов (int, long, String и т.д.) и не примитивных типов, у которых есть интерефейсы и прочие, что не позволяет написать эффективно написать код, который мог бы работать одновременно с переменный из обоих этих групп. Так что, бы интересно узнать про какую-нить теорию насчет примитивных типов, и их необходимости.
Если у кого что-нить есть по subj., или просто есть желание пообсуждать — ПИШИТЕ