Показать сообщение отдельно
Старый 10.01.2003, 03:27
Смольный (Smolniy) вне форума Посмотреть профиль Отправить личное сообщение для Смольный (Smolniy) Посетить домашнюю страницу Смольный (Smolniy) Найти все сообщения от Смольный (Smolniy)
  № 122  
Смольный (Smolniy)
Человек и Здание
 
Аватар для Смольный (Smolniy)

администратор
Регистрация: Aug 1999
Адрес: Москау-сити, Рассея
Сообщений: 4,671
Отправить сообщение для Смольный (Smolniy) с помощью ICQ
Господа, а почему все так вцепились в "индексацию массивов"? Я еще раз повторяю - в "настоящих" языках программирования индексы массивов нигде не хранятся! Массив - набор данных, хранящихся сплошняком, начинающийся с определенного адреса, и индекс - число, из корого (с учетом длины одного элемента) вычисляется смещение относительно начала массива, по которому и берется искомый элемент. Однажды я на сях обрабатывал массив из >60.000 элементов, и при переборе их в цикле, невнимательно воспользовался знаковым интом в качестве индекса. При достижении индекса ~32.000 мой инт переваливал в отрицательные значения, и я начинал гулять по памяти, результат был забавнейшим - я убивал и программу, и дос, и кажется добирался до видеопамяти. Такие вещи очень здорово дисциплинируют и наглядно показывают, откуда растут уши.
То же касается вообще имен переменных - при компиляции в код вместо имени переменной вставляется адрес, по которому хранится значение, поэтому на сях можно использовать переменные с именем любой длины, это не повлияет на размер результата. Как следствие, такие финты ухами как eval или a.["b"] там просто не бывают. Уверяю, программить на си-подобном языке было бы комфортно (мне) и КАРДИНАЛЬНО НЕУДОБНО процентам 85 из разработчиков Flash. Не говоря о том, что СКОРОСТЬ от Flash даже близко не требуется - вопреки многократно озвученному мнению автора топика. Учитывая задачи, решаемые флашем и историю продукта, можно смело сказать что скорости AS хватает по уши и раз двадцать столько же сверху. Я до сих пор не видел ни одного фильма, который бы тормозил на программинге, а не на отрисовке изображения, если не считать искусственных примеров.
Хэши - это уже не массив, это "приблуда". К ней и отношение соответствующее. И у хэша с очень большой вероятностью индексы хранятся текстом. Если иной раз они хранятся числом, как у флеша, то это здорово, неожиданно, но не так уж важно. Все равно перебор элемента за элементом. И как там организуют хранение в памяти данных - связным списком ли, просто таблицей ли, не так важно, производительность все равно будет потеряна. Да плевать на скорость! Лишь бы работало правильно. Я не атомную бомбу на флеше рассчитываю, максимум - доморощенный трехмер. Лишь бы на переборе строк не тормозило (а пятерка тормозила страшно, например, при необходимости заменить в строке все < и > на &gt; и &lt;, тормоза на этой операции было видно глазами).

Флаш интерпретирует все, что можно. Например, инкремент или двоичные сдвиги должны работать в сотни раз быстрее чем другие команды - но работают с той же скоростью, т.к. интерпретируются, а не выполняются на уровне процессора. Ей богу, я не вижу смысла убеждаться в тормознутости АС. Мне кажется, это ни к чему не приведет. Гораздо полезнее обсуждать несообразности в командах. Это хоть имеет практическую пользу. Например, меня раздражает дурацкое и НЕОДИНАКОВОЕ поведение команд gotoAndPlay и movie.gotoAndPlay. Вот это - реальная практическая проблема. К тому же, необоснованная, что бесит. Меня удручают оставшиеся в наследство от старой жизни level-ы и сцены. Мне очень понравилось, что в МХ ММ умудрилась исправить массу ошибок и "особенностей", которые, я полагал, останутся для совместимости навсегда. Я могу назвать таких фишек массу. При этом не нарушилась совместимость, т.е. если я публикую в 5, то оно работает так как работало в 5, при публикации в 6 - по-новому. Не вижу, почему бы точно так же не причесать gotoAndPlay. Далее, напротив, я удручен действием команды with, которая в МХ, похоже, стала работать еще хуже чем в 5.

А мы тут ругаемся и обещаем пропустить друг друга через виртуальную машину ФП
__________________
Регардсы.


Последний раз редактировалось Смольный (Smolniy); 10.01.2003 в 03:38.