История изменений
Исправление ya-betmen, (текущая версия) :
Нормальные generics
Не знаю для чего они с шарпе, но в джаве дженерики совершенно для другого. Применения шарповским я в своё время так и не придумал.
LINQ
Так и не понял нафига оно надо
Что за null-фобия?
Ну первая версия совсем не содержала null. Потом туда прикрутили nullable дженерики. Мне было очень весело когда с одной стороны у меня были int? а с другой int (они не кастяться ни туда ни обратно). Потом стандартные типы постоянно выкидывают всякие эксепшены при попытке работать с null. Например стандартные мапы выкидывали key not found и key is null (или как то так). Т.е. вместо того что б просто вернуть null из мапы если я передал null в качестве ключа, который получил из какого-нить метода, мне приходилось заворачивать всё в if'ы. Сложилось стойкое впечатление что делали так, чтоб NPE никогда не вылетел, в результате наплодили кучу маразма.
С такой логикой можно и на C сидеть 40 лет.
Что характерно, сидят.
Исходная версия ya-betmen, :
Нормальные generics
Не знаю для чего они с шарпе, но в джаве дженерики совершенно для другого. Применения шарповским я в своё время так и не придумал.
LINQ
Так и не понял нафига оно надо
Что за null-фобия?
Ну первая версия совсем не содержала null. Потом туда прикрутили nullable дженерики. Мне было очень весело когда с одной стороны у меня были int? а с другой int. Потом стандартные типы постоянно выкидывают всякие эксепшены при попытке работать с null. Например стандартные мапы выкидывали key not found и key is null (или как то так). Т.е. вместо того что б просто вернуть null из мапы если я передал null в качестве ключа, который получил из какого-нить метода, мне приходилось заворачивать всё в if'ы. Сложилось стойкое впечатление что делали так, чтоб NPE никогда не вылетел, в результате наплодили кучу маразма.
С такой логикой можно и на C сидеть 40 лет.
Что характерно, сидят.