Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Зачем AS превращать в Си++? (http://www.flasher.ru/forum/showthread.php?t=87418)

chingachgoog 04.11.2006 16:52

Зачем AS превращать в Си++?
 
Открываем хелп и берем следующий код:

Код:

var connection_nc:NetConnection = new NetConnection();
connection_nc.connect(null);
var stream_ns:NetStream = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play("video2.flv");

честное слово обычный флешовский код будет работать ничуть не хуже:

Код:

connection_nc = new NetConnection();
connection_nc.connect(null);
stream_ns = new NetStream(connection_nc);
my_video.attachVideo(stream_ns);
stream_ns.play("video2.flv");

Не в этом ли была прелесть флеша: любая переменная может быть и числом и строкой и булевым параметром?
В чем тут подвох? Т.е. какой выигрыш?

miramax 04.11.2006 17:01

А затем что в Си самый удачный и продуманный синтаксис.
А зачем нужно всё это писать? Вот пример я как-то приводил
http://flasher.ru/forum/showthread.p...EB%FC%ED%EE%E9
Выигрыш в том что в АС 3,0, флеш плеер не будет терять время на определение переменной.
a = 56;
что это? точка , мувиклип, срока, число.
var a:Number = 56
А здесь сразу ясно и тебе и плееру, что это число.

Nirth 04.11.2006 17:01

Проверка типов.
AS2 - проверка типов, если везде указаны типа, код легче читать, легче искать ошибку(особенно при использовании 50+ классов)

AS3 - Все вышеперечисленное, плюс при указании типа приложение работает быстрее.

Тему перенс в раздел для начинающих, автору темы устное предупреждение, ибо тема поднималась 1000 и 1 раз.

Nirth 04.11.2006 17:02

2 miramax
В си++ синтаксис не самый лучший.

miramax 04.11.2006 17:07

Цитата:

Сообщение от Nirth
2 miramax
В си++ синтаксис не самый лучший.

Он был лучшим... давно. Когда "боролся" с паскалем и бэйсиком )))
Теперь на основе Си и лучше появились синтаксисы

chingachgoog 04.11.2006 17:17

Цитата:

Сообщение от Nirth
Проверка типов.
AS2 - проверка типов, если везде указаны типа, код легче читать, легче искать ошибку(особенно при использовании 50+ классов)

Это спорно. Кому легче читать слева направо, а кому и снизу вверх. :-)
Дело привычки.

Цитата:

Сообщение от Nirth
AS3 - Все вышеперечисленное, плюс при указании типа приложение работает быстрее.

А вот тут самое интересное.
Насколько велик выигрыш? Стоит ли из-за него пыхтеть вбивая столько "лишних" символов?

miramax 04.11.2006 17:27

Цитата:

Сообщение от chingachgoog
Это спорно. Кому легче читать слева направо, а кому и снизу вверх. :-)

Дурные привычки это плохо, это у юзеров могут быть привычки, а программист должен соблюдать правила и стиль.
Цитата:

Сообщение от chingachgoog
А вот тут самое интересное.
Насколько велик выигрыш? Стоит ли из-за него пыхтеть вбивая столько "лишних" символов?

Сколько строк кода было в твоей самое большой "проге" ?
Уверен что после 1 000 наступит переломный момент... ООПэшник будет терять мало скорости девелопинга от рамера кода.
Интересно сколько раз ты напарывался на такое ?
Код:

a = 5;
trace( a+5 ) // ??? 10 или 55 ?

А выигрыш очень большой. Скажем до 20 раз для арифметических операторов.
И в фиг знает сколько раз быстрее будет проходить вызов метода ( не исполнение метода)

chingachgoog 04.11.2006 17:50

Цитата:

Сообщение от miramax
...а программист должен соблюдать правила и стиль.

Сколько строк кода было в твоей самое большой "проге" ?
Уверен что после 1 000 наступит переломный момент...

Я понимаю, что программисту приятно тешить свое самолюбие "профессиональным" подходом и заморочками типа "правильного стиля", большим количеством строк кода и т.п.

Честно говоря мне интересен сугубо утилитарный подход:
за КОРОТКОЕ время написать ПОНЯТНЫЙ код, который будет РАБОТАТЬ.

если

Код:

a=5
против

Код:

var a:Number=5
то я выбираю первый вариант.
Когда повсеместно на коммерческий сайтах будут принимать работы в AS3 и он будет давать преимущества, то перейду ко второму варианту.

miramax 04.11.2006 18:06

Цитата:

Сообщение от chingachgoog
Я понимаю, что программисту приятно тешить свое самолюбие "профессиональным" подходом и заморочками типа "правильного стиля", большим количеством строк кода и т.п.

то я выбираю первый вариант.
Когда повсеместно на коммерческий сайтах будут принимать работы в AS3 и он будет давать преимущества, то перейду ко второму варианту.

Чё-та вспомнил анекдот про chingachgoog'ка и грабли....
Я много раз на них наступал.... И теперь внимательно слушаю советы опытных программистов, слежу за их стилем. Если что-то не знаю, стараюсь тупо следовать рекомендациям. Потом когда разберусь с чем-нибудь, для себя решаю как лучше писать код.
Посмотри сам на коды Nirth'a и __etc'а ....
Их классы можно использовать в любом проекте, эти классы можно доработать, эти классы относительно легко понять.
Да, в ас 2 нет настоящей типизации, но лучше писать типизированный код.
Это конечно твоё дело, в каком стиле писать, но рано или поздно сам поймёшь , что лучше изучить сначала чужой опыт, а не отвергать его после поверхностного осмотра.

DarkLight 04.11.2006 18:09

2chingachgoog
Кстати, a=5 вместо var a = 5 внутри функции например или внутри цикла тормозит работу в 2-10 раз)

Сначала я тоже называл переменные a,b,c и думал что жесткая типизация - бред, но потом изменил мнение:
- читабельность не ухудшается
- проще отловить ошибки с повтором имен переменных
- в чужом типизированном коде разбираться легче
например есть переменная loaded, это может быть и процент загрузки и флаг ее окончания. Можно писать имена вроде mainMovieLoadedPercent, но это слабо читаемо. Код ПОНЯТНЫЙ и он БУДЕТ РАБОТАТЬ


Часовой пояс GMT +4, время: 01:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.