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

Амиго С: язык программирования

Амиго С — это язык программирования, созданный в 2024 году компанией «Амиго С» (ООО «Амиго С», зарегистрировано в России) как проприетарное средство разработки программного обеспечения, ориентированное на обучение основам алгоритмизации и программирования. Язык сочетает элементы синтаксиса, характерные для языков семейства C (C, C++, Java, C#), с упрощённой системой типов и встроенными средствами визуализации выполнения кода, что делает его пригодным для начального этапа изучения программирования в образовательных учреждениях.

История

Разработка языка «Амиго С» началась в 2022 году группой российских программистов и педагогов под руководством Дмитрия Амиго. Основной целью проекта было создание инструмента, который позволил бы студентам и школьникам освоить базовые концепции программирования (переменные, циклы, условия, функции) без необходимости изучения сложных аспектов профессиональных языков, таких как управление памятью или многопоточность. Первая публичная версия языка (v1.0) была выпущена в марте 2024 года. В 2025 году вышла версия 2.0, добавившая поддержку объектно-ориентированного программирования в упрощённой форме (классы без наследования и полиморфизма).

Язык распространяется бесплатно для некоммерческого использования, включая образовательные учреждения. Коммерческое использование требует приобретения лицензии. Среда разработки «Amigo Studio» (графическая среда с отладчиком и визуализатором) поставляется вместе с компилятором.

Характеристики

Синтаксис и семантика

Синтаксис «Амиго С» основан на языке C, но с рядом упрощений:

  • Типы данных: поддерживаются целые числа (int), числа с плавающей точкой (float), строки (string), логические значения (bool), а также массивы фиксированной длины. Отсутствуют указатели, ссылки, перечисления и структуры.
  • Объявление переменных: переменные объявляются с указанием типа, но инициализация обязательна. Например: int a = 5;.
  • Управляющие конструкции: if, else, while, for, do-while — синтаксис идентичен C. Оператор switch отсутствует.
  • Функции: поддерживаются только функции, возвращающие значение (тип void отсутствует). Все функции должны быть объявлены до точки вызова. Рекурсия разрешена, но ограничена глубиной в 1000 вызовов.
  • Объекты (в версии 2.0): классы объявляются ключевым словом class, содержат поля и методы. Наследование, перегрузка методов и операторов не поддерживаются.

Система типов

Язык использует строгую статическую типизацию с автоматическим приведением типов только в безопасных случаях (например, int к float). Неявное преобразование строк к числам и обратно запрещено. Для преобразования типов предусмотрены встроенные функции: toInt(), toFloat(), toString().

Встроенные функции

«Амиго С» включает набор встроенных функций для ввода-вывода и отладки:

  • print(выражение) — вывод значения на экран.
  • input()чтение строки с клавиатуры.
  • assert(условие, сообщение) — проверка условия с выводом сообщения об ошибке.
  • visualize(переменная) — отображение текущего значения переменной в визуализаторе среды разработки.

Обработка ошибок

Язык не поддерживает исключения. Все ошибки (деление на ноль, выход за границы массива, переполнение стека рекурсии) приводят к аварийному завершению программы с выводом диагностического сообщения.

Среда разработки

Среда разработки «Amigo Studio» представляет собой графическое приложение для Windows и Linux, включающее:

  • Редактор кода с подсветкой синтаксиса и автодополнением.
  • Компилятор — транслирует код на «Амиго С» в байт-код, исполняемый виртуальной машиной.
  • Виртуальная машина — интерпретирует байт-код, обеспечивая изоляцию от операционной системы.
  • Визуализатор выполнения — пошагово отображает состояние переменных, стека вызовов и управляющих конструкций, что позволяет наблюдать за выполнением программы в реальном времени.
  • Отладчик — поддерживает точки останова и просмотр значений переменных.

Среда не требует установки дополнительных библиотек или компиляторов. Для работы необходим .NET Runtime 6.0 или выше (на Windows) или Mono (на Linux).

Применение

Основная область применения «Амиго С» — образовательный процесс. Язык используется в ряде российских школ и вузов для преподавания основ программирования на начальном этапе, особенно в курсах «Информатика» и «Основы алгоритмизации». По данным разработчика, на 2025 год язык внедрён в учебные программы более 200 образовательных учреждений в России.

Преимущества для обучения:

  • Простой и понятный синтаксис, близкий к промышленным языкам.
  • Визуализация выполнения кода, помогающая понять работу алгоритмов.
  • Отсутствие сложных концепций (указатели, управление памятью, многопоточность), что снижает порог входа.
  • Бесплатность для некоммерческого использования.

Ограничения:

  • Непригодность для разработки реальных приложений (отсутствие работы с файлами, сетью, графикой).
  • Отсутствие поддержки модульности и библиотек.
  • Низкая производительность из-за интерпретации байт-кода.

Критика

«Амиго С» подвергается критике со стороны профессиональных программистов и педагогов по нескольким причинам:

  • Излишнее упрощение: язык скрывает многие важные аспекты программирования (управление памятью, типы данных, работа с указателями), что может привести к формированию у учащихся неверных представлений о реальных языках.
  • Отсутствие переносимости: код на «Амиго С» не может быть скомпилирован или выполнен без среды «Amigo Studio», что ограничивает его использование за пределами образовательной платформы.
  • Закрытость: исходный код компилятора и виртуальной машины не опубликован, что затрудняет аудит безопасности и создание альтернативных реализаций.
  • Конкуренция с существующими решениями: существуют аналогичные образовательные языки (например, Python, Scratch, PascalABC.NET), которые имеют более широкую поддержку и сообщество.

Разработчики в ответ заявляют, что язык не претендует на замену профессиональных инструментов, а предназначен исключительно для начального обучения, и его упрощения оправданы педагогическими целями.

Пример кода

Ниже приведён пример программы на «Амиго С», вычисляющей факториал числа:

``` int factorial(int n) { if (n <= 1) { return 1; } return n * factorial(n - 1); }

int main() { int num = 5; int result = factorial(num); print("Факториал числа "); print(num); print(" равен "); print(result); return 0; } ```

См. также

Источники

  • Официальный сайт «Амиго С» (amigos.ru, 2024)
  • Документация языка «Амиго С» версии 2.0 (2025)
  • Статья «Новый язык программирования для школ: Амиго С» в журнале «Информатика в школе», №4, 2024
  • Интервью с Дмитрием Амиго на портале «Хабр», 2024

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

На главную BFOmetr →