Другие языки программирования и технологии

Сложен ли Lua, что на нем писать можно?

Данил Юрин
Данил Юрин
1 604
Нет, не сложен.
Пишут скрипты в приложениях, в большинстве случаев в играх.
Артемий Гареев
Артемий Гареев
6 643
Лучший ответ
Данил Юрин ООП нет, да?
Артемий Гареев Смотря для каких задач использовать. Есть возможность и ООП.
Данил Юрин Возможно ли понять его за час? Вообще на хабре была статейка: "луа за 15 мин"
Луа это один из простейших языков.
Писать на нем можно все что позволяет среда выполнения (сам луа может крайне мало... в каждом отдельном случае его применения, возможности зависят от биндингов внешнего кода).

И откровенно говоря, не шибко приятно на луа писать - потому что циклы питоноподобные, и потому что интерфейсы к тому самому внешнему коду, ну очень тупые... Одно только, на чем душа отдыхает, это на таблицах (единственный объектный тип, интересно реализованный).
Mister Saverin
Mister Saverin
83 454
Данил Юрин Что можно писать на нем?
Alex Wishnik А чем питоподобные циклы отличаются, не могли бы вы более подробно раскрыть тему недостатков языка?
Lua написан на с, нет не сложный язык, но это даже не язык, а так, надстройка к готовым программам.
Я его как раз изучаю. Ответ на первый вопрос и да и нет. Сам язык очень простой, конструкций, типов данных, идиом, зарезервированных слов мало. Сложности растут из его простоты. ООП в чистом готов виде в нем нету, если в других языка ты пишешь класс А наследует класс Б и все. То в Lua придется настроить таблицы и метатаблицы что бы они вели себя как классы наследующие другие классы. То же самое с типами данных. В других языках есть готовый тип очередь, а в Lua ты из таблицы делаешь таблицу которая будет вести себя точно так же как и очередь.

Писать на нем можно:
- игровую логику, сценарии (Warcraft, Minecraft и т. д. используют как раз Lua)
- 2D игры (есть несколько движков)
- скрипты, конфиги
- он используется в базе данных тарантул как язык запросов
- программы для апаратной части (микросхемы, встроенное по)
- ну и при наличии упомянутых выше движков в принципе можно написать просто приложение (для просмотра фото, калькулятор и т. д.)

P.s. но язык все же является не самостоятельным. Если ты серьезно настроен лучше выбрать полноценный язык или учить Lua в связки с Cи, потому как эта пара может все и даже больше.