Всем привет, подскажите/расскажите пожалуйста, что предпочтительней и почему Lua или Jass?

Первая карта (benchmark.w3m) содержит исходники скрипта.
Вторая карта (benchmark-packed.w3m) уже укомплектована DLL с нативками и готова к запуску.
Решил у себя проверить, вот разница от local integer p и local integer dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
Разница в 24нс на 1 итерацию.
Дальше по поводу вызова функций, ForForce добавляет свою задержку, но хз по идее она не должна сильно повлиять, а по поводу сортировки, тут уже отсутствие оптимизации компилятора/интерпретатора, который есть даже на паскале, по этим нюансам офк джасс уступает, но я говорил непосредственно про нативки и про +- дефолтную "конвенцию" и работу со скриптами от большинства картоделов, кому эта разница не увидится нигде.
Но если уже судить по всем пунктам и сразу, то конечно же LUA будет лучше по всем параметрам в плане производительности и скорости, но у Джасса своя ниша, и куда более простой "путь" входа, что фактически является его самым большим и возможно единственным плюсом.
Это все очень хорошо, но так и не дали главный ответ - что лучше луа или джасс? Чтобы можно было закрыть этот тред
Ответ был уже дан - LUA профитнее по большим пунктам, если есть хоть чуть-чуть знания/азы программирования. Если же нет, то Джасс будет проще и быстрее освоить, да и в плане Вар 3 - я считаю что он всё-равно удобнее.
Загруженные файлы
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
25
Ничто. Зависит от целей, которые ты преследуешь. Если ты привык делать все по старинке и не планируешь работать с интерфейсами, то и Jassa хватит. Но с Lua у тебя будет уже меньше кода и больше возможностей в плане гибкости написания. Если есть выбор, то почему бы не сразу на Lua? Тем более язык не только в варике используется.
32
Самое главное что луа то доступен только на рефордже, и играть в свои поделки ты сможешь только такс, это тоже стоит учитывать.
15
Главное, что стоит знать: Jass по производительности не уступает С++.
18
Самое главное что луа то доступен только на рефордже
Добавили для 1.26 еще в прошлом году

Jass по производительности не уступает С++
Современные интерпретируемые языки в 2022 уступают оптимизированному С++ коду, а jass из 2003 конечно производительнее)
15
Vlod, сравни скорость вызова нативок из плюсов и из Джасса.
18
JackFastGame, причем тут скорость исполнения функции из api варкрафта и производительность самого языка. Для примера можете посмотреть как тестируются языки тут habr.com/ru/post/532432
20
Главное, что стоит знать: Jass по производительности не уступает С++.
JackFastGame, причем тут скорость исполнения функции из api варкрафта и производительность самого языка. Для примера можете посмотреть как тестируются языки тут habr.com/ru/post/532432
С++ был и будет всегда быстрее чем джасс и тот же ЛУА, да и он +- в 100 раз быстрее ЛУА (который считается самым быстрым интерпретируемым языком). Но в Варкрафте в целом от этих разницы будет не большая разница, но как и сказал konvan5, если был опыт с ЛУА, то используй его, тем более если планируешь работать на рефорджеде (по-мимо проекта от Ev3nt и китайского YDWE с ЛУА варианто поработать на ЛУА вне рефорджеда и нет). Но вот по фреймам - неправда, ибо нативки и там и там есть и делать можно всё так же.
По вызову нативок, разница была в наносекунды, то бишь JASM байткод в целом обрабатывается на достаточно приемлемой скорости, но лимит Jass обработчика - это циклы, которые имеют лимит (который я не знаю где снимать) и при превышении его нормы игра просто на просто отказывается это "обрабатывать" и уходить в застой. :D
Всё в общем склоняется к твоим навыкам и восприятию ЯП, если же (без обид) тебе с трудом даются ЯП, то Jass будет тебе проще.
15
Я писал много на Jass и могу скзать, что он сильно уступает Lua по удобству. Анонимные функции те же, когда ты пишешь таймер и СРАЗУ же в теле этой структуры с таймером пишешь функцию на исполнение, а не отдельно. Кроме того, когда я писал ботов для моба карты, как же я задолбался с этой хэш таблицей, ключ-значение и сами функции пишутся неудобно громоздко на извлечение/получение данных из хэш-таблицы. Когда на луа вместо хэш-таблицы можно сделать ну очень удобную таблицу и даже метатаблицу. Нету избыточных операторов Call, set... Единственное что, я бы всё равно предпочёл строгую типизацию и вместо Lua если бы нормально работал конвертер, я бы писал на TypeScript всегда.
20
DarkLigthing, typescripttolua.github.io не плохо работает. + есть типы: www.npmjs.com/package/luacraft-1.26 (правда для 1.26), но если автора пнуть - то может сделает и для 1.32
19
Kirill78, к тому же, функционал луа на 1.26 будет расширятся, а с учётом текущих разработок для Jass от Unryze, там будет ещё больше функций.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.