Перемещение вперед AS3?

Кроме всех других превосходных ответов... int может не быть достаточно большим для Вашего вектора. Вместо этого если Вы хотите использовать индексацию, используйте size_type для Вашего контейнера:

for (std::vector<Foo>::size_type i = 0; i < myvector.size(); ++i)
{
    Foo& this_foo = myvector[i];
    // Do stuff with this_foo
}
7
задан Oded 28 April 2012 в 18:44
поделиться

7 ответов

Итак, краткое изложение всех этих ответов было бы следующим:

Информации о планах Adobes по продвижению AS3 практически нет. Можно было бы предположить, что они будут следовать спецификации ECMA, но это само по себе в настоящий момент находится в некоторой политической суматохе, поэтому я предполагаю, что Adobe ждет, чтобы увидеть, как все это обернется.

Что касается упрощения языка. , как в более простом понимании для программистов-утилитарников. Это кажется маловероятным, поскольку Flex стремится привлечь людей к Java, и поэтому можно предположить, что AS продолжит стремиться к тому, чтобы Java-программисты чувствовали себя комфортно.

Полное отделение дизайнеров от кода с помощью Thermo / Flash Catalyst кажется наиболее оптимальным вариантом. вероятное будущее для отношений программиста / дизайнера в командах разработчиков Flash.

Команда Haxe делает все возможное, чтобы сделать работу с Flash Player более выразительной и менее жесткой. Но, насколько мне известно, они не получают поддержки от Adobe. Таким образом, похоже, что Adobe не заинтересована в большем количестве языков для разработчиков Flash Player.

Silverlight может сильно напугать Adobe и заставить ее сделать AS более выразительным / профессиональным языком, если ему удастся приблизиться к охвату рынка подключаемого модуля Flash Player. Поскольку приложения Silverlight можно разрабатывать в мощной и профессиональной среде IDE, Visual Studio (в отличие от базового подключаемого модуля Flex Builder). И C # является предпочтительным языком, из-за чего AS3 выглядит весьма ограниченным во многих областях.

В целом Adobe скрывает будущее AS3, и процесс развития языка происходит за закрытыми дверями.

2
ответ дан 6 December 2019 в 21:17
поделиться

Возможно, вам стоит взглянуть на Haxe .

Он нацелен на FlashPlayer (и некоторые другие платформы) и предлагает более продвинутый язык как AS3 . И поскольку это открытый исходный код, определенно существует большая разработка в языке и в компиляторе.

2
ответ дан 6 December 2019 в 21:17
поделиться

Я думаю, что ActionScript будет развиваться в сторону C #. Я делаю это потому, что верю, что мы увидим еще больше крупных веб-сайтов, полностью созданных на Flash / Silverlight. И если у вас будет настоящая команда, в которой работают вместе художник-график и кодировщики, C # сэкономит много денег. Есть лучшие инструменты и возможности для разработки и отладки более сложных приложений на C #.

Вы можете увидеть это с новой установкой Flash Catalyst / Flash Builder Premium, где графика и код, наконец, должным образом разделены, при этом позволяя художникам «делать» их вещь ».

Я уверен, что Adobe также постарается сохранить свою базу дизайнеров, обладающих некоторыми знаниями скриптов. Но они все равно могут писать в AS2, если хотят. Вот почему они (насколько мне известно) сохранят Flash Professional IDE с чуть более продвинутыми графическими инструментами, чем Catalyst.

Так что, когда появится AS4, я ожидал бы увидеть такие вещи, как дженерики и перегрузка метода. Но это никогда не будет C #.

Как вы могли догадаться, я нахожусь в техническом лагере;) Но работая с этим профессионально, Я просто не вижу будущего, в котором дизайн и код будут теми же людьми. Так что я не думаю, что Adobe должна принимать во внимание мнение «творческих» лагерей по ActionScript. Вы также не стали бы спрашивать кодировщика, как должен работать выбор цвета;)

1
ответ дан 6 December 2019 в 21:17
поделиться

Не уверен во влиянии на Adobe (хотя вы могли бы попробовать Уважаемый Adobe !), Но сообществом пользователей разрабатываются хорошие фреймворки, такие как PureMVC . Это в некоторой степени способствует тому, чтобы сделать AS3 более техническим, так сказать, а также отделить визуальные элементы от логики, чтобы дизайнеры могли наслаждаться более «творческим» опытом.

0
ответ дан 6 December 2019 в 21:17
поделиться

Я склонен не соглашаться, поскольку мне очень нравится этот язык. Одна вещь, которую нам нужно понять, - это то, что некоторые из функций, которые нужны техническим специалистам, являются функциями виртуальной машины, а не функциями языка (например, многопоточность).

Язык должен быть дружественным для разработчиков, а не для художников. Flash прошел долгий путь от заставок для сайтов, векторных мультфильмов, рекламных баннеров и простых игр. Чаще всего в моей повседневной работе он используется для создания собственных собственных приложений. Они имеют совершенно разные ограничения и требуют языковых функций, представленных в AS3 (например, пространства имен, строгая типизация). Я работал в командах из 9+ разработчиков. Javascript не работает Он предназначен для обработки таких крупномасштабных разработок - вот почему Google использует GWT , чтобы позволить им писать код Java, который компилируется в Javascript.

Определенно были некоторые особенности ES4 , которые Я был очень взволнован. Например, общие функции (в основном перегрузка методов), параметризованные типы (в основном универсальные), генераторы (с использованием yield ) и let , тип , как , блок и переносят ключевые слова. Я был и разочарован, что это было убито в пользу разбавленной спецификации ES3.1 / ES5 (я считаю, что это было больше политическим, чем техническим). Я надеюсь, что у Adobe хватит дальновидности, чтобы реализовать эту спецификацию как AS4.

Конечно, были некоторые особенности ES4 , которые меня очень взволновали. Например, общие функции (в основном перегрузка методов), параметризованные типы (в основном универсальные), генераторы (с использованием yield ) и let , type , как , блок и переносят ключевые слова. Я был и разочарован, что это было убито в пользу разбавленной спецификации ES3.1 / ES5 (я считаю, что это было больше политическим, чем техническим). Я надеюсь, что у Adobe хватит дальновидности, чтобы реализовать эту спецификацию как AS4.

Конечно, были некоторые особенности ES4 , которые меня очень взволновали. Например, общие функции (в основном перегрузка методов), параметризованные типы (в основном универсальные), генераторы (с использованием yield ) и let , type , как , блок и переносят ключевые слова. Я был и разочарован, что это было убито в пользу разбавленной спецификации ES3.1 / ES5 (я считаю, что это было больше политическим, чем техническим). Я надеюсь, что у Adobe хватит дальновидности, чтобы реализовать эту спецификацию как AS4.

блок и переносят ключевые слова. Я был и разочарован, что это было убито в пользу разбавленной спецификации ES3.1 / ES5 (я считаю, что это было больше политическим, чем техническим). Я надеюсь, что у Adobe хватит дальновидности, чтобы реализовать эту спецификацию как AS4.

блок и переносят ключевые слова. Я был и разочарован, что его убили в пользу смягченной спецификации ES3.1 / ES5 (я считаю, что это было больше политическим, чем техническим). Я надеюсь, что у Adobe хватит дальновидности, чтобы реализовать эту спецификацию как AS4.

2
ответ дан 6 December 2019 в 21:17
поделиться

Я очень из второго лагеря ... Я много программировал на паскале, позже на delphi, а затем на java, но потом я решил, что девушки и гитары намного круче ... когда я наткнулся на FlashPlayer в 2006 году, я был очарован предлагаемыми возможностями и снова начал кодировать с AS2 ... Flash 8 был скорее случайностью, когда дело дошло до кодирования, поэтому я очень быстро перешел на MTASC и FlashDevelop и получил очень хорошо знать язык ... с тех пор у меня были те же проблемы, что и у всех, кто серьезно использовал платформу FlashPlayer ... так что вот моя точка зрения:

AS2 против AS3

хорошо, самое важное вещь: язык! = API ... основной язык AS3 - это большая часть того, что находится на верхнем уровне, а также следующее из flash.utils : getDefinitionByName и describeType , а также Proxy , Dictionary и (возможно) ByteArray (все остальное либо интерфейс с FlashPlayer или может быть построен на основном языке) ... в AS2 это было меньше всех допустимых типов для значений JSON ( Boolean , Number , String ], Массив , Объект ), а также Функция и ASSetPropFlags ... связь между языком AS3 и флэш-плеером маленький ... например mod_actionscript - это попытка использовать Tamarin VM в качестве модуля apache, конечно, с совершенно другим API ...

сравнивая основные языки, есть различия .. . в конце концов, я 'я сказал, что AS2 был намного более мощным языком, чем AS3 ... вы могли практически изменить весь язык во время выполнения, он был ориентирован на прототип (что является гораздо более мощной функцией, чем наследование на основе классов), разрешены миксины, AOP, и т. д. ... AS2 имел очень ясный и радикальный дизайн языка ... очень немногие люди действительно понимали это ... AS2 страдал от того же недоразумения, что и JavaScript (который, на мой взгляд, является нетипизированным и несовместимым брат AS2) сделал ... большинству людей он понравился, потому что он настолько вседозволенный ... как, например, PHP, который (помимо его массового проникновения на рынок и простой установки) является основной причиной его популярности ... но JS и AS - это очень высокоуровневые, выразительные и мощные языки, тогда как PHP - это скорее инструмент для грязного взлома некоторых вещей (это не о PHP,мне просто нужен был другой разрешительный язык для сравнения) ... дело в том, что большинство людей используют в AS2 (и JS) вседозволенность ... я очень редко видел использование прототипов, функциональных, аспектно-ориентированных или даже правильных объектно-ориентированное программирование в AS2 ... > здесь < я перечислил набор действительно интересных функций AS2, которые либо плохо, либо редко используются ...

AS3 - это шаг Adobe к Java ... очень строгий, статичный, даже во время выполнения, но работает намного лучше ... и он очень неумолим, заставляя вас быть довольно многословным ... describeType открывает действительно новый уровень самоанализа, Dictionary позволяет сэкономить время, а Proxy - это супермутантная версия AS2 Object :: __ resolve ,немного восполняя всю утраченную гибкость ...

говоря о языке, я думаю, что AS3 на самом деле был шагом назад ... в то время, когда языки высокого уровня набирают популярность экспоненциально, и когда Sun решила создать JavaFX Script, и многие другие динамические языки начали работать на JVM и CLR, Adobe решила создать новую, более статическую версию AS2 и виртуальную машину, которая подходит для ее выполнения ... немного парадокс, я думаю ...

при сравнении API-интерфейсов, у AS2 и AS3 FlashPlayer API есть положительные и отрицательные стороны ... последний определенно больше ... когда дело доходит до их пересечения (список отображения, сеть, XML обработка), у каждого решения есть свои плюсы и минусы ... многие люди немного расстроены тем, что все старые добрые обратные вызовы исчезли и заменены новой моделью событий ... серьезно,если вы используете правильную IDE, нет никакой разницы ... но последняя намного чище и намного мощнее (кто-нибудь помнит, как один обратный вызов при вводе мыши полностью отключил всех детей?) ... Кроме того, это что-то, что на самом деле не имеет значения, потому что вы можете повторно реализовать модель событий AS3 в AS2, и вы можете повторно реализовать систему обратного вызова AS2 в AS2, как за пару дней ... в конце концов, я бы сказал, что AS3 имеет довольно большую и более мощную API, и в случае необходимости вы можете обернуть его, чтобы быть менее многословным ... так что в конце концов, я бы действительно сказал, что AS3 API лучше ... в действительности нет смысла в чрезмерно упрощая его ...

причина, по которой все жалуются, состоит в том, что он требует кардинальных изменений ... пока AS2 язык не разрабатывался шаг за шагом, будучи почти на 100% совместимым с предыдущей версией ... последствием было,вам нужно было сделать радикальный переход вместо медленного перехода ... чтобы выразить это ясными словами: переход на AS3 означал отбрасывать все, что отталкивало многих людей, особенно дизайнеров, потому что перенос кода был возможен, но перенос .flas действительно почти невозможно, по крайней мере, олдскульные, где код распределен в бесчисленных видеоклипах ... но на самом деле это не сложнее, чем AS2 ... он накладывает немного больше вещей, но имеет гораздо больше функций и обращается ко многим проблемы, с которыми действительно каждый сталкивался при запуске с предыдущими версиями ActionScript ...

Николас Каннас, создатель Haxe, о котором упоминалось несколько раз, также опубликовал некоторые мысли по этому поводу в своем блоге . ... конечно, его представление о Haxe как альтернативе немного предвзято ... но я думаю, что это естественно ...Важным моментом Haxe является на самом деле быть альтернативой AS3, и Николас очень хочет и способен предоставить такую, хотя в конце концов он, как главный дизайнер языка, имеет свои собственные идеи, в которых идет язык ... но позвольте мне поговорить о Haxe в качестве альтернативы (это может быть частично дублировано с сообщением Николаса, но я просто попытаюсь обобщить свою точку зрения)

Haxe в качестве альтернативы

Мне еще предстоит попробовать Haxe, но кажетсяЯ просто попытаюсь обобщить мою точку зрения)

Haxe как альтернатива

Я еще не пробовал Haxe, но кажетсяЯ просто попытаюсь обобщить мою точку зрения)

Haxe как альтернатива

Я еще не пробовал Haxe, но кажется мастеру на все руки действительно заменить AS3.

это неправильно ... Motion-Twin, где работает Николас, много работает с флэш-памятью ... на самом деле, Haxe генерирует гораздо более быстрый байт-код AVM2 и, в отличие от AS3, позволяет использовать коды операций алхимии, так что, в конце концов, Haxe позволяет вам писать гораздо более эффективные решения для AVM2 ... как язык, он действительно намного богаче ... В сообщении Николаса указывается, что в отличие от AS3, Haxe является языком с открытым исходным кодом .. На практике это означает, что вы должны присоединиться к сообществу и делать запросы на новые функции, или даже изучать OCaml и вносить непосредственный вклад… Филипп Эльзасс, один из основных авторов FlashDevelop также недавно сделал хорошее резюме о Haxe ... немного менее позитивное, но дающее небольшой обзор ...он также ссылается на сообщение Николаса, в котором представлены самые сильные языковые особенности MTypes , внутреннего рабочего названия Haxe в MotionTwin, до его выпуска и открытого исходного кода ...

Haxe намного выразительнее, чем AS3 ... он имеет обобщенные типы, типизированные функции первого класса, перечисления с параметрами, чтобы упомянуть несколько вещей, не перечисленных в списке функций MTypes ... ключевое слово using предоставляет некоторые возможности перегрузки, но я не На самом деле не понимаю, почему перегрузка методов имеет смысл ... для будущих версий планируется multitypes , которые обеспечивают аналогичную функциональность ... перегрузка операторов обсуждалась много раз и, скорее всего, не будет реализована, потому что это затрудняет обмен кодом ...

В конце концов, я считаю, что Haxe - лучший язык для AVM2 ...и он становится все лучше и лучше ... некоторые участники сообщества предоставили больше причин для изучения Haxe в этом вопросе о переполнении стека ...

Будущее AS3

я думаю, что AS3 не будет вперед слишком быстро ... У Adobe есть дела поважнее ... Adobe использует FlashPlayer в качестве платформы для развертывания приложений Flex ... они написаны на MXML, который, без сомнения, является очень мощным декларативным языком, переведенным на AS3. .. вот почему Adobe нужно, чтобы AS3 и AVM2 были быстрыми, но не более выразительными ... с термоакка флэш-катализатором дизайнеры будут исключены из фактического процесса кодирования, и все перейдет на Flex, используя весь сервер Flex решения ...

мне не нравится Flex, и придерживаться AS3 для меня не вариант ... Adobe перемещает платформу флэш-памяти на платформу Java, а я неЯ ценю это ... я всегда предпочитал flash java, потому что он такой легкий, и ActionScript, потому что он настолько продуктивен ... я был очень взволнован новыми функциями AS3, но наконец решил двигаться дальше, потому что мне кажется, что разработка AS3 начинает застояться ...

в конце концов, вы должны выбрать свой путь ... прямо сейчас это MXML (и немного AS3) или Haxe ... или попробуйте написать какой-нибудь язык, который есть интерфейс LLVM и скомпилировать его в AVM2 с помощью алхимии ... Objective-C может быть хорошей идеей ...

так что как бы вы ни выбрали ... удачи ...

ps: я думаю, вам не следует ' Я использую термин "язык сценариев", когда вы имеете в виду, что это высокоуровневый, выразительный и динамичный ... сценарий bash также является языком сценариев, но на самом деле он не похож на Ruby, Scala или все диалекты ECMA ...

Я всегда предпочитал флэш-память java, потому что она такая легкая, и ActionScript, потому что она такая продуктивная ... я был очень взволнован новыми функциями AS3, но в конце концов решил двигаться дальше, потому что мне кажется, что разработка AS3 начинает застой ...

в конце концов, выбор за вами ... прямо сейчас это MXML (и немного AS3) или Haxe ... или попробуйте написать какой-нибудь язык с интерфейсом LLVM и скомпилировать его в AVM2 с помощью алхимии ... Objective-C может быть хорошей идеей ...

так что как бы вы ни выбрали ... удачи ...

ps: я думаю, вам не следует использовать термин "скриптинг "язык, когда вы имеете в виду, что он высокоуровневый, выразительный и динамичный ... сценарий bash также является языком сценариев, но на самом деле он не похож на Ruby, Scala или все диалекты ECMA ...

Я всегда предпочитал флэш-память java, потому что она такая легкая, и ActionScript, потому что она такая продуктивная ... я был очень взволнован новыми функциями AS3, но в конце концов решил двигаться дальше, потому что мне кажется, что разработка AS3 начинает застой ...

в конце концов, выбор за вами ... прямо сейчас это MXML (и немного AS3) или Haxe ... или попробуйте написать какой-нибудь язык с интерфейсом LLVM и скомпилировать его в AVM2 с помощью алхимии ... Objective-C может быть хорошей идеей ...

так что как бы вы ни выбрали ... удачи ...

ps: я думаю, вам не следует использовать термин "скриптинг "язык, когда вы имеете в виду, что он высокоуровневый, выразительный и динамичный ... сценарий bash также является языком сценариев, но на самом деле он не похож на Ruby, Scala или все диалекты ECMA ...

и ActionScript, потому что он настолько продуктивен ... я был очень взволнован новыми функциями AS3, но в конце концов решил двигаться дальше, потому что мне кажется, что разработка AS3 начинает тормозиться ...

в конце концов, это вам решать, какой путь выбрать ... прямо сейчас это MXML (и немного AS3) или Haxe ... или попробуйте написать какой-нибудь язык с интерфейсом LLVM и скомпилировать его в AVM2 с помощью алхимии ... Objective-C может будь хорошей идеей ...

так что независимо от твоего выбора ... удачи ...

пс: я думаю, тебе не следует использовать термин "язык сценариев", когда ты имеешь в виду, что он высокоуровневый, выразительный и динамичный ... сценарий bash также является языком сценариев, но на самом деле он не похож на Ruby, Scala или все диалекты ECMA ...

и ActionScript, потому что он настолько продуктивен ... я был очень взволнован новыми функциями AS3, но в конце концов решил двигаться дальше, потому что мне кажется, что разработка AS3 начинает тормозиться ...

в конце концов, это вам решать, какой путь выбрать ... прямо сейчас это MXML (и немного AS3) или Haxe ... или попробуйте написать какой-нибудь язык с интерфейсом LLVM и скомпилировать его в AVM2 с помощью алхимии ... Objective-C может будь хорошей идеей ...

так что независимо от твоего выбора ... удачи ...

пс: я думаю, тебе не следует использовать термин "язык сценариев", когда ты имеешь в виду, что он высокоуровневый, выразительный и динамичный ... сценарий bash также является языком сценариев, но на самом деле он не похож на Ruby, Scala или все диалекты ECMA ...

но я, наконец, решил двигаться дальше, потому что мне кажется, что разработка AS3 начинает застояться ...

в конце концов, вам решать, какой путь выбрать ... прямо сейчас это MXML (и немного AS3) или Haxe ... или попробуйте написать какой-нибудь язык с внешним интерфейсом LLVM и скомпилировать его в AVM2 с помощью алхимии ... Objective-C может быть хорошей идеей ...

так что как бы вы ни выбрали ... удачи ...

ps: я думаю, вам не следует использовать термин "язык сценариев", когда вы имеете в виду, что это высокоуровневый, выразительный и динамичный ... сценарий bash также является языком сценариев, но на самом деле это ничего вроде Ruby, Scala или всех диалектов ECMA ...

но я, наконец, решил двигаться дальше, потому что мне кажется, что разработка AS3 начинает застояться ...

в конце концов, вам решать, какой путь выбрать ... прямо сейчас это MXML (и немного AS3) или Haxe ... или попробуйте написать какой-нибудь язык с внешним интерфейсом LLVM и скомпилировать его в AVM2 с помощью алхимии ... Objective-C может быть хорошей идеей ...

так что как бы вы ни выбрали ... удачи ...

ps: я думаю, вам не следует использовать термин "язык сценариев", когда вы имеете в виду, что это высокоуровневый, выразительный и динамичный ... сценарий bash также является языком сценариев, но на самом деле это ничего вроде Ruby, Scala или всех диалектов ECMA ...

или попробуйте написать какой-нибудь язык с интерфейсом LLVM и скомпилировать его в AVM2 с помощью алхимии ... Objective-C может быть хорошей идеей ...

так что как бы вы ни выбрали ... удачи ...

ps : я думаю, вам не следует использовать термин "язык сценариев", когда вы имеете в виду, что это высокоуровневый, выразительный и динамичный ... сценарий bash также является языком сценариев, но на самом деле он не похож на Ruby, Scala или все остальные ECMA-диалекты ...

или попробуйте написать какой-нибудь язык с интерфейсом LLVM и скомпилировать его в AVM2 с помощью алхимии ... Objective-C может быть хорошей идеей ...

так что как бы вы ни выбрали ... удачи ...

ps : я думаю, вам не следует использовать термин "язык сценариев", когда вы имеете в виду, что это высокоуровневый, выразительный и динамичный ... сценарий bash также является языком сценариев, но на самом деле он не похож на Ruby, Scala или все остальные ECMA-диалекты ...

Скала или все ECMA-диалекты ...

Скала или все ECMA-диалекты ...

5
ответ дан 6 December 2019 в 21:17
поделиться

Я пришел из второго лагеря, но я не разочарован - на самом деле я очень доволен языком в том виде, в котором он есть сегодня. Если что-то меня расстраивает, так это ограничения, накладываемые средами выполнения Flash и AIR, а также размер API Flex и AIR, но в большей степени язык ActionScript как таковой.

Конечно, время от времени меня раздражают «недостающие» вещи - поддержка потоковой передачи, предоставляемая пользователем, была бы действительно хорошей, равно как и перегрузка методов, абстрактные классы, реальные перечисления и т. Д. - но в целом я легко найти ActionScript как самый гибкий язык, с которым я когда-либо работал. Мне действительно нравятся мои C # и Java, но по сравнению с ними они кажутся гораздо более жесткими.

0
ответ дан 6 December 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: