Корпорация Huawei разрабатывает много чего, включая собственные чипы — о них мы уже писали. Но и это еще не все! Как оказалось, компания три года вела закрытую работу над новым ЯП, который получил название Cangjie. Понятно, что этот масштабный проект реализовался не просто так, он «заточен» под экосистему программных продуктов на базе Harmony OS.
Что это за новинка?
В том, что у Huawei появился собственный ЯП, нет ничего удивительного. Крупные компании создают языки под себя и свои продукты. Например, у Apple есть Swift, у Microsoft — TypeScript, у Google — Golang. По словам представителей компании, новый язык программирования в первую очередь ориентирован на отрасль искусственного интеллекта.
Кстати, название Cangjie символично. Оно читается как «Цанцзе» — именно так звали придворного ученого Желтого императора. Это полумифический правитель, который считается основателем даосизма и первопредком всех китайцев. Ну а его не менее легендарный ученый муж — автор иероглифики и много чего еще. Но не будем слишком погружаться в китайскую историю и мифологию, вернемся к языку.
Создание своего ЯП дает возможность компании развивать собственную экосистему на глобальном уровне. Это важно для корпорации, которая находится под перманентными и достаточно жесткими торговыми санкциями США.
Команда проекта позиционирует Cangjie как платформу нового поколения для создания интеллектуальных приложений, охватывающих широкий спектр сценариев использования. Его ключевая особенность — интеграция с фреймворком AgentDSL, который объединяет естественный язык и традиционное программирование и упрощает процесс разработки. По мнению создателей ЯП, это снижает порог входа программистов в Cangjie.
Новый язык отличается упрощением символьных выражений, а это позволяет программисту работать с более интуитивным синтаксисом. Еще он обеспечивает эффективное взаимодействие между различными модулями приложения.
Основные особенности нового языка
Cangjie обеспечивает масштабируемость. Это важно для корпораций и отдельных программистов, поскольку на Cangjie можно писать как небольшие, так и крупные проекты. Структура языка модульная, она адаптируется для разных сценариев разработки — от мобильных приложений до серверных объемных систем.
Создатели языка утверждают, что он мультипарадигмальный (multi-paradigm), то есть поддерживает функциональное, императивное и объектно ориентированное программирование. В результате на Cangjie можно разрабатывать масштабные комплексные системы, где требуется сочетание разных подходов на различных уровнях архитектуры.
Cangjie предоставляет передовую систему управления памятью, которая получила сборщик мусора нового типа. Команда проекта заявила, что он обеспечивает эффективное использование и распределение ресурсов. Это дает увеличение плавности работы приложений и сокращает время отклика. Риск утечек памяти при этом сведен к минимуму, а ведь эта проблема часто встречается в сложных проектах.
Это не все. Язык поддерживает концепцию легковесных потоков, а это обеспечивает многозадачность и параллелизм в обработке данных. То есть приложения, которые написаны на этом языке, вполне способны справляться с большим количеством одновременных операций без необходимости увеличивать нагрузку на систему. Создатели ЯП также добавили несколько важных функций безопасности в архитектуру, чтобы уязвимости можно было обнаружить и ликвидировать еще на этапе написания кода.
Учла команда проекта и потребность разработчиков в функциях, которые упрощают процесс создания приложений. Например, достаточно мощная система вывода типов способна автоматически определять типы данных, с уменьшением количества кода и снижением объема ошибок. Еще добавлена поддержка дженериков — а значит, получится создавать комплексные компоненты, которые можно использовать повторно. Кроме всего прочего, они адаптируются к разным типам данных.
Еще стоит отметить наличие системы статических типов и автоматическое управление памятью. Предусмотрены проверки в ходе выполнения — это нужно для обнаружения ошибок и безопасности взаимодействия между языками.
Разработчикам предлагаются такие инструменты: отладка, статистическая проверка, анализ производительности, тестовые фреймворки. Среда выполнения — легковесная, так что для ее запуска хватит небольшого количества ресурсов.
Познакомиться с языком можно по этой ссылке — это предварительный релиз.
Что еще?
Новый язык дает возможность объединить две программные платформы Huawei для разработки приложений — Harmony OS и OpenEuler. Если про операционную систему говорят часто, то OpenEuler не такой известный продукт. Он предназначен для работы в облачных сервисах. Это проприетарный дистрибутив Linux, который был впервые представлен в 2020 году. Его основа — EulerOS, форк пакетной базы CentOS.