Lucee compared to Java
JVM
Like Java, Lucee is also a JVM (Java Virtual Machine) based language, means the source code is compiled to Java bytecode, so it can be executed on the JVM. In difference to other JVM languages Lucee comes with it owns very powerful runtime environment. So it is not only a different syntax to do Java bytecode, like for example Groovy.
Server
Changes to Lucee are made with the Lucee administrator. In Java projects, comparable changes, especially relating to injectable resources, are often made in the Java container in use.
Pros & cons
Pros of Lucee
CFML enables very fast prototyping
CFML typically allows for faster development
CFML does not have strong typing, which some developers may prefer
CFML uses a fraction of the amount of code lines Java does
CFML simplifies coding by abstracting away many details from developers
Lucee can be extended with Java classes and libraries in different ways very easy
Lucee can access a service layer written in Java
No external libraries required for datasources, Amazon, zipping and many other functions
Because Lucee Server can be deployed onto any servlet container, clients may be more likely to accept Lucee than a non-Java product
Training staff to use Lucee will take a lot less time than Java
IDEs and editors can be much simpler
Existing JSP taglibs can be used in CFML pages
No need to build as this is done when the code is run for the first time (runtime compiler)
Cons of Lucee
CFML does not have strong typing, whereas developers may prefer Java's strong typing
Clients may be resistant to change to Lucee
Lucee Server & CFML do not enforce practices whereas Java does
CFML may not be as flexible as Java because options are abstracted away
IDEs and editors are not as fully featured as Java environments