Foojay Podcast #97: From Scripting Language to AI Powerhouse: How BoxLang Is Redefining JVM Development
AIBoxLang

Foojay Podcast #97: From Scripting Language to AI Powerhouse: How BoxLang Is Redefining JVM Development

BoxLang is a modern dynamic JVM language built for rapid application development. It’s 100% Java-interoperable, compiles to JVM bytecode, and deployable anywhere from OS to AWS Lambda to Spring Boot. In this episode, we sit down with Luis Majano (CEO of Ortus Solutions and creator of BoxLang) and Cristobal Escobar (BoxLang community manager) to dig into the wave of innovation that has hit the platform over the past few months.

We cover the BoxLang AI v3 release, a major overhaul that ships multi-agent orchestration with parent-child hierarchies, an AI Skills system based on Anthropic’s open standard, MCP server integration (both consuming and serving), a composable middleware layer with six built-in classes including a FlightRecorder for deterministic CI testing, and a unified API spanning 17 AI providers. Luis and Cristobal walk us through the highlights of a 7-part BoxLang AI deep dive series, covering tools, memory systems & RAG, streaming, middleware, and MCP. We also touch on the BoxLang Spring Boot Starter, BoxLings (an interactive TDD/BDD learning platform), and TestBox 7’s real-time streaming test runner.

Whether you’re a Java developer curious about dynamic JVM languages, an AI engineer looking for a productive alternative to Python-based agent frameworks, or just want to see what the JVM ecosystem can do in 2026, this episode is for you.

YouTube

Podcast Apps

You can listen and subscribe to the Foojay Podcast on:

Guests

Content

00:00 Introduction of topic and guests

01:17 What is BoxLang and how to use it

05:25 Multi-runtime (WASM) with MatchBox, based on Rust

07:00 Combining BoxLang with Spring Boot

10:40 The abstraction approach in BoxLang AI, compared with LangChain4j and others

14:18 Markdown skill files similar to Claude are also used in BoxLang AI

15:21 About the 7-part Foojay BoxLang Deep Dive posts series, agents, event-driven,…

19:28 BoxLang can be used for MCP server and client

23:01 Premium features in BoxLang and building a company on an open-source project

27:52 BoxLings, an interactive learning tool for BoxLang that teaches TDD and BDD

30:25 TestBox 7, real-time streaming test execution and a browser-based IDE

32:58 How to get started with BoxLang?

34:14 How the evolutions in the JVM and Java language influence BoxLang development

39:33 Which article to read first on Foojay about BoxLang?

43:27 More learning resources and ideas for the future and desktop development

48:05 Conclusions

Transcript

Automatically generated from the audio, so it can contain errors in names and technical terms. Suggest a correction.

[0:00] What if building AI agents on the GVM was as easy as writing a few lines of scripts with full access to the Java ecosystem, 17 AI providers, and zero boilerplate.

[0:11] Welcome to the Foojay.

[0:17] Welcome to another episode of the Foojay podcast. Today we’re diving into Boxlang, a modern dynamic GVM language that has made quite a leap in the past few months, especially on the AI front. On Foojay, you can find a wide range of articles about it. From a seven-part deep dive series on building production grade AI agent to the release of Boxlang AI version 3 with monthly agent orchestration, skill systems, and MCP server integration. I’m joined today by two of the people behind it all who published most of these Foojay articles. Luis Mano is the CEO of Artist Solutions and the creator of Poxlang. And Chrisal Escobar is Boxlang community manager who has been a very active Foojay author lately but to be honest his name is on the article but they are a team effort. Correct Crystal?

[1:08] Absolutely. That’s the way it is. Thank you both for all your great contributions to Foojay and sharing all that what you are creating with box lang. Now for listeners who didn’t read yet these articles what is box lang exactly crystal ball in one sentence how would you summarize and describe it? Boxlang is a modern dynamic language for the JVM that gives Java developers a more expressive and productive way to build applications while staying fully inside the Java ecosystem. So the goal behind BoxLang is to make the developer more agile and more productive. So the world would be productivity

[1:52] But it’s still on the GVM. So you benefit from the power of the virtual machine. it compiles to JVM byte code. It’s 100% Java interoperable. I’ve read so how is this achieved? How do I work with this? Is this code that I can write and then compile it and run it or how do I work with box light?

[2:16] Box like Chris said the ethos of the language is productivity, right? I think that’s where all our history and background comes from. we’ve been creating libraries and frameworks for over 20 years. So, we didn’t wake up one day and say, “Hey, we want to create a new language.” It was more of a out of necessity

[2:36] And a culmination of all the different frameworks and libraries that we had. we really were stagnating because of we couldn’t go where we wanted at the language providers that we were working with. So that’s where box kind of came about. Boxan can be seen as as two parts. You can either code in box just like a normal language, right? it could be hot compiled. So it it’s since it’s a dynamic language, you can you know basically have a if we’re talking about web servers. Let’s talk about web servers because you can do multi-runtime. But for a web server, you can start up a server, you can code go to the browser, right? And it executes, right? It’s hot compiled, right? you don’t have to basically build an archive, deploy it and then expand it and work with it like traditional Java right so that’s the hot compilation portions of it but our compiler is also front and center so that means that you can actually do can compile directly to Java by code without hot compilation and then deploy it right we even have a series of compilers available to you so the hot compiler is one of them the no op

[3:40] Compiler is another one we even have a Java compiler so we can actually translate a box code to Java code, right? to Java source. So you have the options there, but you also have the ability to bring in boxang as a library into your Java applications and that’s where we see a lot of power that you don’t have to throw away your Java applications if you don’t want to obviously right there’s a huge investment there. But what we wanted is we wanted boxing to be flexible enough that you could go ahead and go and build your own applications on Boxlang as a pure dynamic language or you can bring some of that goodness into your Java applications and just pick what you choose, right? Because then it just becomes another Java library as part of your arsenal, right? So then it just flourishes around your entire app.

[4:28] Is it a bit like you can combine Java and Cotlin?

[4:32] Correct. I mean for us, I don’t really care if it’s Java or Cotlin, right? at the end it will be a java by code handle right so box can be even brought into cotlin

[4:42] Right it doesn’t matter because it’s it’s just a java library right that comes in so maven or gradal you bring it in right through that palm or through that gradal expression and you have access to the box line runtime and then you can be decide which parts of box you want in your java application you want a mod you know where you want modularity you want the templating language right you want the caching engine that we’ve built, right? Scheduling tasks, file directory watcher frameworks, right? You get as a developer to pick and choose the right tools for the right job,

[5:14] But you have access to an entire set of curated modules and even you know enterprise modules that we build for enterprise customers available to you.

[5:24] Okay. I saw on May 6 that you published the open beta of Matchbox which then runs on Rust is something EVM Yeah. So what we wanted is that we wanted to go to places where we couldn’t go, right? And one of those was WSON, right? We wanted to do web assembly and obviously we know that there is no JVM on the web assembly, right? so even if we wanted to go to Android, it’s a subset, right, of the JVM for Android. What if we wanted to go to iOS, right? So there’s there are a lot of places that the JVM still does not go or is partially available. So we had that vision to be able to bring the boxline language per se to really multiple locations regardless of the virtual machine. So we ended up building basically another virtual machine for Rust right and this allows us to go to these micro devices right ESP32s right to WOM that WASM containers right so it gave us that ability to go to other places we even have a project by one of our community members that call it skybox and this is something that he’s building to take us to cloudflare right and just be at

[6:42] The edge networks so this was always our concept is that we wanted to be multi-runtime and we ended up creating another virtual machine along the way.

[6:51] Little side project.

[6:55] Our own Jacob beers give credit to yeah

[6:57] His beautiful mind there.

[7:00] Most Java developers know Spring Boot. You one of those that you have published combines Spring Boot starter with Boxlang as the viewing engine. maybe Christoal you can explain what is the benefit there of using box line in a spring boot application

[7:18] From the adoption side this came as a very simple idea. Java developers should be able to try box lang without feeling they have to rewrite their entire application as Lu was suggesting. So spring boot is already a very familiar environment for Java teams and the started gives them a low friction way to introduce box lang where it makes sense u especially for dynamic views templating rapid prototyping or parts of the application where developer speed matters. So the target audience basically would be Java and Spring teams who are curious about dynamic JVM development but want to stay within tools and deployment models they already understand.

[8:13] If I look at Spring Boot and I take the pet clinic application everyone knows this. What would be the easiest or the best part to replace with box lang?

[8:24] To capitulate a little bit more about this, the idea for the spring boot integration came from the Java conferences, right? From the Java developers that said obviously that they wanted a more expressive templating language, right? And the background behind boxing and the templating language comes from even the coof fusion days in the early 2000s where they actually their templating language was really one of the best and we’ve taken basically everything that we’ve learned through those 20 years from coion from you know Ruby on Rails from Django templating right and brought everything together into the box and templating language right and that is the impetus to bring it to spring developers where you know there’s not a lot of options right so we wanted to make it extremely easy so it’s a turnkey solution right you just add it as a library or we even have a starter template which you know spring boot users are used to and that basically bootstraps the language it bootstraps the views everything’s available to you we even the scopes are available

[9:26] To you so form URL right CGI scopes we’ve created our own little serlet interpolation area there all the interpolation expressions are very very easy for developers to get into, right? So they will find it extremely expressive, right? And since it’s dynamic, it’s hot reloading, right? we even added that as a as an envel as a environment variable. So they can be easily just changing those templates and viewing those responses, right? So that will be very easy for them to get started with a templating language. We even have templating skills. So if you obviously people are using AI they can grab the templating language easily into an AI model and then basically they have the skills to build all the UIs. So with the pet clinic I would say you know add it as a starter actually we should do that because we haven’t done that. So maybe that’s something that we need to do is get a pet clinic demo app there. so let’s make a mental note so to get to build that one. to start you know obviously start with the starter template and then focus all the UI elements that would be built in box

[10:30] Which is you know intermingled with HTML

[10:32] And that will be a next Foojay article is this pet clinic example

[10:38] I’m sure we can find that way to do that

[10:40] You mentioned everyone is using AI there is also box slang AI what is it exactly

[10:47] Yeah well I guess everybody had to jump on the AI train so why not right So we started that project before our stable release last year and it was basically to start building a library. In all honesty I started that out of frustration.

[11:05] Mhm.

[11:05] Right. I started out of frustration because obviously you everybody knows the AI landscape is completely morphing every week, every day, every hour. vendors are producing an ex extremely large amount of code in very little time and for us as developers we’re like you know we want to implement something and then the next week everything has changed right so it has become very difficult for us in that sense to be able to have patterns that are sustainable and maintainable right which is important here I think that just because an AI can do something it doesn’t mean that it’s going to be extremely maintainable right and we seen that already. So this came out of frustration and we wanted to have an abstraction approach to AI where it didn’t matter which LLM we were using.

[11:55] It didn’t matter which features we were using. We were going to focus solely on the abstractions and then we could take that and plug it in to any implementation that we saw fit and obviously those implementations changed our abstractions remained right that was that’s the goal behind box and AAI

[12:12] Right and then that that’s what we started I actually started that project in the booth at Dev Nexus last year [laughter]

[12:23] That’s called conferenced development I think

[12:26] Correct Yes. CDD

[12:29] Is it comparable to LangChain4j?

[12:33] Yes. And I took about probably about 4 months of research on this purely delving into every single AI library that I could get my hands on. So that became LangChain4j, lang chain from python, lang chain in typescript, lama index, right? other little micro Python libraries as well as Spring AI. So I really sat down, my board was full of content of all these abstractions, all these things that we wanted to do and I started building a road map of what we could start building, right? phase by phase to basically first of all bring par to these other libraries and then how to move forward, right? And that’s what we did and that’s why the initial versions were very simple. It was basically just an abstracted chat, right? Then we started moving forward into other more complexities, right? but now we fast forward, right? We’re on version 3.2 and we’ve not only reached par, but now we’re innovating, you know, across all these libraries and we’re also building a an enterprise module for it. So you can actually visualize your agents. So you can visualize even your costs, you can

[13:49] Visualize your tooling. we release an AI AI registry, a tool registry and that means that any developer can build just agents in code right with their own skills with their own whatever they want and tools as well and then basically boxing AI can aggregate them and it can become your centralized registry for tooling and agents and then any application can basically leverage that right so it has grown from simple chat to a full-blown AI library

[14:18] Yeah skills is one of highlights in the release notes of version three. these are markdown files the same thing that we are using in cloth codes for instance.

[14:30] Correct. Yeah. So I think claude had the edge in terms of demarcating the standard for skill files right so we went with that and we also released our own directory curated by the team. So it’s called skills.box.io and this is basically a curated site or directory of skills that we curate that we designate that we have trust in and that are constantly evolving and anybody can participate but obviously we have a lot of stringent protocols in order to allow skills into the repository right as we’ve seen everybody being hacked with open cloud later these days. but yes the focus of skills is basically how to teach these agents spe special designations of specialtities right or how you want code to be written right so I think that they’re extremely important

[15:21] So you published this sevenp part series of posts on Foojay about how to use Boxlang AI I guess they’re all important but which one is the biggest oh is this even possible with Boxlang or Java I didn’t know that in these seven articles. Is it something you want to highlight there?

[15:42] Well, to be honest with you, we received solicitation from one community member to organize all the content. So that I guess that would be my favorite option because it brings all the information together and gives you the opportunity to go step by step. I’m I’m a very structured structured person. So I guess I think that part of the of the publications. Yeah.

[16:15] Yeah. There is there’s indeed an extra post on Foojay where you have an overview of everything which is

[16:21] Which exactly

[16:22] Very good point. what is your highlight Louis?

[16:25] I think for me is agents. I think that’s the most fun I’ve had building the boxing AI platform because it kind of aggregates everything right. It aggregates everything that we wanted to do. So, building agents is very unique in boxing AI. It has things like checkpointers for example which allows an agent to be suspended and this is for example to provide human in the loop interactions. So those are native we’ve also created middleware which was does was inspired by clchain but taken to a more event- driven approach. there’s probably over a hundred now events that are being emitted by box AI and this is also native to box. Boxlang is an event- driven language.

[17:09] This is by design. the entire language emits events at certain pieces in certain locations. For example, when a class is compiled when a constructor is called for example when a new class is instantiated etc etc even when a function is called. So we wanted developers to be able to extend the language easily through observer observable patterns which are very decoupled and very flexible

[17:33] And the same goes with boxing AI. So you can actually intercept everything in boxing AI when a tool is called when you can do basically you can do before and after and around advices like AOP style but extremely easy

[17:50] Right so that is something that I really had a lot of fun building with the agents and now with tooling interactions you can even seed an agent with an MC with a collection of MCP servers so you can just say hey here’s this agent here’s a collection of MCP servers. So, URLs, standard IO, whatever. And the agent will itself basically introspect those MCP servers and create tools on the fly for you according to all the tools there. So now that agent basically now has the capability to call any of those MCP server tools because now they’re just basically like tools, right? So

[18:28] That was the highlight for me.

[18:29] Is that the multi- aent system which is built in? Is that part of that? That’s a another feature. Another feature is that you can create hierarchy of agents as well. And that’s something that I also wanted is to have a root controller agent that can basically be seated with sub agents and those sub agents can have sub agents and sub agents and up to infinity and inception there. it even tracks you know a hierarchy. So you can say hey in where I’m in the hierarchy am I right or print a historical view right? and that it became really impressive for you to start basically coordinating agents with different capabilities. You know, some agents are cheaper than others, right? that so you can connect an agent to a model, right? and that’s something that is part of the agent hierarchy infrastructure, right? but also those can be injected with those MCP servers as well.

[19:28] A lot of MCP. So MCP yeah you can both have a server and a client. You can do both with box lang.

[19:35] Correct. So and we wanted for you to do both. So you can create your own MCP servers extremely easy with one line. you know you can so we went from the little boilerplate to the more encapsulated u maintainable approach. So you can do a single MCP server by just calling a global function registering your tools, registering your resources and prompts or you can build a class and you can say this is my MCP server, right? And basically you register it then yourself in box AI, right? But then you also have the MCP invoker. So this is something that was inspired by our HTTP and SOAP models inside of box land itself. that we can use a nice fluent DSL to speak to any HTTP or any SOAP endpoint and we brought that to MCP. So because MCP at the end of the day can either be to two protocols, right?

[20:29] Standard IO or HTTP and that abstracts it. So you can just say MCP and then the location of the MCP server with some options and then you get an MCP fluent builder and then you can interact with it like invoke a tool register this tools get metadata you we even track statistics out of it so you can actually say which is the most useful tool which is the tool that craps out the most right

[20:53] So you can even interrogate the builder and get really nice tooling around it as well

[20:59] That’s the technical part can you give some examples of this MC CP how it’s used, what are the use cases that you see these days?

[21:08] Sure. I’ll give you a real world example right now. I’m that will be released this week most likely. This is called the Boxong MCP server. And the Boxong MCP server is a premium module and it has a collection of 151 tools in it and over 40 different props. And the entire module is basically for you to manage your runtime. And what that means is that you can connect it to any chat agent, right? or we have our own admin tool around it and completely manage a web application. For example, what can I do? Well, I can say, hey, how much RAM do I have? what is the CPU threshold right now? can you take a stack trace of the current threads and see if there are any issues right now? So you can basically humanly interact with all these tools and those tools can mix together and this becomes a new way to manage web applications and this has completely changed the way that you view a an administrator tool for a runtime. I can basically say what are my scheduled tasks which ones are running right now.

[22:17] Hey, that one has many errors. Can you give me the logs? And it’ll actually give you the 100 less files of the log files for you. Or I can say, you know what, pause this schedule tasker now, right? So these are the type of things that you can do in real life. And this is become part of our enterprise offering. Well, now everyone that has an enterprise, you know, version of Boxland can manage their entire web application remotely safely through this MCP basically application and have deep deep insights that we’ve never had before and correlate things, right? So, I think this is a really a revolution for us that we’ve never had these type of tools available and we’re I’m super excited to get this out the door. You’re talking about premium features and an enterprise plan. So, Boxlang is open source. I can use it in a project, I guess. So, what is the difference between what you offer for free as an open source project and what I can buy in?

[23:17] We are professional open source. This has been kind of our mantra for 20 years. When I started, I started with this framework callbox over 20 years ago. This is an MBC framework just like Spring Boot and it’s was professional open source. so that meant that use it as you see fit, right? Commercial, whatever. It’s Apache 2 license. but obviously we wanted to build a business around it. So we build all kinds of services around all of our platforms. So Box is just another open-source tool available through the Ortist stack, right? So we have over 300 open-source libraries that we manage at Ortis and Boxing is just another one. So box time basically can be used do whatever you want with it. right and then we have enterprise versions and this basically is what an enterprise needs right support design somebody to call an SLA and then we started building enterprise modules which we saw that most of the enterprise wanted right things like session distribution right more vector memories right this MCP server so things that we find that are more niche to an enterprise at a

[24:28] Global enterprise that goes into the enterprise offering which is completely supported for folks but since we love open source and professional open source the majority really is open source I

[24:40] I really love this combination I am an open-sourceminded person but I know everyone has to yeah you have to live you have your invoice so somewhere there has to be an income and I find it amazing that all these a lot of companies are created on top of an open source project which is kept open source and you have a few hundred you say even but still you’re able to then offer

[25:06] Enterprise services and support and yeah a phone number that people can ring if they get stuck and to combine this yeah open source work and still have a company on top of that. I really love the idea and I’m yeah a big appreciation for people who are able to build a company out of this. It’s really great.

[25:27] Yeah, it definitely has not been easy to tell you the truth. I think that for me personally, you know, being a Christian man, I follow the biblical principles of planting and seeding, you know, and I I’m a huge proponent of open source is kind of like how I started, right? And I wanted to make sure that the majority of things that we did were out there and available for people like me when I was in college, that I wanted to be a build a business, right? And that’s so important because I know that there’s there’s not immediate gratification and that’s something that has been lost nowadays. Everybody wants that immediate gratification and for people working in open source professionally there isn’t. You have to the immediate gratification is that you’re giving things away, right? And with the expectation that seed is going to germinate and give you fruit later on.

[26:18] And you know, we’ve been blessed. I cannot complain. Obviously, we’re not, you know, we’re not a Google, we’re not a an Apple, but, you know, we do well and we have been around for 20 years now and we’re going stronger than ever. And yeah, it’s not easy, but we’re I’m a huge believer in this.

[26:37] Absolutely. Absolutely. And I think that especially what Luis was saying about professional open source is something that we are very proud of. I mean all the open-source products that we maintain and all the libraries must be fully documentated. So we must understand that being open source is not equal to free time. I mean this for us this is professional open source and we treat all these projects the way they need to be treated. So the community must must expect really nice documentation behind all all these products especially about talking about box.

[27:30] Yeah, I’m involved in a few open source projects and I know how hard it is to get your first contributor.

[27:36] Absolutely.

[27:38] Using it and letting you know that they’re using it and then actually contri issues or pull requests. Yeah, that’s really it’s a hard part, but I’m I’m amazed how you already are doing this for 20 years. thing that you announced, Luis, was Boxlings, an interactive learning tool for Boxlang. is it part of what the community was asking for? What’s the idea here?

[28:04] For me, I’m I also created the testing frameworks for Cool Fusion a long time ago. So Testbox has been around for almost 15 years now. So it’s a test-driven development and behavior-driven development framework. we’re still going strong on it and so testing is really really important for us at or especially professional open sort. you know just the boxland source code itself it’s over 17,000 tests in our test bed right now. So this is important. It’s kind of core to us. So the best way that I learned for example how to work with let’s say a Java feature is through testing right so I think that teacher teacher’s heart in me basically said hey what if we had a tool that could help people learn the language that have never seen it before for example or you know more advanced folks and dealt and deal with TDD and PDD and I found a project when we were doing our research for Matchbox in Russ called I think it’s rustlings right so I thought it was oh this is exactly it right this is a great vision right it’s a it’s a very nice bite-sized problems that you can solve using

[29:24] Test-driven development and behavior-driven development and you’re getting immediate feedback and what a better way to actually teach someone that the entire app is also built in box

[29:34] And that’s where the boxings came about. So I blatantly stole the idea from Rustlings. So kudos to the Rustlings project and I started building the CLI around it, right? And basically built an entire CLI app around it. I mean we found so many things that we needed to build in the core just by building that boxing application. And that’s how it started. And the idea was teaching people from zero and make them interested and fun, right? We even have a tournament mode on boxings. So you can actually, you know, give it a challenge and say, “Hey, 15 questions and you have a timer and you have, you know, the basically the 15 questions coming in and then you get a prize at the end.” So that’s something that really inspired me to learn languages and I really wanted that to come to our language.

[30:25] There’s also a test box 7 which brings real time streaming test execution. Is it related? Is it something else? What’s the idea about testbox?

[30:34] Yeah, so testbox basically like I said was built for testdriven and behavior driven development for co fusion when it started and now boxing. So with the latest version of testbox we created even a whole UI to bring stream tests into place and that allows you to connect to your web application basically and start streaming your tests and basically interacting and working with it right so you can actually open VS code through it right you can interact with it there’s also a CLI portion so you can interact with an LLM and you can say to the AI model hey here’s my testbox runner and then you can stream results and actually work with it we have skills for that as well. So, Testbox 7 was really a merging of everything that we’ve learned through AI and bringing it for you to do rapid behavior and test-driven development with testbox. Granted, this is specifically for box and source code, right? So, this does not replace JUnit or testged.

[31:36] So, it can be in any project where you have n Java code and box code. So, they can exist next to each other. Correct. You can even mix them. So for example in the box line source code we actually use JUnit for all of our tests and basically just say hey box line we have a runtime because it’s just a Java library execute the source right and then JUnit executes the box source code which is dynamic within JUnit and then we do expectations around it right it does all the bridge around it. You can instantiate testbox. This is just a box on library. And this basically gives us the best of both worlds and JUnit is your primary driver, right? So you drive from test box from JUnit and then you go to testbox whenever you need it. What stood out to me Frank when our team prepared Testbox 7 content was the developer experience I mean real time test execution with SSE a browserbased IDE dry run capabilities and better CLI workflows. [snorts] Mhm.

[32:45] So, that matters because feedback loops matter. The faster you can see what broke, where it broke and keep moving, the better your developer experience becomes.

[32:58] If I start integrating BoxLang, is there some kind of training that you give? If I become an enterprise customer, do you train people to build better, build faster, have better testing, stuff like that? Yeah, for sure. I think that’s that’s the part of the professional open source. I mean, that that’s how this started, right? Is basically giving training. So, we have tons of courses available to folks that we can give on-site or remote. we also have a free academy right now. So, for the moment, it’s completely free. It’s called learn.boxon.io. We have a huge collection of videos and byite-size video trainings there. and that one’s completely free. eventually it might be paywalt but for the moment it is completely free and available to them and also in YouTube but for enterprise customers that that’s has been our bread and butter is basically we will support you in the language we will train you we can even build things alongside of you know so I think that’s that’s a big differentiator with us and other for example open source languages is that We are the face that are

[34:09] That’s put in front of the customer and we will make sure that you are successful with it.

[34:14] With this long history of creating box lang and all the other tools on top of the GVM there are a lot of changes going on in the GVM. We have all these projects project loom we had the FFM [clears throat] API recently launched structured concurrency. How do you compete with these improvements in the GVM or are you using them or what is your relationship with all this these evolutions in Java?

[34:43] I think that we have been kept into the loop of all the Java ecos a long time and I’m so happy how Java is evolving as of late. I’m really really happy because they’ve taken a lot of feedback and then once Java I would say 11 started things started getting really nice. So Box for example is JDK 21 or JRE 21 plus right? box 2 will be 25 plus and yeah we’ve had to basically study every single GAP out there and see what we could be adapting to box. for example, the concurrency framework is my brainchild and I love the concurrency framework that they’ve introduced. so I we introduced an adaptation to the concurrency framework inside of box lang to makes it even easier to work with not only a synchronous computations but parallel computations. So you know you talked about structure concurrency right. So we virtual threading for example virtual threads are native to box slang you can actually do member methods on arrays structures and collections and whatever you do like map filters or reductions for example with a simple argument you can completely virtualize it and say hey I

[36:00] Want you to run every single closure on that item in a virtual thread right just by adding one parameter right you can actually say a thread component so you can say a thread block, right? you can actually just say virtual equals true, right? So, a lot of our syntax is permeated by the concurrency framework and virtual threading. We even have the concept of executors in boxing. so we have three executors that we ship the runtime that are finely tuned for execution. So we have an IO tasks we have a CPUbound executor as well and then even a regular expression exeutor and you can create your own and we can manage them right very simply without knowing all the intricacies that come with executor services and to be honest concurrency is a is a fascination to me but it’s it’s really difficult and painful but beautiful at the same time right so we wanted to make really simple for developers to get into concurrency without shooting themselves in the foot, right? And that has been a real amazing things that the Java developers have done and we still have a lot more to bring in. So

[37:10] We have a lot of parallel computations in boxer. For example, you have a simple BIF that global function that basically say as sync all and you pass in an array or a collection and it will basically execute every item in a single thread and that can be a future or not or what we call a box future, right? but we’re bringing you know the structured component part of it. So you can say shutdown on success or shutdown on failure for that asynchronous computation or you can pass your own policy

[37:39] As well as a nice little closure or lambda right

[37:42] So that concurrency has been a big part of boxing and we use almost everything that’s new in those JDK versions up to 21 in boxing itself right streams grouping all that stuff is part of it fm we’re starting to investigate especially because of matchbox box. we do have a Java layer in Matchbox. So, we can actually bring Java libraries into our new Rasvm and we’re looking into FFM as a new native approach to call these methods as well and do bindings, native bindings with it as well, right? so there’s a lot of what you mentioned that are that is coming right that we want to adapt into boxing. A lot is already adapted, right? But there’s more that is coming that we will adapt.

[38:29] Mhm. Okay, pattern matching. So, that’s going to be something that is for me revolutionary pattern matching when it was introduced. I think it was J JDK or 19. I can’t remember which one, but it was a really a big feature and now we have it in beta and this will be released in our next version in maybe 12 days or so. and so we’ve been working on this for quite a while and this brings not only the goodness of pattern matching that Java brought, but we also brought in all the goodness that we’ve been using with Rust pattern matching as well. And we kind of created a the box pattern matching which is a kind of a combination of those two best case scenarios. So,

[39:14] So we have to keep up to date and we love what the Java teams are producing

[39:19] And there’s a lot of changes still going on and new features that will come in Java in the next version. So, Boxland 3 will be Java 29, something like that.

[39:29] Something like that. Yes,

[39:30] Looking future. Now, a lot of articles by both of you and your team on Foojay. what’s the one thing that we should start with if I’m interested in box slang? Should I read an article? I’ve seen that you have this website where you can actually execute boxang language also to out online. What is the best starting point?

[39:53] I think the best starting point is go to try.boxland.io. and it’s basically like a script template pad, right? And you can basically try it out, try a few functions, try to poke around, right? And do that. there’s a new BoxLine administrator app that’s going to be available soon as well and that will allow you to basically have that try.box.io in your machine. So, that way you don’t have to be compiling or anything. You can just code test code and test. and so that’s the easiest approach, right? the second approach I would say is with our AI intro. the AI intro and boxings are both CLI applications that they can clone in GitHub. and they can get started really easy with that. if you really want to get started with AI and you’ve never done it before, I really recommend it. I took it from the bare bear simple chat right to building you know speech to text, right? And speech to as text to audio and stuff like that. So the BXAI intro and we can post some of those links later but that is really takes you by the hand. There’s about 31 samples available to folks and

[41:09] They can get started in 10 minutes.

[41:13] All the links that were mentioned and all the articles that are published will also be in the show notes of this podcast. Chris, something you want to add still? I would say go ahead and install box lang and run something very small. do not start with a massive migration. Start with the fastest possible path to curiosity. Try the CLI try box links or take a small spring boot use case and see how box feels. The goal from my point of view is to get from what is this to okay I understand why this could be useful as quick as possible. That would be my ideal recipe.

[41:59] I think to finalize that is look at our docs. I spend an insane amount of time in the docs. I it’s my passion. I’ve been called a documentation weirdo before and I gladly accept it. but I love documentation. I love good documentation and we spend a lot of time on this. So boxland.books is the repository for anything box. for AI will be AI.orgbooks.com and there’s everything there right we want to make sure that people have that access to everything and they’re also AI agents for the books. So you can ask questions, you can say how do I do this? Right? all that is available to you. All of them have MCP servers. So you can connect them to your IDs and you can basically now teacher your models directly from our docs.

[42:52] So we will always have that available because we know that in the age of AI, we want to make sure that we’re interconnected and people can especially for a new language, right? how do you how do you get all these models to learn how to use you? And that was the our avenue, right? So, the documentation is my favorite place to be and I really recommend you see there and you see all the different features and capabilities that maybe one tool is all you want.

[43:20] As a doc writer, I can really appreciate the importance that you put into these docs.

[43:26] Okay. Thank you.

[43:27] Anything else you want to add? the Boxlang Academy. I think it’s it’s something very interesting. I would invite everyone to go to learn.box.io and I think that would be something they would enjoy.

[43:45] Okay. Luis,

[43:47] Maybe two things. I’ll give you a sneak peek into what’s coming. And another aspect of boxine that maybe as a call out here to universities is that I we started working actually with my alma mater in Florida I graduated from Florida International University as a computer engineer and we started a pilot program with them this year so we can have students basically being mentored by the boxing team and them collaborating on our source code and it went incredibly well. So the entire Google cloud functions runtime and the Azure runtime came from them. the boxing AI imaging models and the audio models came from the students. and now in this semester for fall even 100 plus students are going to be also working with us and so forth and so forth. So we since I told you we love open source and we love the new generations. I think that we want to make sure that we can reach out to more universities now here in Europe where we’re both here to see how we can help and mentor students and mentor the new generations so they can learn how to program and learn how to leverage all

[45:05] The tools to create businesses right to give that entrepreneurial spirit to them as well. So that that’s a big important deal for us is to reach the new generations with this. And then sneak peaks is that there’s a lot of stuff coming. So we’re we’re so excited of all the things that we’re building and I know maybe some people are getting annoyed with all the postings that we’re doing in Foojay. But it’s like sorry we’re just productive. We have a vision of where we’re going and we have a lot of stuff to share. So next version is action-packed. you know we have template classes coming in you know we’ve done a lot of work with Java inheritance so this actually allows a dynamic class to extend a static class also to do implementations as well so you can take your dynamic code and it can actually implement any interface within the you know your JVM heap space right so this basically is bridging the two worlds together and what we call the dynamic object framework and the dynamic object framework is built on invoke dynamic which again is part of the new

[46:10] Features in JFK and this allows basically any developer to take a Java class which is static and make it dynamic. You can actually detach functions from a Java class and pass them around in your box and code. Right? So we’ve done a lot of work into into building these bridges between these two languages to go back and forth and flow easily. So that’s that’s already available and a lot of more features coming in the next releases here as well. So stay tuned. Like I said, the boxing administrator is a nice desktop application. This is the new runtime we launched u last month in our conference and it allows you to build desktop applications using Electron as the base. we also have one that’s coming hopefully soon based on JavaFX and that will be our pure Java desktop application experience. we’re still in probably pre-alpha stage on that one, but we’ve learned a lot with the Electron one and then we’re going to be basically building another one based on the Java Pure one as well. So that one’s a really exciting one that developers can start working on right now and build

[47:18] Desktop applications that are very very easily and mix the two languages together and ship them.

[47:24] As a big Java VIX fan, I’m really looking forward to what you will be building there. So

[47:30] Oh, cool.

[47:31] Yeah. So

[47:31] Yeah, a lot of people don’t know about JavaFX and you know, we’ve been tinkering around with that one for many years,

[47:37] But we really haven’t gotten deep into it until now where we really wanted to create a pure Java binary distribution of your desktop application

[47:48] Rather than than leveraging it with Electron

[47:50] And Java VIX is gaining a lot of attention lately because desktops become more important again in the AI age where Yeah. you data and see what’s actually happening under the hood. So okay thanks a lot. So keep an eye on Foojay everyone because I’m think there will be more box lang articles [laughter] with new releases and more tutorials. That’s a wrap for this episode of the Foojay podcast. A huge thank you Louis and Crystal for taking the time to share what’s happening in the box lang world and also thank you a lot for all the articles that you are posting on Foojay. If you enjoyed this episode, please subscribe to the Foojay podcast on YouTube or in your favorite podcast app. You can find all our episodes, show notes, and links to the resources mentioned today on Foojay.io.

[48:41] And don’t forget to follow friends of OpenJDK on social media for the latest news and updates from the Java community. Until next time, keep coding and keep learning and maybe let one of your AIG agents write the boiler plate for you, preferably in box lang. Thanks for listening. Give me the friends of OpenJDK.

Found a mistake, or something to add? Edit this page on GitHub

Written by

Cristobal Escobar

Development and promotion of BoxLang, a modern dynamic JVM language deployable on various platforms, including all operating systems, web servers, Java application servers, AWS Lambda, iOS, Android, web assembly, and more.

Written by

Frank Delporte

Frank Delporte is a Java Champion, Java Developer, Senior Technical Writer at Azul, Blogger, Author of "Java Programming for Raspberry Pi - A Hands-On Guide to Electronics and IoT Projects", and Open-Source Contributor for Pi4J, Lottie4J, Sheetmusic4J, …

Written by

Luis Majano

CEO Ortus Solutions - Engineer - Author - Creator of ColdBox HMVC, BoxLang JVM Language, ContentBox CMS, and more.

Related posts

Join the discussion