LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

Не знаю для чего они с шарпе, но в джаве дженерики совершенно для другого. Применения шарповским я в своё время так и не придумал.

Для другого это для чего? new T() даже нельзя написать. Приходится Class<T> прокидывать доп-параметром только из-за того, что генерики убогие.

LINQ

Так и не понял нафига оно надо

Для удобной работы с БД.

Что за null-фобия?

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

Понятно, спасибо.

С такой логикой можно и на C сидеть 40 лет.

Что характерно, сидят.

Но это уже другая история.

Исправление Legioner, :

Не знаю для чего они с шарпе, но в джаве дженерики совершенно для другого. Применения шарповским я в своё время так и не придумал.

Для другого это для чего? new T() даже нельзя написать. Приходится Class<T> прокидывать доп-параметром только из-за того, что генерики убогие.

LINQ

Так и не понял нафига оно надо

Для удобной работы с БД.

Что за null-фобия?

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

Понятно.

С такой логикой можно и на C сидеть 40 лет.

Что характерно, сидят.

Но это уже другая история.

Исходная версия Legioner, :

Не знаю для чего они с шарпе, но в джаве дженерики совершенно для другого. Применения шарповским я в своё время так и не придумал.

Для другого это для чего? new T() даже нельзя написать.

LINQ

Так и не понял нафига оно надо

Для удобной работы с БД.

Что за null-фобия?

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

Понятно.

С такой логикой можно и на C сидеть 40 лет.

Что характерно, сидят.

Но это уже другая история.