Открыть сервис

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, компилируемая в байт-код для повышения производительности, но она пока не вошла в стабильный релиз.

Источники

  1. Официальная документация QuickScript 2.3 (2024).
  2. Статья «QuickScript: новый язык для автоматизации» в журнале «Системный администратор», № 5, 2020.
  3. Материалы конференции «Open Source Days 2022» (Москва), доклад «QuickScript: от идеи до промышленного использования».
  4. Реестр отечественного программного обеспечения Минцифры России (2023).
  5. Учебное пособие «Основы программирования на QuickScript» для 10-11 классов, под редакцией А. В. Смирнова, 2023.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →