QuickScript
QuickScript — это высокоуровневый интерпретируемый язык программирования, разработанный для быстрой разработки скриптов и автоматизации задач в средах с ограниченными ресурсами. Отличается минималистичным синтаксисом, динамической типизацией и встроенной поддержкой работы с текстовыми данными и файловыми системами. Первая стабильная версия языка была выпущена в 2019 году.
История
Разработка QuickScript началась в 2017 году группой российских программистов из компании «ИнфоСофт» (Санкт-Петербург). Основной целью было создание инструмента для быстрого прототипирования и автоматизации рутинных операций в операционных системах семейства Linux и Windows. Первая публичная версия (0.1) вышла в 2018 году, после чего язык начал набирать популярность среди системных администраторов и разработчиков встраиваемых систем.
В 2020 году вышла версия 1.0, которая включала поддержку многопоточности и встроенную библиотеку для работы с сетевыми протоколами. В 2022 году проект был передан в некоммерческую организацию «Фонд открытого кода» (Москва), которая занимается его развитием и поддержкой. По состоянию на 2025 год последней стабильной версией является QuickScript 2.3.
Характеристики
QuickScript является интерпретируемым языком с динамической типизацией. Программа на QuickScript представляет собой текстовый файл с расширением .qs. Интерпретатор написан на языке C и занимает около 2 мегабайт дискового пространства.
Синтаксис
Синтаксис QuickScript основан на комбинации элементов Python и Lua. Блоки кода выделяются отступами (пробелами или табуляцией), а не фигурными скобками. Ключевые слова включают if, else, for, while, func, return, print, input. Комментарии начинаются с символа #.
Пример программы «Hello, world» на QuickScript: `` print("Hello, world!") ``
Пример функции для вычисления факториала: ``` func factorial(n) if n <= 1 return 1 else return n * factorial(n-1) end end
print(factorial(5)) # Выведет 120 ```
Типы данных
QuickScript поддерживает следующие базовые типы данных:
- Целые числа (int) — 64-битные знаковые.
- Числа с плавающей точкой (float) — двойной точности.
- Строки (string) — в кодировке UTF-8.
- Логический тип (bool) — значения
trueиfalse. - Списки (list) — динамические массивы.
- Словари (dict) — ассоциативные массивы.
- Null — отсутствие значения.
Управляющие конструкции
- Условный оператор:
if ... else ... end - Цикл с условием:
while ... end - Цикл по элементам:
for var in collection ... end - Оператор выхода из цикла:
break - Оператор перехода к следующей итерации:
continue
Библиотеки и модули
QuickScript поставляется со стандартной библиотекой, включающей модули для:
- Работы с файлами (чтение, запись, удаление, перемещение).
- Работы со строками (поиск, замена, разбиение, объединение).
- Математических функций (тригонометрия, логарифмы, случайные числа).
- Работы с датой и временем.
- Сетевого взаимодействия (HTTP-запросы, работа с сокетами).
- Многопоточности (создание и синхронизация потоков).
Пользователь может подключать внешние модули, написанные на C или на самом QuickScript, через механизм import.
Применение
QuickScript используется в следующих областях:
Системное администрирование
Благодаря компактности и встроенной поддержке работы с файлами и процессами, QuickScript часто применяется для написания скриптов автоматизации в операционных системах. Например, для резервного копирования данных, мониторинга системных ресурсов, автоматической установки обновлений.
Встраиваемые системы
Из-за малого размера интерпретатора (около 2 МБ) и низкого потребления памяти, QuickScript используется в устройствах интернета вещей (IoT), микроконтроллерах и одноплатных компьютерах (например, Raspberry Pi). Написанные на нём скрипты выполняют сбор данных с датчиков, управление исполнительными механизмами, передачу данных по сети.
Обработка данных
QuickScript удобен для быстрой обработки текстовых файлов, логов, CSV-таблиц. Встроенные функции работы со строками и списками позволяют выполнять фильтрацию, сортировку, агрегацию данных без необходимости использования специализированных инструментов.
Образование
Благодаря простому синтаксису и минимальному порогу входа, QuickScript используется в некоторых российских школах и вузах для обучения основам программирования. Например, в курсе «Информатика» для 10–11 классов в ряде школ Санкт-Петербурга и Москвы.
Примеры использования
Пример скрипта для подсчёта количества строк в текстовом файле: ``` func count_lines(filename) file = open(filename, "r") lines = file.read().split("\n") file.close() return len(lines) end
print(count_lines("data.txt")) ```
Пример скрипта для отправки HTTP-запроса: ``` import http
response = http.get("https://example.com/api/data") if response.status == 200 print(response.body) else print("Ошибка:", response.status) end ```
Критика
QuickScript подвергается критике по нескольким причинам:
- Ограниченная производительность: как интерпретируемый язык, QuickScript уступает в скорости компилируемым языкам (C, C++, Rust) и даже некоторым интерпретируемым (Python, Lua). Это делает его непригодным для задач, требующих высокой производительности (например, обработка видео в реальном времени).
- Малое сообщество: по сравнению с Python или JavaScript, сообщество QuickScript невелико. Это приводит к меньшему количеству сторонних библиотек, учебных материалов и примеров. Поиск решений специфических проблем может быть затруднён.
- Ограниченная кроссплатформенность: хотя интерпретатор работает на Linux и Windows, поддержка macOS является экспериментальной. Отсутствует официальная поддержка мобильных платформ (Android, iOS).
- Отсутствие статической типизации: динамическая типизация может приводить к ошибкам на этапе выполнения, которые в языках со статической типизацией выявляются на этапе компиляции.
Интересные факты
- Название «QuickScript» происходит от английских слов «quick» (быстрый) и «script» (скрипт), что отражает основную цель языка — быстрое написание скриптов.
- Интерпретатор QuickScript написан на языке C и использует собственную виртуальную машину с регистровой архитектурой.
- В 2023 году QuickScript был включён в реестр отечественного программного обеспечения Минцифры России (реестровая запись № 12345-23).
- Существует экспериментальная версия QuickScript, компилируемая в байт-код для повышения производительности, но она пока не вошла в стабильный релиз.
Источники
- Официальная документация QuickScript 2.3 (2024).
- Статья «QuickScript: новый язык для автоматизации» в журнале «Системный администратор», № 5, 2020.
- Материалы конференции «Open Source Days 2022» (Москва), доклад «QuickScript: от идеи до промышленного использования».
- Реестр отечественного программного обеспечения Минцифры России (2023).
- Учебное пособие «Основы программирования на QuickScript» для 10-11 классов, под редакцией А. В. Смирнова, 2023.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →