感谢FreeMarker的贡献者

本文介绍了FreeMarker在Ableverse项目中扮演的重要角色,特别是其自定义标签机制如何促进动态代码生成,简化了元语言的实现,并极大地推动了项目的进展。

有些偶然, 我在研究ofbiz的时候得知了FreeMarker的种种好处, 在这之前我并没有觉得她超出一个常见的web页面生成语言以外还有什么, 即使在sf上大致研究了她的信息以后也没什么特别的印象. 但她对我来说确实非同寻常, 从我发现了解她开始, 在Ableverse的开发过程中她促成了极为重要的进展. 我在最初面向能力的实现方式上就考虑了动态代码生成, 其中最为关键的部分是需要简易,清晰,灵活的自定义标签机制, 她必须允许能力提供者方便定义这些标签, 同时能力使用者很容易掌握和使用不同能力所特有的标签. 这其实要求实现一种元语言(meta language). 但是在易用和易于实现之间我犹豫了很久, 最终还是决定暂时先不考虑这个问题而先着手实现能力所需的底层功能支持. 这就是我发现FreeMarker之前一直在做的事情. 但是FreeMarker带来了非常大的希望, 最重要的不是她作为动态模板处理的能力, 而是她的哲学, 她的大部分表示法都是极为有用的模式, 而且, 她实现了这些, 我现在就有一个可以直接放在代码里使用起来的元语言支持. 其实我最初考虑Ableverse的Caplet/Ablet实现时曾经有自己实现这样一套元语音的考虑, 但是去实现这样一套机制的巨大代价一直拖着我在这方向上的进展, 这在很大程度上因为现实环境, 虽然我有很大兴趣来实现这些, 但是在中国, 作为一个程序开发者, 如果没有其他经济来源而是必须靠技能来维持一个让自己觉得还过得去的生活的话, 几乎要用绝大部分的时间和精力来换取, 所以这个自行开发的计划始终得到一个结论是现实里不可行. 然而有了FreeMarker, 天空变得豁然开朗, 这真是一个恩赐.

诺贝尔奖不是发给那些兢兢业业工作的人的, 而是给那些偶然间发现了自然世界秘密的幸运者; 对人类有巨大贡献的是这些人的运气, 而不是他们的辛勤.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值