Intuitive concurrent programming in any language

Hacker News Top Tools

Summary

Lingua Franca 是一个开源的协调语言(coordination language),用于构建确定性、多线程、时间敏感和分布式系统,支持 C、C++、Python、TypeScript 和 Rust。它源于 UC Berkeley 等机构数十年的研究,通过 reactor 模型消除竞态条件并内建时序语义。

No content available
Original Article
View Cached Full Text

Cached at: 10/17/26, 07:45 AM

# Intuitive concurrent programming in any language | Lingua Franca Source: [https://www.lf-lang.org/](https://www.lf-lang.org/) ## Build**predictable**,**concurrent**,**time\-sensitive**, and**distributed**systems\. Lingua Franca is a coordination language for efficient, deterministic, multi\-threaded, time\-sensitive, embedded, and distributed programs\. The result of decades of research, it offers more repeatable behavior than other concurrent programming frameworks, including threads, pub\-sub, actors, and service\-oriented architectures\. ### Deterministic Concurrency Lingua Franca offers a straightforward way to write deterministic multi\-threaded and distributed applications, eliminating concerns about thread management, synchronization, and race conditions\. ### Built\-in Timing Semantics Timing is embedded within Lingua Franca's core, empowering developers to handle time\-sensitive tasks with precision and without the complex timing logic typically required in concurrent programming\. ABC ### Simplified Distribution Lingua Franca enables seamless transition from single to distributed system architectures with minimal modifications, abstracting away the complexities of distributed systems programming\. Architect your application in LF ``` import Player from "../Player.lf"main reactor RockPaperScissors { // Instantiate two Player reactors here player1 = new Player(id=1) player2 = new Player(id=2) // Make connections between them player2.reveal -> player1.observe player1.reveal -> player2.observe} ``` Lingua Franca Diagram for the RockPaperScissor ProgramRockPaperScissorsplayer2:Playerobserverevealplayer1:Playerobservereveal [![](https://raw.githubusercontent.com/gitpod-io/gitpod/30da76375c996109f243491b23e47feefab7217f/components/dashboard/public/button/open-in-gitpod.svg)](https://gitpod.io/new#https://github.com/lf-lang/playground-lingua-franca/tree/main) ## A New Programming Paradigm Lingua Franca is the first reactor\-oriented coordination language\. It allows you to specify reactive components and compose them\. Lingua Franca eliminates race conditions by construction, makes it easy to specify timed behavior, and removes the need to perform manual synchronization\. Consider a game of "rock paper scissors" where two players need to reveal their choice simultaneously\. In Lingua Franca, "at the same time" has a clear and precise meaning\. This makes the implementation simple and intuitive, and guarantees it to be fair\. If the Player class were to observe the other's choice before revealing its own, Lingua Franca's causality analysis would find a causality loop and tell you that the program is invalid\. ## Not a New Programming Language With Lingua Franca, you forget about thread libraries or message passing middlewares, but you continue using the languages you like\. The bodies of reactive code that make up the functionality of reactors are written in the programming language of your choice\. We currently support C, C\+\+, Python, TypeScript, and Rust\. ## Open\-source and Supported by Research Lingua Franca was first developed at UC Berkeley where it was influenced by decades worth of research in models of computation\. A world map showing where key Lingua Franca contributors reside\.A world map showing where key Lingua Franca contributors reside\. Shortly after its inception, researchers from Kiel University and TU Dresden joined the team, contributing diagram synthesis and layout technology, highly\-efficient runtime implementations, and various compiler improvements\. Since then, we have worked with real\-time systems experts from UT Dallas, embedded systems specialists from NTNU, and networking and security researchers from Hanyang University and ASU\. A world map showing where key Lingua Franca contributors reside\.

Similar Articles

Concurrency, interactivity, mutability, choose two

Hacker News Top

The article explores the inherent trade-offs between concurrency, interactivity, and mutability in programming languages, using examples from Common Lisp, Python, Ruby, and Erlang to illustrate that no language can fully optimize all three.

Deterministic Concurrency [video]

Hacker News Top

This talk argues for using deterministic models in concurrent and distributed systems, introducing the reactor model and Lingua Franca language to achieve deterministic concurrency.

@QuixiAI: https://x.com/QuixiAI/status/2106986029383315840

X AI KOLs Following

With 是一门以人体工学/极简仪式感为先的系统编程语言,主打 Rust 级安全(单所有权、生成式引用)与 C 级可达性,通过强推断减少样板代码,并内建对 C 库的直接建模导入,可编译为原生单二进制、无需系统 LLVM。

ConcurrentML: Improving on Go's concurrency model

Lobsters Hottest

A blog essay arguing that Concurrent ML's event-based concurrency model improves on Go's CSP approach, unifying choice and cancellation while enabling composition and avoiding goroutine leaks, demonstrated through Racket examples.

Temper Language

Lobsters Hottest

Temper is a programming language that cross-translates to multiple target languages including C#, Java, JavaScript/TypeScript, Lua, and Python, enabling shared libraries across ecosystems.