任意语言中的直观并发编程

Hacker News Top 工具

摘要

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

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/10/17 07:45

# 任何语言的直觉化并发编程 | Lingua Franca 来源:https://www.lf-lang.org/ ## 构建**可预测**、**并发**、**时间敏感**和**分布式**系统。 Lingua Franca 是一种协调语言,用于编写高效、确定性的多线程、时间敏感的嵌入式和分布式程序。它是数十年研究成果的结晶,比其他并发编程框架(包括线程、发布-订阅、Actor 和面向服务的架构)提供更具可重复性的行为。 ### 确定性并发 Lingua Franca 提供了一种直观的方式编写确定性的多线程和分布式应用程序,消除了对线程管理、同步和竞态条件的担忧。 ### 内置时序语义 时序被嵌入到 Lingua Franca 的核心中,使开发者能够精确地处理时间敏感型任务,无需编写并发编程中通常所需的复杂时序逻辑。 ABC ### 简化的分布式支持 Lingua Franca 使从单机系统到分布式系统架构的过渡变得无缝,只需极少的修改,将分布式系统编程的复杂性抽象掉。 在 LF 中构建你的应用架构 ``` import Player from "../Player.lf" main reactor RockPaperScissors { // 在这里实例化两个 Player 反应器 player1 = new Player(id=1) player2 = new Player(id=2) // 在它们之间建立连接 player2.reveal -> player1.observe player1.reveal -> player2.observe } ``` RockPaperScissors 程序的 Lingua Franca 图示 RockPaperScissors player2:Player observe reveal player1:Player observe reveal [](https://gitpod.io/new#https://github.com/lf-lang/playground-lingua-franca/tree/main) ## 一种新的编程范式 Lingua Franca 是第一个面向反应器的协调语言。它允许你声明反应式组件并将它们组合在一起。Lingua Franca 从构造上消除了竞态条件,使声明时序行为变得简单,并且无需手动同步。 以"石头剪刀布"游戏为例,两个玩家需要同时揭晓他们的选择。在 Lingua Franca 中,"同时"具有清晰而精确的含义。这使得实现简单而直观,并保证了游戏的公平性。如果 Player 类在揭晓自己的选择之前就观察到了对方的选择,Lingua Franca 的因果分析会发现一个因果循环,并告诉你该程序是无效的。 ## 不是一种新的编程语言 使用 Lingua Franca,你无需再操心线程库或消息传递中间件,但你仍然可以继续使用你喜欢的语言。构成反应器功能的反应式代码主体是用你选择的编程语言编写的。我们目前支持 C、C++、Python、TypeScript 和 Rust。 ## 开源并由研究支撑 Lingua Franca 最初在 UC Berkeley 开发,受到数十年计算模型研究成果的影响。 一张世界地图,显示了 Lingua Franca 主要贡献者所在的地区。 在诞生后不久,Kiel University 和 TU Dresden 的研究人员加入了团队,贡献了图示合成与布局技术、高效的运行时实现以及各种编译器改进。此后,我们还与来自 UT Dallas 的实时系统专家、来自 NTNU 的嵌入式系统专家,以及来自 Hanyang University 和 ASU 的网络安全研究人员展开了合作。 一张世界地图,显示了 Lingua Franca 主要贡献者所在的地区。

相似文章

并发、交互、可变:三者选二

Hacker News Top

文章探讨了编程语言中并发、交互性和可变性之间的固有权衡,通过Common Lisp、Python、Ruby和Erlang的例子说明没有语言能完全优化这三者。

确定性并发 [视频]

Hacker News Top

本演讲主张在并发与分布式系统中使用确定性模型,通过引入反应器模型和Lingua Franca语言来实现确定性并发。

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

X AI KOLs Following

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

Temper语言

Lobsters Hottest

Temper 是一种编程语言,可交叉翻译为多种目标语言,包括 C#、Java、JavaScript/TypeScript、Lua 和 Python,从而实现跨生态系统的共享库。

Fusion 编程语言

Hacker News Top

Fusion 是一种编程语言,允许开发者一次编写库,并从单一代码库转译到 C、C++、C#、D、Java、JavaScript、Python、Swift、TypeScript 和 OpenCL。