Комментарии 37
столкнулся с этой проблемой год назад, написал на stockoverflow, там разъяснили в чем суть… не знал, что баг ещё до сих пор жив.
Почему 32766, а не 32767?
это наибольшее 16-битное число (32767) минус единица
видимо, значение было высчитано в той же Опере :)
видимо, значение было высчитано в той же Опере :)
16 битное знаковое. Всётаки 16 бит это 65536.
да-да-да, не могу согласиться, (не упоминай имя спектрума всуе!): 2^16 = 65536, а 32768 это все-таки 2^15
По-моему причину уже миллион раз объясняли: Opera работает под кучей различных платформ (в том числе всякие телевизоры, приставки и т.п.), а движок везде один и тот же. Так вот это типа ограничение, накладываемое некоторыми платформами.
Я далёк от веб-разработки, но… неужели 216 — это так мало? o_O Зачем вообще можно использовать такие размеры?
Я далёк от веб-разработки, но… неужели 216 — это так мало? o_O Зачем вообще можно использовать такие размеры?
Пардон, 215 − 1
На моем телефоне ОупенОфис не запуститься. Так что, по Вашем, под платформу моего телефона платформу урезать ОупенОфис?
Или может стоит таки сделать мобильную (как пример)?
Или может стоит таки сделать мобильную (как пример)?
*под платформу моего телефона платформу урезать*
Вы сравнили х** с пальцем. Масштаб сравниваемых продуктов не сопоставим.
Тем более, всем известно, что у Opera Mobile движок тот же, что и у Desktop-версии, и в этом как раз вся фишка.
Тем более, всем известно, что у Opera Mobile движок тот же, что и у Desktop-версии, и в этом как раз вся фишка.
я сравнял не прдукты, а концепцию программирования, в т.ч. веб.
Директивы препроцессора никто не отменял. Вы так говорить, как будто нельзя на билдфабрику повлиять нормально. Ну глупости, серьезно.
Приведите мне вменяемый пример, где нужны такие большие цифры, чтобы я мог оценить рентабельность того, что Вы предлагаете.
Одно из важнейших правил — не ограничивать то, что можно не ограничивать. Оно здесь применимо вполне и без особых проблем, на мой взгляд. Если проблемы имеют место быть — это «затык» архитектурного, либо организационного (билд-ферма) решения.
Ничего идеального не бывает. Когда создавался движок, посчитали, что нет смысла выделять на длину/ширину больше, а теперь, по-видимому, затраты на исправление данной ситуации превосходят выгоду.
Да и опять же, Вы б показали мне для начала стандарт, где прямо сказано, что это баг.
Кстати, мне не совсем ясно, если в Opera длина и ширина объявлены как
Да и опять же, Вы б показали мне для начала стандарт, где прямо сказано, что это баг.
Кстати, мне не совсем ясно, если в Opera длина и ширина объявлены как
uint16
, то с какой радости оно вдруг должно стать отрицательным?Если же вы имеете в виду, что затраты на приведение ситуации в порядок не оправданы по сравнению с эффективностью решения и его актуальностью, то, практически полностью уверен в том, что решение ситуации практически беззатратно (либо решается очень просто и быстро, либо помогает решать «затык», который еще не раз может всплыть в диких проявлениях).
Я бы на Вашем месте не был столь уверен, не взглянув предварительно на исходные коды Оперы.
Согласен с вами, но я сталкивался с очень крупными проектами и отдаю себе отчет о чем идет речь. Если же данный момент завязан действительно глубоко (глубже глубокого), то все-таки, имхо, это есть ничто иное как ошибка в архитектуре.
Везде есть ошибки — от этого никуда не деться.
Мы слишком долго «скакали туда-сюда» в процессе обсуждения. С удовольствием бы призвал кого-нибудь из разработчиков Opera, но, боюсь, это невозможно.
На вашем, вполне адекватном «резюме» и завершим полемику, пожалуй.
На вашем, вполне адекватном «резюме» и завершим полемику, пожалуй.
[некропостинг]
Исправили:
my.opera.com/desktopteam/blog/2011/07/14/javascript-on-a-diet
[/некропостинг]
Исправили:
my.opera.com/desktopteam/blog/2011/07/14/javascript-on-a-diet
[/некропостинг]
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
А вам хватит 32766 в Opera?