Даже на андроиде это может быть воспринято как введение пользователя в заблуждение. Например, недавний инцидент с Твитером, который на iOS спрашивал у пользователя, можно ли ориентируясь на данные в его адресной книге, найти его друзей в твитере, а заодно пересылал и хранил у себя на сервере копии всех контактов.
То есть «читать контакты» и «переслать на сервер, хранить и обрабатывать контакты» семантически все-таки несколько разные вещи.
W3C внезапно расписалась в собственной беспомощности.
Вообще, пример C++11 (или как там его) показывает, что все эти стандартизации мало того, что идут медленно и печально, так к тому же и на выходе получается не то, что надо людям, а то, что решили сделать в комитете.
Да, в iOS 5 слегка поломали слой совместимости, и многие чужие приложения просто перестали работать. Например, нежно любимая мной Stanza. Насчет родных сказать не могу, я мало чем пользуюсь.
Я полагаю, что это может быть связано с тем, что краш программы в iOS — это настолько незаметное событие, что пользователь чаще всего не понимает, что вообще произошло. Ну и нет культуры написания баг-репортов из-за других характеристик социума.
В случае, например, если у меня крашится твитер — он просто сворачивается и айфон показывает главный экран. Я запускаю твитер — и он работает. Такое я лично у себя наблюдал, наверное, раз пять.
Другие приложения тоже иногда себя так ведут.
В результате, у разработчиков нет причин и возможностей править «плавающие» баги, которые крайне негативно влияют на статистику.
Честно говоря, не вижу ничего удобного в декомпиляции и правке ассемблерного кода. При автоматической сборке на билд-сервере вы проклянете это решение.
То есть «читать контакты» и «переслать на сервер, хранить и обрабатывать контакты» семантически все-таки несколько разные вещи.
Я, честно говоря, никогда даже не задумывался над тем, что типично линуксовый плагинный хенд-мейд может не иметь версии под линукс.
Вообще, пример C++11 (или как там его) показывает, что все эти стандартизации мало того, что идут медленно и печально, так к тому же и на выходе получается не то, что надо людям, а то, что решили сделать в комитете.
Никто не жалуется.
В случае, например, если у меня крашится твитер — он просто сворачивается и айфон показывает главный экран. Я запускаю твитер — и он работает. Такое я лично у себя наблюдал, наверное, раз пять.
Другие приложения тоже иногда себя так ведут.
В результате, у разработчиков нет причин и возможностей править «плавающие» баги, которые крайне негативно влияют на статистику.
Как обстоят дела в андроиде — не знаю.
В данном случае плохо тем, что если а == b, то хеш-код у всех таких объектов будет 0.
Рекоменуется теперь использовать какой-то такой алгоритм (на память не помню, каждый раз гуглю его заново):
int A = простое число;
int B = другое просто число;
int hash = A;
unchecked
{
hash = hash * B + field;
}