Cangjie, a New Open-Source Compiled Language with Native Effect Handlers and Algebraic Data Types
Our take

The programming language landscape continues to evolve with surprising vigor, and the announcement of Cangjie (CJ) from Huawei's Edinburgh Research Centre represents a noteworthy addition to the ecosystem. Professor Dan Ghica, who leads the Programming Languages Lab at Huawei, recently unveiled this new open-source compiled language featuring algebraic data types and native effect handlers. The timing is notable: as major technology companies push boundaries in areas like AI-powered transcription—see Google's Gemini-powered Dictation for Gboard, which could disrupt dictation startups—investments in foundational programming infrastructure suggest a longer-term strategic vision. Cangjie positions itself as a counterpart to established languages like Java, Kotlin, and Swift, yet its technical foundations set it apart in meaningful ways.
Algebraic data types and effect handlers represent features that have long been celebrated in academic programming language research but remain relatively rare in mainstream application development. Algebraic data types enable developers to model data with precision, capturing exhaustiveness in pattern matching and reducing entire categories of runtime errors. Effect handlers, meanwhile, provide a structured approach to managing side effects—operations like file I/O, network calls, or state mutation—in a way that maintains compositionality and testability. These are not novel concepts; languages like OCaml, Haskell, and Rust have employed them with success. What makes Cangjie interesting is the explicit intent to bring these capabilities to a broader developer audience, particularly those accustomed to the imperative paradigms that dominate enterprise software development.
The educational adoption of Cangjie across more than 80 universities in China signals a deliberate effort to cultivate a generation of developers familiar with these concepts from the outset of their training. This represents a strategic investment in human capital that could reshape expectations around what application development languages should offer. When students graduate with experience in algebraic data types and effect handlers, the baseline expectation for software construction shifts. We see similar patterns in other sectors where technology reshapes user expectations—Waymo's recent software recall to address flooding concerns demonstrates how safety-critical systems must continuously evolve—and programming languages must similarly adapt to meet escalating demands for reliability and expressiveness.
From a market perspective, Huawei's backing provides resources and credibility that many open-source language projects lack. The company's global footprint ensures that Cangjie will have reach beyond China's borders, particularly as Huawei seeks to establish technological independence across its ecosystem. This positioning raises intriguing questions about the future fragmentation of the programming language landscape. Will we see regional or platform-specific languages gaining prominence alongside the current Anglo-American dominated ecosystem? The answer likely depends on factors beyond technical merit, including tooling maturity, library ecosystems, and community support.
What matters most for practitioners is understanding why these language features deserve attention. Effect handlers, in particular, offer a path toward more modular code by separating the description of operations from their execution semantics. This separation enables easier testing, simpler reasoning about behavior, and greater flexibility in adapting code to different execution contexts. As software systems grow in complexity—and as demands for reliability intensify across industries—these properties become increasingly valuable. The question is not whether such capabilities will become mainstream, but when and through which vehicles. Cangjie represents a serious bid for that role, backed by institutional support and educational infrastructure. Developers would be wise to explore its capabilities and consider how its design philosophy might influence their thinking about software construction, even if they never write a line of Cangjie code themselves.

Prof. Dan Ghica, who leads the Programming Languages Lab at Huawei’s Edinburgh Research Centre, recently presented Cangjie (CJ), a new application development language that features algebraic data types and effect handlers. The open-sourced language is positioned as a counterpart to Java, Kotlin, or Swift. Cangjie is taught by 80+ universities in China.
By Bruno CouriolRead on the original site
Open the publisher's page for the full experience