Корпорация 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.

Комментарии (12)


  1. NeoCode
    05.07.2024 06:34
    +23

    И ни одного примера кода:(


  1. Zara6502
    05.07.2024 06:34
    +6

    мне кажется было уместным приводить сравнение какого-то кода, например реализации алгоритма сортировки на C++/C# и на этом языке. Иначе просто непонятно о чем идёт речь.


    1. leon0399
      05.07.2024 06:34
      +1

      Я, кстати, для себя подобный проект уже пару лет делаю, изучаю/пробую синтаксисы разных языков и удобство сборки + заодно их бенчмаркаю на разных алгоритмах: https://github.com/leon0399/benchmarks

      Интересно, чтоит ли о таком применении статью написать?


      1. Zara6502
        05.07.2024 06:34
        +1

        ну любая статья лучше когда есть чем когда её нет, так что пишите, я например не понимаю что с вашим проектом делать ) и нет никакой информации что именно бенчмаркается. Например если у вас на C++ массивы, а в C# LINQ, то смысла бенчить это не имеет.


      1. forthuse
        05.07.2024 06:34

        изучаю/пробую синтаксисы разных языков

        Не увидел примеры из сообщества конкатенативных языков :)
        https://concatenative.org


  1. Ogra
    05.07.2024 06:34
    +20

    То, что на Хабре есть статьи про языки программирования - это нормально.

    То, что на Хабре есть статьи от маркетологов - мы привыкли.

    Но вот статья про язык программирования без единой строчки кода, полная маркетингового буллшита, со ссылкой "а дальше читайте презентацию на китайском сами" - это уже, знаете ли, перебор!


    1. Vedomir
      05.07.2024 06:34
      +1

      Сама новость о создании Huawei своего языка все-таки любопытна, какой бы слабой не была статья.


      1. NeoCode
        05.07.2024 06:34
        +4

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

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


      1. Dovgaluk
        05.07.2024 06:34

        Только "сама новость" уже была на хабре.


    1. domix32
      05.07.2024 06:34

      Причём про ту цацу только подобный булшит и гуглится.


  1. kozlov_de
    05.07.2024 06:34
    +1

    немного погуглив...

    похоже, этот язык спецом для Harmony OS

    и похож на Kothlin, Swift

    ничего интересного


  1. domix32
    05.07.2024 06:34
    +1

    Реддит говорит, что это язык со встроенной ИИ, генерирующая некоторый котлино-растоподобный код.