Коротко о...
WurstScript - компилируемый в Jass язык программирования для создания карт Warcraft 3.
Слово Wurst переводится с немецкого языка как "колбаса". Колбаса, в свою очередь, является ничем иным как символом инкапсуляции (упаковано в прочную кожуру), компактности (удобно хранимое мясо) и модульности (можем порезать на кусочки). Ну а поскольку нам известен состав колбасы, проект так же является открытым и легким в использовании (приготовлении).
Помните: WurstScript и связанные с ним инструменты весьма сложны в разработке и вероятно недостаточно стабильны, поэтому вы можете столкнуться с ошибками и багами, о которых нам еще не известно. Пожалуйста, сообщите о найденных проблемах нам на трекере GitHub.
Примечание: WurstScript написан на Java и потому может быть использован на системах Windows, OS/X и большинстве дистрибутивов Linux.
Философия
WurstScript нацелен на обеспечение быстрого и простого рабочего процесса с комфортной и безопасной функциональностью. Скорость выполнения скриптов не является высокоприоритетной задачей (хотя результат достаточно быстр, в компилятор встроен оптимизатор), предоставляя взамен простую и свободную от стресса разработку карт. Язык достаточно легок в использовании и изучении (в особенности, при наличии знаний Jass/vJass), дружелюбен к начинающим и понятен для пользователей вовсе без навыков Jass.
Тем не менее, нам известно, что WurstScript не заменит vJass на сцене картостроения WC3 (в частности, из-за огромного количества vJass скриптов, которые не могут быть достаточно просто портированы) и все же мы надеемся, что этот язык станет достойной альтернативой, в том числе, для пользователей, которые только пытаются изучить Jass.
Примечание: Данное руководство не предназначено для новичков. Ожидается, что читатель обладает базовыми знаниями в программировании.
Исходный код
$ git clone git://github.com/peq/WurstScript
От автора перевода
Данная статья является довольно вольным переводом оригинального мануала. Из-за весьма неудачной структуры базового руководства, читатель найдет здесь приличное количество отличий от оригинала — многие примеры были заменены более упрощенными эквивалентами, а некоторые главы подверглись сильному изменению. В качестве примера можно привести часть посвященную лямбда-выражениям, которая сразу бросает читателя в понятие функционального интерфейса и только через несколько примеров дает пояснение синтаксической конструкции анонимных функций. В результате она была переписана для более плавного перехода материала от простого к сложному.
Так же данный перевод не является всеобъемлющим. Главы оригинальной статьи, помеченные как возможности в состоянии бета-тестирования или ненадежные были опущены. В том числе, было решено отказаться от добавления такой главы как «vJass vs Wurst».
В общем, за наиболее полной информацией обращайтесь к оригинальному руководству.
Так же данный перевод не является всеобъемлющим. Главы оригинальной статьи, помеченные как возможности в состоянии бета-тестирования или ненадежные были опущены. В том числе, было решено отказаться от добавления такой главы как «vJass vs Wurst».
В общем, за наиболее полной информацией обращайтесь к оригинальному руководству.