Архив метки: Lua

Про Lua

Когда я узнал про язык Lua, я нашел бесценный инструмент — простой, легкий и универсальный. Когда узнал, что его история началась в 1993 году, я задался целью понять, что помешало этому инструменту занять подобающее ему место на вершине технологий. Когда пообщался с разработчиком, все стало на свои места.

Профессор Роберту Иерусалемски написал инструмент для внутренних проектов лаборатории компьютерной графики. Он не против его использования всеми, занимается его популяризацией — пишет книги, участвует в конференциях, взаимодействует с сообществом — но не желает выпускать его из рук. В результате у нас есть справочник по языку, который может быть переведен совершенно свободно, и есть книга, защищенная авторскими правами и не может из-за этого быть переведена силами сообщества. На русский язык существует лишь один перевод 3-го издания и никаких надежд на переводы следующих. Локальные сообщества стихийно вспыхивают и гаснут, ну или превращаются в сообщества более специализированных продуктов на основе Lua. Проекты создаются, поддерживаются энтузиастами и тоже гибнут вдали от «центра». Неудивительно, что сейчас разработка на этом языке подобна «бойцовскому клубу», первое правило которого «никому не говори о бойцовском клубе». Есть масса людей, занимающихся этим языком, масса продуктов — от роутеров Mikrotik до Adobe Lightroom и игр WoW и Angry Birds — где они внедрены в качестве внутреннего языка программирования, но нет ни единого сообщества, ни даже ресурсов, объединяющих всю эту разношерстную аудиторию.

Разработчики Python этой ошибки избежали. Сообщество огромно, как и наработанная им кодовая база. Жаль, что профессору до этого как не было никакого дела, так и нет.

Метки:

Lua

«Католицизм — это круто». Кевин Смит, «Догма».

Lua — это язык программирования, написанный подразделением технологий компьютерной графики Папского Католического университета Рио-Де-Жанейро. Все-таки католики знают толк в миссионерстве — о языке Lua нет даже нейтральных отзывов, только восторженные. И восторг этот, как оказалось, вполне оправдан.

Lua («луна» по-португальски) проектировался — и до сих пор является непревзойденным в этом своем качестве — как встраиваемый язык сценариев. Он компактен — всего 300 кило(!)байт; он прост — изучается без преувеличения за час; однако простота не синоним ограниченности, он мощен — поддерживает императивный, функциональный, объектно-ориентированный подходы, в нем даже есть многопоточность.

И он быстр — об этом говорит успешное применение в графике вообще и в видеоиграх в частности. В простеньком Angry Birds и в «навороченном» World of Warcraft, во вполне коммерческом Adobe Lightroom и в полностью свободном GIMP, в системном OpenWRT и прикладном SciTe — то есть везде, где быстрая низкоуровневая платформа нуждается в удобной и гибкой логической надстройке.

Lua работает везде. От мобильных устройств на Android, iOS и Symbian (и даже проще — игрушечных роботов Lego Mindstorm тоже можно программировать на Lua) до мейнфреймов. Впрочем, на мейнфрейме можно запустить все, что угодно, это не особенно интересно. Зато интересна поддержка всех разновидностей Windows, Linux и UNIX. Да, и MacOS с WindowsPhone тоже.

Определенно, Бог создал мир за шесть дней потому, что написал его на Lua.

Метки: