“我们的 Clojure 系统刚刚处理了第一个沃尔玛黑色星期五,并且毫发无损。”
“Clojure 是一种从上到下的函数式编程语言。这意味着用 Clojure 编写的代码非常模块化、可组合、可重用且易于推理。”
“我们讨论了现有的 Clojure 社区、语言本身的成熟度以及我们在行业中看到的势头。公司正在看到基于 Clojure 的上市速度...... ”
阅读更多关于 Clojure 的信息,了解 成功案例,以及 社区 如何使用 Clojure,并找到 使用 Clojure 的公司。
Clojure 包含一组有用的特性,共同构成了一个简单、连贯且强大的工具。
Clojure 是一个您可以与之交互的动态环境。几乎所有语言结构都是具体化的,因此可以检查和更改。您可以以不间断的数据流方式扩展程序,加载数据,添加功能,修复错误,测试。
Clojure 提供了避免可变状态的工具,将函数作为一等公民,并强调递归迭代而不是基于副作用的循环。Clojure 不纯净,但它坚持这样一个理念,即更函数式的程序更健壮。
Clojure 是 Lisp 语言家族的一员。Lisp 的许多特性已融入其他语言,但 Lisp 的代码即数据方法及其宏系统仍然使其独树一帜。此外,Clojure 的映射、集合和向量在 Clojure 中与 Lisp 中的列表一样是一等公民。
利用运行时多态的系统更容易更改和扩展。Clojure 提供简单、强大且灵活的运行时多态机制。Clojure 的协议和数据类型功能添加了抽象和数据结构定义机制,而不会对主机平台的功能做出任何妥协。
Clojure 通过多种方式简化了多线程编程。由于核心数据结构是不可变的,因此它们可以在线程之间轻松共享。Clojure 作为一种实用的语言,允许状态发生变化,但提供机制来确保当状态发生变化时,它保持一致,同时减轻开发人员手动使用锁等避免冲突的负担。
Clojure 被设计为一种托管语言,它共享 JVM 类型系统、GC、线程等。所有函数都被编译为 JVM 字节码。Clojure 是一个很棒的 Java 库使用者,它提供点目标成员表示法来调用 Java。Clojure 支持 Java 接口和类的动态实现。
Nubank 是全球最大的数字银行平台之一,为巴西、墨西哥和哥伦比亚的 6500 多万客户提供服务。从一开始,Nu 就凭借 Clojure 取得了惊人的成功,大规模运行关键任务软件。2020 年,该公司收购了 Cognitect,Cognitect 是 Clojure 和 Datomic 数据库背后的咨询公司。
通过收购,Nubank 纳入了一支世界一流的团队,帮助开发人员将 Clojure 的理念转化为业务敏捷性,并利用公司的使命来对抗复杂性,赋予人们权力。目前,Nu 是 Clojure 和 ClojureScript 的主要公司赞助商。
有关 Nubank 如何构建产品和团队的更多信息,请访问 building.nubank.com.br。