Comments (3)
同求
from qlexpress.
qlExpress本身只是一个脚本语言,可以被封装成规则引擎,而drools本身是个规则引擎,专注于规则的条件匹配和执行,不具备可比性。
qlExpress和groovy同属脚本语言,比较如下:
1、groovy比qlExpress更兼容java语法
相对功能复杂处理过程的大段java脚本,groovy可以直接拷贝过来运行,
而qlexpress的语法很轻量,对原始的java代码有一定的兼容性问题,一般需要把数据的类型声明全部去掉,同时不支持异常处理、for循环的集合写法 等
2、qlExpress比groovy更强调功能扩展
因为qlExpress就是诞生于阿里的电商系统,定制了很多特别的常用功能需求(宏定义,语法解析,公式计算,布尔逻辑处理,操作符函数的内置替换),可读性和功能更贴合业务需要,详细看qlExpress的扩展能力部分
3、qlExpress和groovy性能相当
qlExpress和groovy同属弱类型语法,比如a+b,可以在运行时支持字符串,数字等多种计算模式,相比fel,simpleExpress 等强类型语言性能会差一个数量级。
他们都支持编译期做了缓存功能,qlExpress转化为InstructSet,groovy转化为一个特殊的groovyclass子类
from qlexpress.
from qlexpress.
Related Issues (20)
- Like 操作符 空指针异常 HOT 1
- 3.3.1版本,可利用白名单机制绕过黑名单实现命令注入
- context上下文中put字符串类型的数字,会被识别为数字
- getOutVarNames 只能获取最外层属性,如何获取完整属性
- NewMap('xxx':'9') 当value <'10'时,会自动的被转成数值
- ExpressRunner 线程重入问题:计时器重置导致空指针
- QLExpress 3.3.2 黑白名单绕过 Blacklist and whitelist bypass HOT 1
- 升级3.3.1版本后,打了很多System.out.printl HOT 2
- 规则加载有没有加载同名配置的方法 HOT 2
- 设置"||"的别名为OR 的时候添加不成功提示已存在相同操作符,但是执行的时候又提示操作符不正确 HOT 2
- 升级3.3.2后if表达式条件判断有问题 HOT 2
- 想了解下4.0版本 HOT 2
- 转义字符被吞得问题 HOT 1
- Stack Overflow (ExpressRunner.loadMultiExpress) HOT 1
- Stack Overflow (ExpressParse.parse) HOT 1
- 自定义不定参数函数基本类型不支持 HOT 2
- 不能 return 空? HOT 1
- 能否支持直接输入已解析好的规则表达式,不用ql表达式自己的解析能力 HOT 1
- 3.2.0 异常时响应非常慢 HOT 5
- 代码注释编译异常 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qlexpress.