LINUX.ORG.RU
ФорумTalks

Вместо Python. Huawei создала собственный простой в освоении язык Cangjie

 ,


0

4

Huawei открыла доступ к своему фирменному языку программирования Cangjie, на разработку которого потратила, по меньшей мере, три года. Он ориентирован в первую очередь на ее собственную экосистему на базе платформы Harmony OS, которую Huawei развивает с 2019 г. в ответ на санкции Запада. Cangjie позиционируется как простой в освоении язык – этим же качеством на протяжении многих лет щеголяет Python. По словам разработчиков, этот язык ориентирован на создание «интеллектуальных приложений».

Название языка произносится не как «Кэнгжи», как можно было бы подумать, а «Цанцзе».

По словам разработчиков, Cangjie – это так называемый «мультипарадигмальный» (multi-paradigm) язык программирования, поддерживающий функциональное, императивное и объектно-ориентированное программирование.

Дополнительно в Cangjie есть встроенные механизмы безопасности. За счет них уязвимость и устранить в коде можно будет обнаружить сразу, то есть непосредственно в процессе его написания.

Особенностью Cangjie является наличие полноценной интеграции со средой разработки (фреймворком) AgileDSL, в которой объединены естественный язык и традиционное программирование. Тем самым существенно снижен порог входа для изучения и использования Cangjie для написания программ.

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

Пример кода

struct Rectanglel {
  let width1: Int32
  let length1: Int32
  let perimeter1: 0 →> Int32
  
  init (width1: Int32, lengthl: Int32) {
    this.width1 = width1
    this.length1 = length1
    this.perimeter1 = { = 2 * (width1 + length1) }
  }
  
  init (side: Int32) {
    this(side, side)
  }
  func areal (): Int32 { width1 * length1 }
}

https://www.cnews.ru/news/top/2024-06-24_vmesto_pythonhuawei_sozdala_sobstvennyj

Ссылка на документацию:

https://developer.huawei.com/consumer/cn/doc/openharmony-cangjie/cj-lan-spec

Пользуясь случаем, спрошу: а когда там уже Mojo будет готов, никто не в курсе?


Ответ на: комментарий от FishHook

Например, как должен выглядеть оператор do-while?

В оригинале он

do
{
  f1();
  f2(); 
  ...
}
while(cond)

Значит

do
  f1()
  f2()
  ...
while(cond)
monk ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)