← На главную

Copper — минималистичная замена C с ООП

30.10.2026 19:09 · hackernews

Разработчик Тибор Лейц представил Copper как язык, которым сам пользуется вместо C. Главная цель проекта — минимализм: синтаксис должен оставаться простым, поведение преимущественно явным, а набор конструкций — достаточно небольшим, чтобы программист мог полностью понять язык. При этом Copper добавляет возможности, которых нет в классическом C.

Среди них — наследование для любых типов, generics, несколько возвращаемых значений, option types, deferred statements и простые итераторы. Определения можно размещать не по порядку использования. Система import устраняет заголовочные файлы, а пространство имён не сводит все объявления к одной глобальной области. Синтаксис выполнен в стиле Ruby; отдельно заявлена быстрая компиляция.

Пример на странице описывает class Point с целочисленными атрибутами x и y. Метод init сохраняет координаты, translate изменяет их на переданные смещения. В main создаётся переменная Point, после чего вызываются инициализация со значениями 3 и 5 и сдвиг по x на единицу. Затем println выводит координаты, а main возвращает 0. Методы вызываются через точку, изменяемые переменные объявляются через var, а тип результата main указывается после имени функции. Импорт стандартной библиотеки записывается как import "std" и находится в конце демонстрационного файла, что иллюстрирует out-of-order definitions.

Copper не позиционируется как обширная экосистема с множеством скрытых механизмов. Напротив, автор подчёркивает, что выбрал знакомые конструкции и явность ради понятности. ООП и обобщённое программирование сочетаются здесь с низкоуровневой нишей C, а не переносят язык в категорию высокоуровневых managed-платформ.

Проект распространяется под лицензией BSD. На представленной странице нет сравнительных бенчмарков, описания модели памяти или совместимости с существующим C-кодом, поэтому заявленную быструю компиляцию и практическую пригодность для чужих проектов из публикации оценить нельзя.

Читать оригинал →