Есть ли смысл в использовании в использовании человеко-читаемых языков, типа Gherkin, для написания триггеров зон?

Gherkin — человеко-читаемый язык для описания поведения системы, который использует отступы для задания структуры документа, (пробелы или символы табуляции).

Русскоязычная адаптация этого языка тут: http://wellbehaved.readthedocs.org/ru/latest/index.html

Интересная статья на Хабрахабре: Кто вы, пишущие на Gherkin? Или корнишон в поисках целевой аудитории

5 комментариев

avatar
  • prool
  • 0
У безмозглых людей с большим самомнением (мы называем их менеджерами и гуманитариями) есть мысль, что программирование это очень просто, но чтобы посторонние думали, что это какое-то колдовство, программисты придумали сложные символы типа

a:==b+=14++0x0000f

И что если придумать простую символику, программировать сможет даже пятилетний ребенок или гуманитарий.

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

В первую очередь для программирования триггеров надо иметь мозг и алгоритмическое мышление, а какими символами закодировать алгоритм, это вторично
avatar
  • prool
  • 0
И еще. Мы знаем, что мадами интересуется очень мало людей, а разработкой еще меньше. Поэтому и хотим снизить «барьер вхождения», чтобы даже непрограммисты могли начать писать триггеры и сценарии. Но у простых языков программирования, похожих на естественные, есть недостаток, из-за похожести на естественный язык неподготовленный человек будет писать как будто бы он пишет письмо или инструкцию человеку. А здесь тоже есть операторы, аргументы, комментарии, просто все запутано и перемешано. Такие языки скорее принесут вред, чем пользу

Скрипт:

Входит моб, убивает всех, ест трупы, радуется, спит
avatar
Входит моб, убивает всех, ест трупы, радуется, спит

Ну, так то прикольно получается. :) Но мне кажется, что таким скриптам не будет хватать гибкости.
avatar
  • prool
  • 0
Еще одна дурацкая идея. Писать инструменты под задачи и под разработчиков. Пока проект маленький и все программисты, пусть программисты пишут скрипты на lua или еще на чем. Они программисты, они справятся.

А когда (или если) проект начнет расти и появятся билдеры-«гуманитарии», надо писать простой язык сценариев под них по их запросам и возможностям.
avatar
здесь был длинный коммент, но из-за недостатка кармы сразу после регистрации я не смог его отправить, а теперь он потерялся.

Кратко: надо сразу делать декларативные фичи для выбранного скриптового языка, чтобы вместо

for each monster in room.monsters
    if isKobold(monster) then
        monster.DoStuff
        break
    end if
end for


можно было писать

room.monsters.First(isKobold).DoStuff


и будет всем счастье.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.