{"version":1,"type":"rich","provider_name":"Libsyn","provider_url":"https:\/\/www.libsyn.com","height":90,"width":600,"title":"140 BoxLang modern JVM language that runs CFML code (new CFML engine and much more) with Luis Majano and Brad Wood","description":"Luis Majano and Brad Wood talk about \u201cBoxLang modern JVM language that runs CFML code (new CFML engine and much more)\u201d in this episode of ColdFusion Alive Podcast with host Michaela Light. \u201c\u2026BX is the acronym we use a lot like our file extensions are analogous to the cold fusion file extensions. So a CFM file, we call that bxm For box Lang markup, CMS, which Lucy six had his support for, which is cold fusion script\u201d. Show notes What is BoxLang?  A new language for the JVM that includes CFML Inspired by cool CF, Groovy, Rust, Go, PHP etc Compiles into Java byte code, just like CF A new language for 2024 and beyond Not just targeting web server - see below for all runtime targets 7 MB core  Tidy and lightweight core  Super fast start up time in 100-200ms ACF core 120 to 300 MB&amp;nbsp; Lucee core 20 to 120 - 300 MB Node 80 MB   Add on modules for different target runtimes  Similar in ideas to ACF and Lucee packages     Target runtimes  Web Server Miniserver Serverless Jakarta Android Web assembly&amp;nbsp; Command line use   Modules are designed from the start vs separated out as in ACF or Lucee  Using tight Java libraries that are different from ACF or Lucee libraries   Drastic architecture differences  No OSGi copies  See below for what OSGi is   MVP for this language Created to be extensive in the core from the start Not a monolith Super strict on 3rd party JARs added to the core due to features in the modern JDK  Oracle improvements in Java language and JVM Java 21 or higher only   Other JVM that are based on Oracle JVM 21 or higher Fixes old syntax and function naming inconsistencies from CFML backwards compatible Has two parsers  Antler parser library for BoxLang code 100% legacy CFML code via transpiler   AST = Abstract Syntax Tree  This is what compiles to Java byte code Linting and code quality metric tool and VS-code extension IntelliSense and semantics of the language. Open source AST so easy to extend and hook into it. In-line debugger is built in with scope introspection   Can innovate in BoxLang language without breaking legacy CFML    Transpiling    Dynamic and can continue to edit legacy CFML code Or one-time translate to BoxLang language (BX) Can you translate back from BoxLang to CMFL?  Not currently and technically it can be done - it is open source The syntax is very close to CFML script and tags   Why &amp;lt;bx vs &amp;lt;cfscript Not tag first language - it is script first then adds components \/ class (aka tag)    What is it really?    JVM&amp;nbsp; 100% interoperable with Java  No bridge like ACF or Lucee Extend from Java classes Import Java classes   Framework capabilities built into BoxLang  Event-driven programming Event listeners and extension is built-in   Cache engine built-in  vs added on Can talk to Redis and Couchbase   Async and parallel programming&amp;nbsp;  Built into the core from Java vs adding in Quartz Java library to do this   Easy unit testing of tasks Keep the CFML productivities of RAD coding BoxLang templating language  Like Groovy GSP   Most modern JVM language&amp;nbsp;  More modern than ACF, Lucee OR all other JVM languages such as Groovy, Clojure, Kotlin, Rust etc Super dynamic language with built-in dynamic concepts from the modern Java engine vs a 3rd party library   Comparison chart to other languages?  Coming in future Why are most modern languages similar in appearance?  Common programming metaphors over time are used with similar syntax. But under the hood, they are different engines Tooling IDE Community        Is ACF or Lucee embedded in BoxLang?    No ACF is closed source Lucee - separate development. Chinese wall separation of BoxLang development. Can see the full source code edit history in GitHub which shows it is not a fork from Lucee    What about QA on the language?    6000 automated tests in GitHub    Why did you create it?    A lot of work to make a new compiler etc Alternatives not taken  Suggest features to ACF  Tried. Too radical a change Have done for years. They have their own limitations. Tickets exist for these feature requests   Pull requests to Lucee for a fork  Looked at this for several months&amp;nbsp; Lack of docs from the lead of the Lucee open-source project Major architecture differences with a fresh start Tickets exist for these features for years     New JVM language without the emotional baggage of taggy CF    Fast release cycles    Weekly release cycles Lucee monthly releases ACF annual release plus as needed hotfixes&amp;nbsp; CI process to immediate deployment CommandBox can run different versions of BoxLang, just like it does for ACF and Lucee    What are you looking forward to at CF Summit?    Seeing other CFer Teaching REST class Ok to ask questions on the side and let\u2019s respect Adobe CF conference is focused on ACF.&amp;nbsp;    Addendum - What is OSGi OSGi, or Open Service Gateway Initiative, is a Java framework that allows developers to create and deploy modular software programs and libraries. It's based on a set of specifications that define a component system for Java, and includes a standard for building modular components called bundles.&amp;nbsp; Here are some benefits of OSGi:&amp;nbsp;  Loose coupling  OSGi focuses on loose coupling of functions, which allows for modular functionalities that can be easily moved between source codes.   Dynamic component model  OSGi implements a dynamic component model that allows applications to be remotely installed, started, stopped, updated, and uninstalled without requiring a restart.&amp;nbsp;   Microkernel architecture  OSGi utilizes the concepts of a microkernel architecture, also known as a plug-in architecture.&amp;nbsp;   Reusable components  OSGi allows developers to create applications from smaller, reusable, and collaborative components.&amp;nbsp;    The OSGi Alliance was originally responsible for managing the OSGi framework, but in early 2021 the Eclipse Foundation took over the OSGi specification.&amp;nbsp; &amp;nbsp; Mentioned in this episode   TeraTech\u2019s BoxLang overview article&amp;nbsp; BoxLang Download - free download and paid options, plus lots of language info BoxLang Full source code repo on GitHub plus docs and 1000s of test cases Try BoxLang - similar to TryCF site to try out BoxLang code without having to install it first BoxLang book - full docs and examples to get you going fast.&amp;nbsp;  Bio Luis Majano  Luis Majano is a Computer Engineer who has been developing and designing software systems since 2000. During economic instability and civil war, he was born in San Salvador, El Salvador, in the late 70s. He lived in El Salvador until 1995 and then moved to Miami, Florida, where he completed his Bachelor of Science in Computer Engineering at Florida International University. He is the CEO of Ortus Solutions, a consulting firm specializing in web development, BoxLang, Java development, and open-source professional services. He is the creator of ColdBox, ContentBox, CommandBox, WireBox, TestBox, LogBox, and anything &quot;Box,&quot; and he contributes to over 250 open-source projects. He has a passion for learning and mentoring developers so they can succeed with sustainable software practices and the usage and development of open-source software. You can read his blog at www.luismajano.com Luis is passionate about Jesus, tennis, golf, volleyball, and anything electronic. Random Author Facts:  He played volleyball in the Salvadorean National Team at the tender age of 17 His favorite books are The Lord of the Rings and The Hobbit (Geek!) His first computer was a Texas Instruments TI-99 that his parents gave him in 1986. After some time digesting his very first BASIC book, he had written his own tic-tac-toe game at the age of 9. (Extra geek!) He has a geek love for circuits, microcontrollers, and overall embedded systems. He has, as of late, become a fan of organic gardening.  Links  Luis Majano | LinkedIn Twitter&amp;nbsp; Ortus Solutions  &amp;nbsp; Brad Wood  Brad grew up in southern Missouri and after high school majored in Computer Science with a music minor at MidAmerica Nazarene University (Olathe, KS). Today he lives in Kansas City with his wife and three girls. Brad enjoys all sorts of international food and the great outdoors. Brad has been programming ColdFusion since around 2002 and has used every version of CF since 4.5. He is a software engineer at Ortus Solutions, lead developer of CommandBox CLI, and open source contributor. Links  CFML Slack Box Channel Box Team Slack Channel Brad's Website Brad Wood | LinkedIn Twitter Ortus Community Forum Techempower Nightly Builds  ","author_name":"ColdFusion Alive","author_url":"https:\/\/teratech.com\/podcast\/","html":"<iframe title=\"Libsyn Player\" style=\"border: none\" src=\"\/\/html5-player.libsyn.com\/embed\/episode\/id\/34146265\/height\/90\/theme\/custom\/thumbnail\/yes\/direction\/forward\/render-playlist\/no\/custom-color\/88AA3C\/\" height=\"90\" width=\"600\" scrolling=\"no\"  allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen><\/iframe>","thumbnail_url":"https:\/\/assets.libsyn.com\/secure\/content\/181578420"}