17611538698
webmaster@21cto.com

BoxLang语言:“叛逆者”领导的革命

编程语言 0 556 2024-06-05 06:53:52

图片

动态 JVM 语言世界(特别是 CFML 语言)已经出现很多年了,可以说是一直处于停滞状态。

随着一款新编程语言 BoxLang 的诞生,一场巨大的变革正在酝酿之中。近日,开发者媒体SD Times 采访了新语言的出品公司 Ortus Solutions 的首席执行官 Luis Majano。

这家公司即将要把一款名为“BoxLang”的编程语言(目前处于公测阶段,将于明年秋季结束)推向全世界。

以下是访谈全文:

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

Luis Majano:开发者安于现状太久了,也不得不这样。我们都当了足够多的旁观者。而 BoxLang 是一种新的、现代的、模块化的 JVM 语言。它是为了赋予我们新力量,为我们提供创造未来的工具,而不仅仅是见证它。  

我们创建开源库和框架已经 18 年有余。这些库和框架主要针对 ColdFusion/CFML 的生态系统,已经为全球数千家客户提供支持,包括联邦政府和州机构(NASA、FAA、SSA、陆军、海军、空军等)到价值数百万美元的公司(欧莱雅、Shop.com、通用电气等)以及数千所高等教育学院和大学。我们管理着最广泛使用的框架,包括模型视图控制器 (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 有哪些关键特点和与众不同?

Luis Majano:当然可以。BoxLang 的语法简洁,代码可读性强,可提高开发人员的工作效率。 

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

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

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

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

这个列表很长,所以我就到此为止。您可以在我们的网站(https://www.boxlang.io和https://try.boxlang.io)和常见问题解答中找到更多的内容。

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

Luis Majano:当然。想象一下,您正在构建一个 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 年的项目、模块和扩展可供您使用。这是新语言的主要区别,新语言会缺少可用的生态系统。我们已经拥有了自己的成熟生态系统。

作者:万能的大雄

参考:

https://sdtimes.com/softwaredev/boxlang-a-revolution-led-by-rebels-an-interview-with-luis-majano-ceo-of-ortus-solutions/

评论