- Pawno
-
Pawn Тип исполнения: Появился в: 1998 г.
Автор(ы): ITB CompuPhase
Расширение файлов: .pwn, .p, .amx
Релиз: Испытал влияние: Small-C[2]
Лицензия Сайт: Pawn (прежнее название — Small)[1] — простой, не типизированный 32-битный скриптовый язык программирования с синтаксиcом, подобным языку Си. Компилятор генерирует P-код (или байт-код), запускаемый на абстрактной машине. Файлы исходного кода Pawn имеют расширение *.pwn. Скомпилированные и готовые к исполнению файлы получают расширение: *.amx
Содержание
История языка
Введение в язык Pawn и в понятие абстрактной машины было описано как перспектива программистов, и опубликовано в журнале доктора Добба[3] в октябре 1999 года. Язык был разработан для начинающих программистов, которые допускали множество ошибок, связанных с освобождением памяти компьютера.[4]
Основой для Pawn был взят язык Си. Целью разработчиков было упростить и изменить язык Си таким образом, чтобы синтаксис языка позволял избегать или обходить те ошибки, которые допускают неопытные программисты. Выбор языка Си определило то, что этот язык в тот момент достиг максимума своего развития и был довольно популярен.[4]
Особенности языка
Pawn очень похож на другие языки, однако он от них фундаментально отличается
- Pawn, как язык, не имеет встроенных ресурсов памяти.
- Pawn не объектно-ориентированный язык. Pawn является процедурным и полагается на подпрограммы и Callback'и. Так же у него нету Си-подобных структур.
- Pawn однопоточный язык программирования.
Применение языка
Grand Theft Auto: San Andreas Multiplayer
Язык Pawn активно используется для написания игровых режимов/сценариев, использующие API, для собственных серверов популярного неофициального мультиплеера San Andreas Multiplayer игры Grand Theft Auto: San Andreas.
Counter Strike: AmxModX и SourceMod
Язык Pawn используется в написании плагинов для модулей AmxModX и SourceMod, которые позволяют выполнять сценарии на серверах мультиплеера игры Counter Strike.
Типы данных
В языке Pawn существует только 3 типа данных:
- Целые числа, Integer (при объявлении переменной тип данных указывать не требуется, new Переменная;)
- Числа с плавающей точкой (new Float:Переменная;)
- Логический тип, булев или Boolean (new bool:Переменная;)
Примеры кода
Пример создания и использования массива для целочисленных значений
#include <core> main() { new array[4]; // Инициализация массива с 4 элементами array[0] = 43; // Изменение значения элемента с индексом 0 array[1] = 10; // Изменение значения элемента с индексом 1 array[2] = 799; // Изменение значения элемента с индексом 2 array[3] = 1212; // Изменение значения элемента с индексом 3 return 1; // Возвращает 1 }
Пример цикла и оператора if-else
#include <core> main() { for(new i = 0; i < 10; i++) { if(i != 9) printf("%d,", i); else print("девять"); } return 1; // Возвращает 1 или true }
Примечания
- ↑ 1 2 The Pawn Language (англ.). Проверено 19 июля 2011.
- ↑ The Pawn Booklet: 1. Language Guide (4 марта 2008).
- ↑ Dr. Dobb’s Journal (англ.).
- ↑ 1 2 The Pawn language - language and toolkit features (англ.). Проверено 19 июля 2011.
Ссылки
- The Pawn Language (англ.) — официальный сайт
- Русский портал о Pawn скриптинге (рус.) - форум по программированию
Категории:- Появились в 1998 году
- Языки программирования по алфавиту
- Свободные компиляторы и интерпретаторы
- Скриптовые языки
Wikimedia Foundation. 2010.