Date: 2010-02-12 08:57 am (UTC)
> Ну давайте почитаем различия между ними.

Ещё раз:

>> по приведённой вами ссылке указаны НЕКОТОРЫЕ (но не все) отличия темплейтов от дженериков.

Поэтому этой статьёй можете хоть обчитаться.

> Это значит, что на очень большом числе архитектур генерики C# работать не будут вообще.

Гм. Учитывая, что C# работает на, по сути, ОДНОЙ архитектуре (.NET)...

> Если типов нет в языке, это не значит, что их нет вообще.

И откуда тогда В ЯЗЫКЕ возьмутся полиморфные типы?

> Кстати, конструкторов в этой таблице нет и поэтому нельзя вызвать конструктор для параметризованного типа.

В шарпе можно.

> Таким образом, генерик-функция работает фактически с одним типом -- void * с пришпиленными таблицами , по которым процессор может найти нужные ООП функции.

Это всё - исключительно детали реализации, которые никого не ебут. Вопрос не в том, что там происходит в бинарнике, вопрос в том, какие возможности у ЯЗЫКА.

> Следствие -- что генерики в Java бесполезны без ООП.

Что вы разумеете под "ООП", в данном случае? На самом деле, я полагаю, что жаба без наследования (но с реализацией интерфейсов) и с дженериками была бы весьма полезной штукой.

> Имеющий практического смысла меньше, чем ray-tracer в compile-time.

А вы что хотели от примера?

>> Вы спросили про продакшен. Мне лично представляется, что продакшен-код в подавляющем большинстве случаев содержит ОЧЕНЬ много строк.
> Особенно если это индусский или китайский код.

Может быть, покажете продакшен-код, умещающийся в один ЖЖ-шный постинг?

> вбиваем sum(i=0..n-1,(2*i+1)*i*i)
> После чего пишем в код обширный комментарий, проверку и строку, которая вычисляет нужное за O(1)
> if(n<0) throw чего-то там;
> return (n-1)*n*(3*n*n-n-1)/6;

Вы, надеюсь, понимаете, что мне не составит абсолютно никакого труда заполнять массив не заранее известными числами, а вводимыми пользователем? И будет при этом то же самое.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting