
140 BoxLang modern JVM language that runs CFML code (new CFML engine and much more) with Luis Majano and Brad Wood
Luis Majano and Brad Wood talk about “BoxLang modern JVM language that runs CFML code (new CFML engine and much more)” in this episode of ColdFusion Alive Podcast with host Michaela Light. “…BX 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”. https://youtu.be/T59ElgfjuY8 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 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 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 bx vs cf script Not tag first language - it is script first then adds components / class (aka tag) What is it really? JVM 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 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 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.
信息
- 节目
- 发布时间2024年11月26日 UTC 23:14
- 长度1 小时 1 分钟
- 分级儿童适宜