Lingua Franca 把协调层从业务代码里拆出来:你用 reactor 描述组件,用内建的时间语义声明“多久之后”“同时发生”这类关系,编译器负责线程管理、同步与部署。官方称它的行为比线程、发布订阅、actor、SOA 都更可重复,可以确定性地多线程;同一份程序既能单机跑,也能几乎不改就变成分布式系统。它是几十年研究的产物,示例里 main reactor 实例化两个 Player 再连线。
🔑 核心要点
核心是 reactor 模型:组件 + 连线,协调逻辑交给语言而不是手写锁。
内建时间语义,超时、周期、同时性直接写在语言里。
主打确定性的多线程执行,消除竞态与同步负担。
单机到分布式只需极少修改,同一份源码两种部署。
定位是协调语言,可与现有宿主语言共存,而不是重写整个系统。
💡 金句
Lingua Franca is a coordination language for efficient, deterministic, multi-threaded, time-sensitive, embedded, and distributed programs.