Язык программирования « Lua » 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Язык программирования « Lua »



Lua - язык программирования, создателями которого являются Роберту Иерузалимски, Валдемар Селиш и Луис Энрике ди Фигейреду. С трудом верится, что такой популярный язык могли создать не где-нибудь в Кремниевой Долине или MIT, а в солнечной Бразилии. В стране, которая, казалось бы, находится довольно далеко от центров сосредоточения IT. Тем не менее, в одном из подразделений Католического университета Рио-де-Жанейро смогли создать настолько гибкий и мощный язык, что сейчас он находит широкое применение во многих областях.

Всё началось с разработки вспомогательного языка для нефтяной компании PETROBRAS. Инженерам-нефтяникам требовался графический фронтэнд для обработки данных по симуляции определенных процессов. При этом оборудование могло быть самым разным - и PC DOS, и UNIX, Macintosh, поэтому многие уже существующие языки (Perl, например) просто не подходили, так как работали только на одной из этих систем. На этом этапе был разработан язык под названием DEL (data entry language). Со временем, возможностей этого языка стало не хватать, поэтому был разработан новый язык, названный SOL (simple object language). И, наконец, в 1993 году разработчики поняли, что их можно объединить в один полноценный язык программирования, которые был назван Lua (по-португальски Sol это солнце, а Lua - луна). Кстати, в 1996 году Роберту Иерузалимски и другие авторы языка решили рассказать о своей работе миру и отправили статью про Lua в журнал “Software: Practice & Experience”. Позже про Lua напечатали в журнале “Dr.Dobb’s”, из которого о нем узнал один из главных разработчиков адвенчурных игр в LucasArts. Решив использовать Lua вместо их собственного скриптового языка, он был поражен его простотой и эффективностью. В результате этого большая часть разрабатываемой в тот момент игры была переписана на Lua, что способствовало росту его популярности.

К плюсам Lua относятся:

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

· возможность быстро добавить к приложению на Lua библиотеку на С

· легкость развертывания программ

· легкий синтаксис

· программы на Lua потребляют мало памяти

· распространяется по лицензии MIT, поэтому можно бесплатно использовать и для бизнес проектов

Обоснование выбора    

Большие приложения, использующее Lua в своем ядре (например, Adobe Photoshop Lightroom), имеет внешнюю программу C/С++, на которой размещен интерпретатор Lua, и предоставляет доступ к его основным функциям, регистрируя функции C с этим интерпретатором. Обычно он реализует основные функции, связанные с вычислением, в функциях C, но оставляет общий поток, работу и даже макет графического интерфейса для сценариев Lua.

Важные моменты для проектов включают:

1. Истинные хвостовые вызовы позволяют легко выражать конечные конечные машины.

2. Управление памятью, собранной с помощью мусора.

3. Анонимные функции, замыкания, значения функций первого класса.

4. Хэш-таблицы.

5. Богатая библиотека строк.

6. Userdata расширяет сборщик мусора до распределения сторон C.

7. Metatables позволяют использовать разнообразные объектно-ориентированные и функциональные методы.

8. Небольшой, но достаточно мощный API C.

9. Хорошая документация с открытым исходным кодом в качестве резервной копии.

10. Хороший пользователь для поддержки пользователей через список рассылки и wiki.

11. Мощные модули, такие как PEG парсер, доступный от авторов и.

Основываясь на всем вышесказанном, был сделан выбор в пользу lua. Ключевые факторы: быстрая разработка, предпочтительный язык, множество готовых решений, чтобы не изобретать велосипед.

 

 



Поделиться:


Последнее изменение этой страницы: 2021-05-12; просмотров: 101; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.27.232 (0.003 с.)