Date: 2007-02-12 08:00 pm (UTC)
Я частично соглашусь, и частично возражу. Да, это не средство реализации полиморфизма вообще, но это средство, позволяющее делать вывод типов. Можешь называть это статическим контролем - но таков уж язык джава; я не знаю, во что бы его превратили программисты-практики, если бы не было статического контроля. Мы вот тут перекатываем некоторое количество софта с пайтона на джаву - не потому, что джава лучше пайтона, а потому, что на джаве "за программистом контроль имеется". Меньше шансов увековечить бред. Дженерики как раз мешают строить коллекции из разнородных элементов, с последующей "проверкой типа".

Недавно у меня была дискуссия с человеком, который хотел изготовить что-то вроде следующего:
class SingletonCache {
  T get(class<T> cls) {
  ...
  }
}

ну конечно, он исхитрился такой класс изготовить, но... но слава богу, что обычная публика предпочитает легкие пути.

А уровень, на который дженерики выводят джаву - это более упорядоченный образ мышления программиста, когда он начинает где-то мыслить не циклами и присваиваниями, а в терминах коллекций. Конечно, не сравнить с эффектом темплейтов в си++; без них язык, в голове программиста, вообще состоял из битов и байтов - да таблиц "виртуальных функций". Но сишные темплейты, хоть им сто лет уже, всё равно, имхо, остаются чуждыми языку, экзотической надстройкой. А в джаве и коллекции и дженерики вписались только так. Дай бы бог ещё Гафтеру протащить closures (что маловероятно), тогда бы вообще можно было не тужить джавщикам, что переучиваться придется.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

juan_gandhi: (Default)
Juan-Carlos Gandhi

May 2025

S M T W T F S
    1 2 3
456 7 8 9 10
11 121314151617
181920 21 222324
25 262728 2930 31

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 1st, 2025 02:28 pm
Powered by Dreamwidth Studios