应用介绍
写 Java 写到一半,为了改一个函数要重新编译、重启整个服务;多线程共享一堆可变对象,锁加错一个就是半夜被叫起来查死锁。Clojure 是跑在 JVM 上的 Lisp 方言,默认所有数据都不可变,并发时不用再担心谁偷偷改了你的对象。
开发的时候开一个 REPL 连着正在运行的程序,改一个函数、求值一下就生效,不用重启。它能直接调用任何 Java 库,照样部署到现有的 JVM 服务器上;宏系统让你按需扩展语法。
不可变数据:列表、向量、映射都是持久化结构,修改会得到新版本。
REPL 驱动:连着运行中的程序边改边试。
Java 互操作:直接调用 Java 类和已有的库。
并发原语:原子、代理、软件事务内存,避开手写锁。
代码即数据:宏系统可以扩展语言本身。
多平台:另有 ClojureScript 编译到 JavaScript。
开发的时候开一个 REPL 连着正在运行的程序,改一个函数、求值一下就生效,不用重启。它能直接调用任何 Java 库,照样部署到现有的 JVM 服务器上;宏系统让你按需扩展语法。
软件功能
不可变数据:列表、向量、映射都是持久化结构,修改会得到新版本。
REPL 驱动:连着运行中的程序边改边试。
Java 互操作:直接调用 Java 类和已有的库。
并发原语:原子、代理、软件事务内存,避开手写锁。
代码即数据:宏系统可以扩展语言本身。
多平台:另有 ClojureScript 编译到 JavaScript。
应用截图
标签:编程语言

