Blog

Exploring BoxLang: A Modern Scripting Language for the JVM!

Maria Jose Herrera February 14, 2025

Spread the word

Maria Jose Herrera

February 14, 2025

Spread the word


Share your thoughts

Exploring BoxLang: A Modern Scripting Language for the JVM!

The amazing CFML community leader Ray Camden recently shared his thoughts on BoxLang, a dynamic scripting language that runs on the Java Virtual Machine (JVM). BoxLang is lightweight (only 6 MB) and doesn’t require Java knowledge, making it accessible to developers from all backgrounds. Whether you're building CLI scriptsweb applications, or experimenting with serverless architecture, BoxLang has you covered.

Here's a small glimpse of what Ray had to say about BoxLang:

"BoxLang is a dynamic scripting language that runs on the JVM, and it’s one of the most fun things I’ve gotten to work with recently. With its open-source nature and lightweight design, BoxLang is ideal for a range of use cases, from simple CLI scripts to more complex serverless applications."

What is BoxLang?

BoxLang is an open-source scripting language designed for the JVM. It’s compatible with a wide range of environments, including Ubuntu and Windows. With a tiny footprint of just 6MB, BoxLang is both efficient and versatile.

Key Features of BoxLang:

  • JVM Support: BoxLang runs on the Java Virtual Machine, making it compatible with a wide range of environments.
  • Cross-Platform: Supports operating systems like Ubuntu and Windows.
  • Lightweight: At just 6MB, BoxLang is incredibly efficient.
  • Extensible: BoxLang can run via CLIDockerweb contexts, and Lambda, with plans to expand to Microsoft Azure.

Creating a Fun CLI Tool with BoxLang:

One of the first projects you can try with BoxLang is building a CLI tool that fetches random Dad jokes using BoxLang's simple HTTP capabilities. This example shows how easy it is to interact with APIs and handle JSON responses within BoxLang.

Example Code:


function getDadJoke() {
	bx:http url="https://icanhazdadjoke.com/" result="local.result" {
		bx:httpparam type="header" name="Accept" value="application/json";
	};
	return jsonDeserialize(result.fileContent).joke;
}

writeOutput(getDadJoke());

To make the tool more interactive, BoxLang supports search functionality through command-line arguments using cliGetArgs(). This enables users to search for specific jokes by passing terms via the CLI.

Example Search Code:


cliargs = cliGetArgs();
term = cliargs.positionals.reduce((result,item) => {
	if(item.listGetAt(1, "=") == "term") {
		return item.listGetAt(2, "=");
	}
	return "";
},"");

writeOutput(getDadJoke(term));

Why Choose BoxLang for Your Next Project?

BoxLang’s simplicity, speed, and seamless integration with existing JVM tools make it a great choice for a variety of use cases, including CLI scriptsserverless functions, and even web applications. With its easy-to-understand syntax and powerful capabilities, it’s an excellent language for developers of all experience levels.

To dive deeper into Ray’s full blog post and learn more about BoxLang,

Review Original Post

BoxLang News and Updates!

Join us in exploring the future of web development with Ortus and our modern Boxlang and CFML tools. Unlock your potential and be part of the next giant leap in the JVM ecosystem! Sign up for our newsletter and follow us on social media for the latest updates:

Add Your Comment

Recent Entries

BoxLang Thanksgiving Week: Code Smarter, Modernize Faster! 🔥

BoxLang Thanksgiving Week: Code Smarter, Modernize Faster! 🔥

(November 24th–28th, 2025)

This Thanksgiving week, Ortus Solutions is doing more than offering deals or discounts, we’re helping developers and companies modernize their CFML applications and take the next big step into the BoxLang era.

If you’ve ever wondered how ready your codebase is to move to BoxLang, this is your chance to find out, directly from our experts!

Maria Jose Herrera
Maria Jose Herrera
November 14, 2025
Breaking the CFML Barrier: Going Serverless on AWS Lambda with BoxLang — by Dan Card

Breaking the CFML Barrier: Going Serverless on AWS Lambda with BoxLang — by Dan Card

Like most in the CFML community, I’d heard about serverless for years but never dived into it for a host of reasons. One of these ( and a pretty major one! ) was an irrational avoidance of all things Java and being used to the ease of spinning up a CFML instance at other hosting locations.

However, as I started to have more and more small projects and personal tools that were a help to my day-to-day workflow, the cost to have these projects “always on” in a running instance or on EC2 was slowly, if not rapidly, becoming too expensive. This economic incentive, and the advent of BoxLang, were enough to overcome my reservations and the results were definitely worth the experiment.

Dan Card
Dan Card
November 13, 2025
Under the Hood of BoxLang 1.7: Our Fastest Compiler Yet

Under the Hood of BoxLang 1.7: Our Fastest Compiler Yet

With the release of BoxLang 1.7, our primary focus has been on improving the performance of our parser and bytecode generation pipeline. This article presents a comparison of BoxLang’s compilation performance against the current CFML engines. Future benchmarks will include other languages under similar workloads, but our immediate goal is to deliver measurable performance improvements to the CFML ecosystem, helping organizations achieve greater efficiency while preserving their existing technology investments, and provide to them a modern alternative and future.

Luis Majano
Luis Majano
November 06, 2025