AngelScript (комментарии)
Это сообщение сгенерировано автоматически.
Show me
Прочитал. Опубликовал. Сменил название (надеюсь, ты не против - так более узнаваемо и для пользователей и для поисковиков, всё же).
Неплохая статься вышла, хотя, мне кажется, немного скомкано ;-)
Картинку на сайт загрузить нужно, и ниже её поместить, а не в начале.
slava_mib
Ну, а проверить? :)
slava_mib
> Прочитал. Опубликовал.
пасиб.
slava_mib
> надеюсь, ты не против
не против.
slava_mib
> Неплохая статься вышла, хотя, мне кажется, немного скомкано
)) первый раз пишу статью, поэтому наверно и получилось скомкано + писал её на работе так что постоянно отвлекали. ))
На мой взгляд не хватает ссылок.
А как у него с отладкой?
А вообще, по статье создается ощущение, что левелдизайнеры такой язык не осилят.
По сути это просто еще один С++, только с возможностью запуска кода с прозрачной компиляцией. Зачем?
В статье катастрофически не хватает запятых.
misty
> На мой взгляд не хватает ссылок.
добавил ссылки на маны, но их в принципе и так нетрудно найти в нете.
@!!ex
> А как у него с отладкой?
Присутствует, можно бряки ставить колстек просматривать и значения переменных тоже.
http://www.angelcode.com/angelscript/sdk/docs/manual/index.html
@!!ex
> А вообще, по статье создается ощущение, что левелдизайнеры такой язык не
> осилят.
> По сути это просто еще один С++, только с возможностью запуска кода с
> прозрачной компиляцией. Зачем?
ну он лишён недостатков С++ так сказать и в тоже время сохраняет его синтаксис и стиль написания такой язык гораздо проще выучить да и быстрее нежели LUA или Phyton если ты до этого писал на C++ или С#. в нём нет работы с памятью (сборщик мусора), присутствует возможность добавления мето данных есть свойства, многопоточность, JIT, шаблоны. а уж биндинг насколько шикарен. можно практически любую функцию или класс из стандартных библиотек туда добавить и ненужно при этом писать кучу оболочек, и функции\классы которые ты добавляешь годятся в использование не только для скрипта как сейчас во всех скриптовых языках но и для нормального использования в коде.
Это все плюсы, если мы хотим вынести часть кода в скрипты...
Но зачем?
Задача скриптов - давать высокий уровень доступа к данным. Максимально упрощенный.
В чем профит от того что класс сцены, скажем, доступен в неизменном виде в скрипте? Зачем он там?
@!!ex
> Задача скриптов - давать высокий уровень доступа к данным. Максимально
> упрощенный.
не совсем задача скритов состоит в том чтобы автоматизировать какое либо действие но при этом не менять исходный код программы.
а максимально упрощённый доступ к данным можно сделать на любом языке без всяких скриптов.
@!!ex
> В чем профит от того что класс сцены, скажем, доступен в неизменном виде в
> скрипте? Зачем он там?
а что если ты пишешь гуи на скриптах? те же настройки например, и по нажатию ты просто меняешь что-то в сцене, лучше представь другую ситуацию.
у тебя например есть объект который описывает как где и каким образом должен рендерится объект. и вот тебе нужно описать логику поведения объекта не будешь же ты описывать его поведение в коде, проще написать скрипт в редакторе и там же посмотреть как он работает, но если для других скриптовых языков тебе придётся писать функции обёртки то тут ты его можешь использовать без изменений как в скрипте так и в коде.
и в скрипте код будет выглядеть так
void Update(float time,GameObject@ Object)
{
Object.MovTo(10,20,30);
Object.PlayAnimation("Walk");
}
куда уж проще. а знаю куда сразу с генерировать для пользователя класс это не только проще но и удобнее
class Wolf:IControl
{
GameObject@ Object
void Update(float time)
{
Object.MovTo(10,20,30);
Object.PlayAnimation("Walk");
}
}
Ну ок, у нас просто разные задачи. :)
Chaos_Optima
> JIT
Вот этого и нет как раз.
Есть интерфес для мануального запиливания вашего собственного джита. А из коробки нет.
RPGman
> А из коробки нет.
А как же он скорость выше Lua показывает??
То есть Angel Script без JIT быстрее чем LuaJIT??
@!!ex
> А как же он скорость выше Lua показывает??
Только на отдельно выбранных вычислительных скриптах.
> То есть Angel Script без JIT быстрее чем LuaJIT??
Ни в коем случае. Если оба без jit, то статически типизированный AS где-то на уровне динамического lua, что уже говорит не в пользу as.
Ну а luajit рвет всех как тузик грелку. Не считая монстров вроде v8 :)
Хотя может и v8 рвать, т.к. сравнение было реализовано не оптимальным для луа способом. Грубо взяли javascript код и выразили один в один на луа. В этом случае луа просел.
Тема в архиве.