The Dynamic JVM language world – especially the CFML language – has been static for some time. A big change is afoot with the creation of BoxLang, and SD Times recently had the opportunity to speak with Luis Majano, CEO of Ortus Solutions, which has brought BoxLang – currently in an open beta that will end next fall – into the world. Here’s our talk:

SD Times: The software development industry has been waiting for a more modern approach in JVM languages, and BoxLang certainly fits that description. So let me ask, “Why now, and why you?”

Luis Majano: Developers have had to settle for the status quo for too long. We’ve been spectators for long enough. BoxLang is a new, modern, and modular language for the JVM. It is here to empower us and give us the tools to create the future, not just witness it.  

We have created open-source libraries and frameworks for over 18 years. These libraries and frameworks have mostly been targeted at the ColdFusion/CFML ecosystems and powering thousands of clients across the globe, from federal and state agencies (NASA, FAA, SSA, Army, Navy, Air Force, etc) to multi-million dollar companies (L’Oreal, Shop.com, GE, etc.) and thousands of higher education colleges and universities. We manage the most widely used frameworks for Model View Controller (MVC), Dependency Injection, Aspect Oriented Programming, Test and Behavior Driven Development, Messaging, Asynchronous programming, REPL, the CFML package manager, the Docker containers, and hundreds of libraries that power developers and applications worldwide.

To continue innovating, pushing forward all the ideas of the tools and libraries we want to create, and further servicing our clients with their ever-changing needs, we needed one further step in the development process: controlling the language of execution. To accomplish the vision the engineering team has in mind for all the libraries, tools, applications, and client needs, we needed a modern take on a dynamic language that we could spearhead and evolve at our pace and not only for the ColdFusion/CFML ecosystems anymore. Thus, BoxLang was born. Get ready; this is just the beginning.

SD Times: BoxLang promises superior extensibility, integration with core Java, customer-driven support, and fair pricing. What makes you so confident in these claims?

Luis Majano: BoxLang is built on a solid modular foundation, leveraging the power of the JVM’s InvokeDynamic features and pretty much every modern JDK construct. This translates to blazing-fast performance, predictable behavior, exceptional adaptability, and a very small focused core.  We are extremely strict with the dependencies we rely on, and we have accomplished a feature-rich extensible language in < 6 MB at its core.

We have been building frameworks for the past 18 years, which has prepared us for choosing the right architecture and design facets that we know work at an enterprise and mission-critical level.

We’re not just making empty promises; we’re developers ourselves, and we understand the needs of the community. That’s why we offer world-class support, not just through subscriptions but also through a dedicated community for more than 18 years now.  We are not new to this game by far.

As for pricing, we believe in transparency and fairness. We don’t want a cut of your success; we want to see you thrive. That’s why our pricing is clear, upfront, and free from hidden fees or restrictions.  We offer a community version which will always be FREE and open source and two subscription-based models: BoxLang+ and BoxLang++.

SD Times: You say BoxLang is built for rebels – developers who want the best and want it now – but what exactly is it?

Luis Majano: BoxLang is a modern, dynamic, and highly modular language that runs on various runtimes. From native OS binaries to web servers and even cloud lambdas, BoxLang can handle it all thanks to its multi-runtime architecture. But it’s not just about versatility; it’s about empowerment. BoxLang combines the best aspects of languages like Java, Groovy, Clojure, Python, and Ruby, offering a fluent, expressive syntax that makes development a breeze.  As framework developers, we have been studying frameworks, libraries, and languages for more than 18 years.  All that influence has been poured over BoxLang.

SD Times: You mentioned BoxLang’s modularity. Can you elaborate on that?

Luis Majano: BoxLang is all about customization and flexibility. We built the language with the understanding that developers crave control. BoxLang modules allow you to extend the language’s core functionality, add new built-in functions, modify existing classes, and create custom functionalities. It’s your language, your way.  It’s also the first language to have an event-driven architecture at its core.  This means that there are tons of events being fired on key specific points of the language where developers can listen in and extend the language.  Change how a scope works, how the runtime starts, a cache evicts an object, no problem.

SD Times: The future of development, you say? What makes BoxLang so revolutionary?

Luis Majano: BoxLang is more than just a language; it’s a movement. It’s a call to arms for developers who are tired of limitations, tired of being held back. We’re building a future where creativity thrives, innovation flourishes, and developers have the power to make their dreams a reality. BoxLang is the weapon you need to join.  We are not funded by anyone except ourselves. We are not doing this to make us rich and famous.  We are doing this to bring life and take control of our own destiny as developers.  We are tired of letting big tech dictate how we should create, license, and use the languages that bring livelihood to all of us.

SD Times: We’ve heard much about BoxLang’s revolutionary spirit, but let’s get technical. What are some key features that set BoxLang apart?

Luis Majano: Certainly. BoxLang boasts a low-verbosity syntax, making code highly readable and promoting developer productivity. 

It is event-driven at its core.  Anything can be listened to and intercepted so you can do meta-programming on any object or extend the language.

You can extend the language with packaged modules that have their own encapsulated class loaders, built-in functions, web components, task schedulers, and much more.

BoxLang has an enterprise Caching Engine built in: BxCache. This engine can store data in many object stores, monitor itself, have events, and use different schedulers. It’s also extensible, so anybody can build Cache Providers and talk to anything that can store data.

Built-in task scheduling and scheduled tasks: the human way. BoxLang provides developers with an easy and fluent way to define portable and source-controlled task scheduling. You can even create cron tasks via BoxLang.

The list is quite big, so I’ll stop there, but you can find much more information on our websites (https://www.boxlang.io and https://try.boxlang.io) and FAQ.

SD Times: You mentioned BoxLang’s modularity earlier. Can you provide some concrete examples of how developers can leverage this feature?

Luis Majano: Absolutely. Imagine you’re building a web application and need a specific functionality that isn’t built-in. With BoxLang modules, you can create custom functions, and template components, or even modify existing classes to achieve your desired behavior. This extends the language’s capabilities and empowers you to tailor it to your needs.

You can create a module to talk to Elastic Search, another one to connect to Sentry natively for error logging anytime the language throws an exception, connect to Spring for dependency injection by listening to object creation events and so much more.

SD Times: What about developers new to BoxLang or coming from other languages?

Luis Majano: We understand the learning curve of adopting a new language. That’s why we offer a comprehensive ecosystem of tools and resources. Our Visual Studio Code extension provides syntax highlighting, code debugging, code insight, and more, making development intuitive and efficient. Additionally, BoxLang+ subscribers gain access to even more advanced tools, including enhanced debuggers and language transformers.

SD Times: Finally, with BoxLang being a relatively new language, how can developers be assured of its stability and future development?

Luis Majano: While BoxLang is young, it’s built upon a solid foundation of over 18 years of experience in software development, specifically within the CFML/ColdFusion/Java realm. Our team has a proven track record of building successful applications, and we’re committed to continuously improving and expanding BoxLang. Furthermore, the open-source nature of the project fosters community involvement and collaboration, ensuring its long-term growth and sustainability.

Not only that, we have 18 years of projects, module, and extensions available to it right now.  This is the main difference with new languages, that no ecosystem is available for them.  We have ours already, instantly.

Content provided by SD Times and Ortus