发布信息

BoxLang 为动态 JVM 语言世界带来巨大变化

作者:软荐小编      2024-10-22 15:02:14     64

动态 JVM 语言世界(尤其是 CFML 语言)已经静态了一段时间。随着 BoxLang 的创建,一场巨大的变化正在发生,《SD Times》最近有机会与 Ortus Solutions 首席执行官 Luis Majano 进行了交谈,Ortus Solutions 将 BoxLang 推向了世界——目前正处于公开测试阶段,将于明年秋季结束。这是我们的谈话:

SD Times:软件开发行业一直在等待 JVM 语言中更现代的方法,而 BoxLang 无疑符合这一描述。所以让我问,“为什么是现在,为什么是你?”

Luis Majano:开发人员不得不满足于现状太久了。我们作为旁观者已经够久了。 BoxLang 是一种新的、现代的、模块化的 JVM 语言。它在这里赋予我们力量并为我们提供创造未来的工具,而不仅仅是见证未来。

我们创建开源库和框架已超过 18 年。这些库和框架主要针对 ColdFusion/CFML 生态系统,为全球数以千计的客户提供支持,从联邦和州机构(NASA、FAA、SSA、陆军、海军、空军等)到价值数百万美元的客户公司(L'Oreal、Shop.com、GE 等)和数千所高等教育院校。我们管理最广泛使用的模型视图控制器 (MVC)、依赖注入、面向方面编程、测试和行为驱动开发、消息传递、异步编程、REPL、CFML 包管理器、Docker 容器以及数百个支持的库。全球的开发者和应用程序。

为了继续创新,推进我们想要创建的工具和库的所有想法,并进一步满足客户不断变化的需求,我们需要在开发过程中采取进一步的步骤:控制执行语言。为了实现工程团队对所有库、工具、应用程序和客户需求的愿景,我们需要一种现代的动态语言,我们可以带头并按照我们的节奏发展,而不仅仅是针对 ColdFusion/CFML生态系统了。于是,BoxLang诞生了。准备;这只是开始。

SD Times:BoxLang 承诺卓越的可扩展性、与核心 Java 的集成、客户驱动的支持以及公平的定价。是什么让您对这些说法如此有信心?

Luis Majano:BoxLang 建立在坚实的模块化基础上,利用了 JVM 的 InvokeDynamic 功能和几乎所有现代 JDK 构造的强大功能。这意味着超快的性能、可预测的行为、卓越的适应性和非常小的集中核心。我们对所依赖的依赖关系极其严格,并且我们已经完成了一种功能丰富的可扩展语言,其核心大小小于 6 MB。

在过去的 18 年里,我们一直在构建框架,这为我们选择正确的架构和设计方面做好了准备,我们知道这些架构和设计方面适用于企业和关键任务级别。

我们不只是做出空洞的承诺;我们自己就是开发人员,我们了解社区的需求。这就是为什么我们提供世界一流的支持,不仅通过订阅,还通过超过 18 年的专门社区。到目前为止,我们对这个游戏并不陌生。

至于定价,我们相信透明度和公平性。我们不希望您的成功受到影响;我们希望看到你茁壮成长。这就是为什么我们的定价是明确的、预先的,并且没有隐藏费用或限制。我们提供始终免费且开源的社区版本以及两个基于订阅的模型:BoxLang+ 和 BoxLang++。

SD Times:你说 BoxLang 是为叛逆者打造的——想要最好的并且现在就想要的开发者——但它到底是什么?

Luis Majano:BoxLang 是一种现代、动态且高度模块化的语言,可以在各种运行时上运行。从本机操作系统二进制文件到 Web 服务器甚至云 lambda,BoxLang 凭借其多运行时架构可以处理这一切。但这不仅仅关乎多功能性;还关乎多功能性。这是关于赋权。 BoxLang 结合了 Java、Groovy、Clojure、Python 和 Ruby 等语言的最佳方面,提供了流畅、富有表现力的语法,使开发变得轻而易举。作为框架开发人员,我们研究框架、库和语言已经超过 18 年了。所有这些影响都集中在 BoxLang 上。

SD Times:您提到了BoxLang的模块化。你能详细说明一下吗?

Luis Majano:BoxLang 的核心是定制和灵活性。我们基于开发人员渴望控制的理解来构建该语言。 BoxLang 模块允许您扩展语言的核心功能、添加新的内置函数、修改现有类以及创建自定义功能。这是你的语言,你的方式。它也是第一种以事件驱动架构为核心的语言。这意味着在语言的关键特定点上会触发大量事件,开发人员可以监听并扩展该语言。改变作用域的工作方式、运行时的启动方式、缓存驱逐对象,都没有问题。

SD Times:您认为未来的发展是怎样的?是什么让 BoxLang 如此具有革命性?

Luis Majano:BoxLang 不仅仅是一种语言;它是一种语言。这是一个运动。对于厌倦了限制、厌倦了被阻碍的开发人员来说,这是一次战斗的号召。我们正在建设一个创造力蓬勃发展、创新蓬勃发展、开发者有能力实现梦想的未来。 BoxLang 是您加入所需的武器。除了我们自己之外,我们没有任何人资助。我们这样做并不是为了让自己变得富有和出名。作为开发者,我们这样做是为了带来生命并掌控自己的命运。我们厌倦了让大型科技决定我们应该如何创建、许可和使用为我们所有人带来生计的语言。

SD Times:我们已经听说过很多 BoxLang 的革命精神,但让我们来谈谈技术吧。 BoxLang 与众不同的一些关键功能是什么?

路易斯·马哈诺:当然。 BoxLang 拥有低冗长的语法,使代码具有高度可读性并提高开发人员的工作效率。

它的核心是事件驱动的。任何内容都可以被监听和拦截,因此您可以对任何对象进行元编程或扩展语言。

您可以使用具有自己封装的类加载器、内置函数、Web 组件、任务调度程序等的打包模块来扩展该语言。

BoxLang 内置了一个企业级缓存引擎:BxCache。该引擎可以将数据存储在许多对象存储中、监视自身、具有事件并使用不同的调度程序。它也是可扩展的,因此任何人都可以构建缓存提供程序并与任何可以存储数据的东西进行通信。

内置任务调度和计划任务:人性化的方式。 BoxLang 为开发人员提供了一种简单流畅的方式来定义可移植和源代码控制的任务调度。您甚至可以通过 BoxLang 创建 cron 任务。

该列表相当大,所以我就到此为止,但您可以在我们的网站 ( 和 ) 和常见问题解答中找到更多信息。

SD Times:您之前提到了BoxLang的模块化。您能否提供一些具体示例来说明开发人员如何利用此功能?

路易斯·马哈诺:当然。想象一下,您正在构建一个 Web 应用程序,并且需要一个非内置的特定功能。使用 BoxLang 模块,您可以创建自定义函数和模板组件,甚至修改现有类来实现您想要的行为。这扩展了该语言的功能,并使您能够根据自己的需求对其进行定制。

您可以创建一个模块来与 Elastic Search 对话,另一个模块则可以在本地连接到 Sentry 以在语言引发异常时进行错误日志记录,通过侦听对象创建事件等连接到 Spring 进行依赖项注入。

SD Times:刚接触 BoxLang 或来自其他语言的开发人员怎么样?

Luis Majano:我们了解采用新语言的学习曲线。这就是我们提供全面的工具和资源生态系统的原因。我们的 Visual Studio Code 扩展提供语法突出显示、代码调试、代码洞察等功能,使开发直观高效。此外,BoxLang+ 订阅者还可以使用更高级的工具,包括增强的调试器和语言转换器。

SD Times:最后,BoxLang作为一种相对较新的语言,开发者如何保证其稳定性和未来的发展?

Luis Majano:虽然 BoxLang 还很年轻,但它建立在超过 18 年的软件开发经验的坚实基础上,特别是在 CFML/ColdFusion/Java 领域。我们的团队在构建成功的应用程序方面拥有良好的记录,并且我们致力于不断改进和扩展 BoxLang。此外,该项目的开源性质促进了社区的参与和协作,确保了其长期增长和可持续性。

不仅如此,我们现在还拥有 18 年的项目、模块和扩展可供使用。这是新语言的主要区别,它们没有可用的生态系统。我们已经立即拥有了我们的。

内容由 SD Times 和 Ortus 提供

相关内容 查看全部