URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 89171
[ Назад ]

Исходное сообщение
"В Wikipedia добавлена поддержка разработки шаблонов на языке..."

Отправлено opennews , 19-Мрт-13 00:44 
Фонд Wikimedia сообщил (https://blog.wikimedia.org/2013/03/14/what-lua-scripting-mea.../) об активации в англоязычном сегменте Wikipedia новой системы разработки шаблонов, базирующейся на использовании языка Lua. Использование Lua позволит решить проблемы с излишней усложнённостью и низкой эффективностью действовавших ранее механизмов создания шаблонов.


Шаблоны позволяют пользователям MediaWiki автоматизировать создание типового контента, включаемого в другие страницы, и создавать инструменты для манипуляции данными, превращая wikitext в некое подобие языка программирования. До сих пор шаблоны для  MediaWiki создавались (http://www.mediawiki.org/wiki/Scripting) с использованием дополнительной wiki-разметки и расширения ParserFunctions (http://www.mediawiki.org/wiki/Extension:ParserFunctions), что создавало существенные ограничения на функциональность и приводило к затратам значительных ресурсов при выполнении.


Такие особенности языка Lua, как изначальная ориентация на эффективное встраивание в сторонние приложения, эффективная работа с памятью, высокая производительность (применяется JIT-компиляция) и компактность, позволили существенно увеличить производительность системы шаблонов и снизить нагрузку на CPU. Поддержка шаблонов на языке Lua реализована в виде дополнения Scribunto (https://www.mediawiki.org/wiki/Extension%3AScribunto). Код на языке Lua сохраняется на специальных страницах и определяется в виде модулей, которые затем могут быть вызваны через конструкцию {{#invoke:modulename|functionname}}".


URL: https://blog.wikimedia.org/2013/03/14/what-lua-scripting-mea.../
Новость: http://www.opennet.me/opennews/art.shtml?num=36428


Содержание

Сообщения в этом обсуждении
"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Serge , 19-Мрт-13 00:44 
Хорошему языку хорошее применение. Молодцы.

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 02:19 
Парадокс. Хороший язык без какой либо вменяемой стандартной библиотеки.

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 03:44 
Там есть стандартная библиотека, и весьма вменяемая.

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 10:57 
кто-то считает ЭТО хорошим? языком?
lua -e "local a = 0; if a then print(42) end"

да он упоротее даже js


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Michael Shigorin , 19-Мрт-13 13:20 
> lua -e "local a = 0; if a then print(42) end"

Совершерно не зная lua, проверил для 0, 1 и nil.  Может, рассудите тогда C и sh? :)


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 19-Мрт-13 17:08 
> кто-то считает ЭТО хорошим? языком?

да, считает. а вот некий конкретный анонимус — увы, но дурак.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 23:23 
> да он упоротее даже js

А он позволяет юзать переменные которые не были задекларированы ранее? За одно это авторов JS следовало бы придушить. Потому что через полчаса работы программа где-то красочно осыпается. А то что это потому что в какой-то переменной было не то что задумано - так поди там разберись через полчаса работы, угу...


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 20-Мрт-13 09:22 
>> да он упоротее даже js
> А он позволяет юзать переменные которые не были задекларированы ранее?

по умолчанию — позволено. впрочем, в стандартной поставке идёт модуль strict, который при попытке использовать необъявленную переменную орёт матом и всё роняет.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 20-Мрт-13 09:23 
p.s. с другой стороны, сделать простой инспектор кода vm — для этих же целей — пол-часа работы.

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено бедный буратино , 19-Мрт-13 06:55 
Они услышали мои молитвы.

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 11:51 
> Они услышали мои молитвы.

Теперь там будет пых и луа. Надо еще JS погуще сдобрить и перл привинтить. Для особо тяжелых шаблонов надо сделать возмодность звать си++. А потом со всей этой фигней мы попробуем взлететь...


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено бедный буратино , 19-Мрт-13 12:02 
> Теперь там будет пых и луа. Надо еще JS погуще сдобрить и перл привинтить.

И по сравнению с текущими шаблонами это будет шаг к упрощению.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 17:14 
> И по сравнению с текущими шаблонами это будет шаг к упрощению.

Ну вообще да, система шаблонов там тот еще mindfuck.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 07:55 
Зачем это надо

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено noize , 19-Мрт-13 09:22 
Lua - интересный язык, жаль, что книг на русском языке по нему нету ((

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Спокойный аноним , 19-Мрт-13 09:44 
> Lua - интересный язык, жаль, что книг на русском языке по нему
> нету ((

lua.ru/doc


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено kurokaze , 19-Мрт-13 10:55 
> Lua - интересный язык, жаль, что книг на русском языке по нему нету ((

Как раз не жаль - дополнительный барьер от быдлокодеров


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 11:52 
> Lua - интересный язык, жаль, что книг на русском языке

Если вы не знаете английский, нормально программировать вы не научитесь вообще никогда. Примите это как данность. Исключения конечно бывают, но они редки как пингвины в пустыне Сахара.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено бедный буратино , 19-Мрт-13 12:20 
>> Lua - интересный язык, жаль, что книг на русском языке
> Если вы не знаете английский, нормально программировать вы не научитесь вообще никогда.
> Примите это как данность. Исключения конечно бывают, но они редки как
> пингвины в пустыне Сахара.

Для игрушек на love2d и instead или кампаний для wesnoth самое главное - это не "правильно", самое главное - это чтобы было интересно. Не думаю, что умение программировать и умение творчески делать интересные истории хоть как-то связаны, скорее даже наоборот.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 18:43 
> Для игрушек на love2d и insteadили кампаний для wesnoth самое главное
> - это не "правильно", самое главное - это чтобы было интересно.

Поиметь систему пользователя который скачал с сервака аддон - это достаточно интересно. Для хацкеров. Благо, на сервак может лить аддоны кто угодно. Разработчики веснота были достаточно умны чтобы это детектировать и осознать проблему. Вообще, BfW с головой сделан, как нормальная качественная игра. Низкий уровень - на си++, простой проблемо-ориентированный язык сценариев и разметки карты - если наворотов не надо, Lua для продвинутостей типа кастомного AI, способного на вычисления с логикой отличной от дефолтной. Вот как-то так и делают игрушки все нормальные серьезные игроделы. Заметь, Lua не центр вселенной. А лишь кирпичик уложенный в правильном месте. Там он хорош и правилен и никаких возражений ни у кого не вызывает.

> Не думаю, что умение программировать и умение творчески делать интересные истории
> хоть как-то связаны, скорее даже наоборот.

Как бы это сказать? Я видел несколько весьма приятных кампаний от людей которые явно умеют программировать, выполненных на приличном техническом уровне. Хотя командой с разделением труда это делается проще и лучше. Особенно графика для юнитов в стиле пиксель-арта. Пиксель-арт требует некоего времени на освоение на хорошем уровне и качественно рисовать в этом стиле, увы, умеют не все. Тем не менее, если некий автор делает качественный скелетон и историю - юнитов ему таки обычно рисуют, если сам вдруг не справился. К тому же у BfW на данный момент есть довольно большая "палитра" готовых тайлов, юнитов и прочего. Поэтому тот кто не умеет рисовать - может взять готовые, вполне прилично выглядящие ресурсы как "затычку". А потом ему народ приходит и дорисовывает кастомных юнитов, если кампания в целом им нравится. А так - есть довольно много аддонов с shared ресурсами, ориентированными на использование более чем в 1 адд-оне. По сути нечто типа примитивного менеджера пакетов с зависимостями. Официальные аддоны, кстати, в дебианообразных вкатываются и нормальным системным пакетным менеджером, что очень мило.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 20:05 
> Для игрушек на love2d и instead или кампаний для wesnoth самое главное
> - это не "правильно", самое главное - это чтобы было интересно.
> Не думаю, что умение программировать и умение творчески делать интересные истории
> хоть как-то связаны, скорее даже наоборот.

Дададад, так наверное в microsoft пишут. Чтобы интересно было. Такие "интересно" написанные игры потом имеют ту же ценность что и поток из /dev/random - на новой версии интерпретатора их не запустишь, а старая уже не собирается. Всё, в помойку, как обыкновенную проприетарщину. А могли бы быть вечными произведениями искусства.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 09:23 
В то время, когда даже создатель Awesome признал, что лучше бы он писал проект на питоне чем связывался Lua, некоторые слоупоки и некроманты только начинают его для себя открывать.

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 09:30 
А вот на это ссыль, пожалуйста. Интересно, какие преимущества в пайтоне по сравнению с lua нашёл разработчик Awesome.

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено BratSinot , 19-Мрт-13 09:43 
Тем-что Lua это <censored>. Лично пытался интегрировать его с своей прогой, так и не получилось ничего вразумительного сделать. Вот с Pearl'ом проблем не возникло, ни из C->Perl, ни Perl->C

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 10:30 
Ты разработчик awesome или просто решил свои пять копеек вставить?

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 11:54 
> Тем-что Lua это <censored>. Лично пытался интегрировать его с своей прогой,

А вот авторы Battle for Wesnoth заменили бидон на Lua и довольны. Тем паче что бидон в принципе нельзя подпускать к запуску абы каких скриптов сгруженных с сервера: автор аддона может поиметь пользователю всю систему. С другой стороны, Lua работает в песочнице и нагадить не может. Что делает его не самым плохим выбором для загружаемых скриптов которым нет полного доверия. Не зря он все-таки Limited User Access. Для генеримого абы кем контента заливаемого фиг знает откуда - это Limited очень кстати.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено бедный буратино , 19-Мрт-13 12:03 
>> Тем-что Lua это <censored>. Лично пытался интегрировать его с своей прогой,
> А вот авторы Battle for Wesnoth заменили бидон на Lua и довольны.

По соображениям безопасности. Потому что там много невесть-чего в репозиториях, а писать собственную реализацию python без мощей им не захотелось. Правильный и разумный выбор для такой среды.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 19-Мрт-13 17:26 
> Не зря он все-таки Limited User Access.

с этим — в винду. а Lua — это Lua. не акроним. слово. Луна это. сюрпрайз?


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено Аноним , 19-Мрт-13 18:50 
> с этим — в винду.

Тем не менее, в BfW его выбрали именно по этому критерию. Что можно очень контролируемо давать доступ этому скриптобарахлу дергать сильно некоторые севые функций игры, доступ к параметрам и прочая, но не какой либо доступ в всю остальную систему. С питоном это не вышло и были лазейки. Весьма критичные, т.к. на сервак аддонов кто угодно может заливать аддоны и как-то совсем не айс если аддон хакнет юзеру систему.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 19-Мрт-13 18:55 
>> с этим — в винду.
> Тем не менее, в BfW его выбрали именно по этому критерию.

да пусть себе. это не повод коверкать название.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 19-Мрт-13 17:26 
> Лично пытался интегрировать его с своей прогой, так
> и не получилось ничего вразумительного сделать.

так это не Lua виновата, это у тебя руки не туда примонтированы.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено anonymous , 19-Мрт-13 15:51 
http://julien.danjou.info/blog/2011/why-not-lua

Очень хорошая статья, в которой он, в частности, сетует, что при написании Awesome, подпирая косяки Lua своими костылями он в итоге написал свою неспецифицированную, глючную и медленную реализацию Лиспа^W Питона.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 19-Мрт-13 17:28 
> http://julien.danjou.info/blog/2011/why-not-lua

как хорошо, что я не стал пользоваться этим гуано от криворукой обезьяны.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 18:53 
> http://julien.danjou.info/blog/2011/why-not-lua

Какой-то высосанный из пальца ranting хз о чем.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 19-Мрт-13 18:58 
>> http://julien.danjou.info/blog/2011/why-not-lua
> Какой-то высосанный из пальца ranting хз о чем.

о том, что аффтар cannot into stacks. удивляюсь, как он на си пишет: там же можно указателем промазать!

ну, оно и не удивительно, кстати, что этот авесоме у меня давно отказался собираться. к лучшему.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено Аноним , 19-Мрт-13 23:17 
Ну там есть более-менее сносная предъява насчет того что валгриндом такая утечка не обнаружится. Надуть валгринд, чтобы он не заметил этого - это еще суметь надо. С другой стороны, если програмер начнет безбашенно шарашить себе пулями в пятки - на сях простора по прострелу пяток еще больше :). Хотя именно валгринд обдурить - не очень просто, я бы сказал.

"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 20-Мрт-13 09:16 
> Ну там есть более-менее сносная предъява насчет того что валгриндом такая утечка
> не обнаружится.

угу. а ещё валгринд кофе не варит, зараза.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено eoranged , 20-Мрт-13 17:30 
Человек расписал почему конкретный язык не подходит для его конкретного проекта и признался, что он — дурак и выбрал неправильный язык под свои задачи. А вы тут из пустого места срачик разводите.

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено бедный буратино , 19-Мрт-13 09:45 
Надо будет - появится какой-нибудь CoffeeLua :)

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Спокойный аноним , 19-Мрт-13 09:48 
Обладая элементарным знанием о том, что:

>> Lua не стремится сохранять обратную совместимость: например, версия 5.1 не была совместима с 5.0.

вся эта затея будет выпилена через 3-5 года.



"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено VoDA , 19-Мрт-13 10:48 
> Обладая элементарным знанием о том, что:
>>> Lua не стремится сохранять обратную совместимость: например, версия 5.1 не была совместима с 5.0.
> вся эта затея будет выпилена через 3-5 года.

Либо запилят свой Lua с обратной совместимостью )))



"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено бедный буратино , 19-Мрт-13 11:00 
>>>> Lua не стремится сохранять обратную совместимость: например, версия 5.1 не была совместима с 5.0.
>> вся эта затея будет выпилена через 3-5 года.
> Либо запилят свой Lua с обратной совместимостью )))

Обычно в репах мирно живут и 5.0, и 5.1, и 5.2. Причём, написанное для 5.2 обычно работает и в 5.2 и в 5.1.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 18:57 
> написанное для 5.2 обычно работает и в 5.2 и в 5.1.

Не скажу за Lua, а в бидоне старые скриипты традиционно не изволят работать на новых версиях интерпретера, что бесит неимоверно. Надо или содержать кучу версий, или половину портянки переписывать.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 19-Мрт-13 19:01 
> Не скажу за Lua

а я скажу. пятёрка весьма неплохо совместима, если в скриптах не использовали deprecated features (а именно их и выкидывают постепенно). а мажорную версию поднимают при кардинальных изменениях как в языке, так и в API (что случалось нечасто и было весьма обосновано). Lua 6 на горизонте пока не видать.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено YetAnotherOnanym , 19-Мрт-13 12:14 
Имел в своё время геморрой с привязкой

"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено YetAnotherOnanym , 19-Мрт-13 12:16 
чорт, всегда вместе с "й" на "tab" нажимаю
... с привязкой Lua к Verlihub, вынес убеждение, что для мелких поделок годится, но не более.

"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 19-Мрт-13 17:29 
> для мелких поделок годится, но не более.

руки-крюки ещё и не в таком могут убедить, да.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 18:59 
> ... с привязкой Lua к Verlihub, вынес убеждение, что для мелких поделок годится, но не более.

Его типовое применение - скрипты в игрушках всяких. С относительно тормозной и высокоуровневой логикой, где всю тяжелую работу севый бэкэнд разруливает. В таком виде оно даже ничего так.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 19-Мрт-13 19:02 
кагбэ Lua и так офигенно быстрая. а если ещё LuaJIT затащить, то совсем офигенно быстрая. при этом мелкая и простая. из-за чего её игроделы и выбирают.

"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено Аноним , 19-Мрт-13 23:04 
> кагбэ Lua и так офигенно быстрая.

Быстро относительно чего? Если какого-нибудь бидона - ну да, только негуманно это - слоупочную змею пинать.

> а если ещё LuaJIT затащить, то совсем офигенно быстрая. при этом мелкая и простая.
> из-за чего её игроделы и выбирают.

Тем не менее, реально требовательные к скорости куски, т.е. весь движок - они обычно на плюсах пишут.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 20-Мрт-13 09:17 
>> кагбэ Lua и так офигенно быстрая.
> Быстро относительно чего?

других скриптовых языков.

>> а если ещё LuaJIT затащить, то совсем офигенно быстрая. при этом мелкая и простая.
>> из-за чего её игроделы и выбирают.
> Тем не менее, реально требовательные к скорости куски, т.е. весь движок —
> они обычно на плюсах пишут.

я тебе секретно скажу, что AI тоже очень требователен к скорости. ан вот скриптуют — только пыль летит.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Green Dog , 19-Мрт-13 21:41 
а Lua изначально и разрабатывалась как встраиваемый в приложения язык. "Вот вам полено, какого хотите, такого буратино из него и вырезайте." (Разработчики не предпологали же, что его будут использовать как полноценный ЯП.)
Ну и плюс: лёгкость в изучении.

"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 20-Мрт-13 09:19 
> не предпологали же, что его будут использовать как полноценный ЯП

как раз именно это — предполагали. а вот на то, чтобы использовать Lua как standalone — не затачивали.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено YetAnotherOnanym , 19-Мрт-13 22:57 
> Его типовое применение - скрипты в игрушках всяких

не только, но, ЧСХ, самостоятельных программ на нём, вобщем-то, нет.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено Аноним , 19-Мрт-13 23:08 
> ЧСХ, самостоятельных программ на нём, вобщем-то, нет.

Смотря что считать за самостоятельную программу. Ну вон морда у опенврт на луа написана. Она самостоятельная программа или нет? А так - ну да, он больше катит как не жирный и не тормозной движок скриптинга. За что его и юзают в основном.


"В Wikipedia добавлена поддержка разработки шаблонов на..."
Отправлено arisu , 20-Мрт-13 09:19 
>> Его типовое применение — скрипты в игрушках всяких
> не только, но, ЧСХ, самостоятельных программ на нём, вобщем-то, нет.

и не надо. у Lua есть конкретное предназначение — быть встраиваемой. она с этим отлично справляется.


"В Wikipedia добавлена поддержка разработки шаблонов на языке..."
Отправлено eoranged , 20-Мрт-13 17:34 
> не только, но, ЧСХ, самостоятельных программ на нём, вобщем-то, нет.

Prosody — отличный пример.

А вообще, на чистом Lua программы с нуля никто особо и не пишет, поскольку слишком велик соблазн интегрироваться с чем-то готовым сишным, ибо быстро и удобно.