Choral:为Java引入舞蹈式编程
Choral: Choreographic Programming for Java
Java开发者是否厌倦了传统代码的枯燥?Choral项目带来了一种全新的编程范式——Choreographic Programming(舞蹈式编程),让多线程并发逻辑像编排舞蹈一样直观流畅。它通过可视化方式协调多个组件的交互,彻底改变Java中处理并发问题的思路。无需深入理解复杂的锁机制,开发者只需关注‘谁在何时做什么’,就能构建出高效、安全的并发系统。这不仅是一次技术革新,更是对编程思维的一次重新定义。
Choral让Java中的并发编程像编排舞蹈一样直观而优雅。
HN 评论区
18- groomlake
我只扫了一眼页面,这看起来是个很酷的想法,但我有个问题:
类型系统能让你表达类似“客户端将此信息传递给 Service,然后 Service 再将其传递给 Login Provider,然后 […]”这样的流程吗?
如果客户端必须知道调用 Service 之后发生的所有事情,那 Service 岂不是个有缺陷的抽象(leaky abstraction)?我对 OO 的理解来自 GOOS[1],即每个对象只与它的邻居通信,而不必知道邻居的邻居,也不必关心邻居的实现细节,因为对象间传递的消息处于领域层面。微服务在原则上也是如此。这样做的好处是你可以孤立地推理每个对象/微服务。如果必须知道 A 然后 B 然后 C 然后 D 这样的顺序,那当初为什么要将代码/服务拆分呢?
抱歉,如果文档里已经回答了这个问题,我稍后会仔细看看。
- dplyukhin
既然 HN 今天发现了 choreographic programming(舞蹈式编程/编排式编程)[1],我想分享一下我们过去几年一直在开发的编译器。欢迎在下面提问,我会尽力回答 :)
- elric
感谢分享。我之前没听说过 choreographic programming(舞蹈式编程/编排式编程)。
它是直接编译成 Java 字节码,还是生成 Java 代码再由 javac 编译?