`
lilisalo
  • 浏览: 1109489 次
文章分类
社区版块
存档分类
最新评论

动态语言如何随需应变

 
阅读更多

动态语言如何随需应变

  两年前动态语言刚刚出现的时候,内内外外都还有不少质疑的声音,用J2EE的挥舞着“企业级”的大棒质疑动态语言的“严肃性”,对于动态语言嗤之以鼻。

  从开发人员的角度来说,使用动态语言编程要比使用传统的编译语言,尤其是编译型面向对象语言轻松自如的多,从而也有趣得多。没有那么多条条框框,没有那么多城府沟壑。

  动态语言的优势自然也得到了像微软这样的厂商的重视,但是显然微软不会放弃他们已经建立多年的.net平台,于是原有的静态语言动态化成了一种必须。

  于是我们就会产生这样一种疑问,动态语言是否能够顶住静态语言动态化的压力继续发展壮大,还是仅仅只是历史发展的一个注脚?这个问题值得我们关注……

  最近,我跟好几个开发一线的朋友聊技术的发展,突出的一个感觉是大家都在关注动态语言。有的是使用多年,眼见发展态势不错,大有为自己的先见之明扬眉吐气之感,有的则是刚刚使用,仍处在兴奋不已的状态之中,当然也有仍然保持观望态度的,不过即使是最“保守”的,也能够对动态语言表现出尊重。这与两三年前相比,已经是很大的进步。

  但是现在的企业应用跟两年前可是大不一样了,需求不断变化,修改没完没了。而互联网应用呢?在变化的剧烈和频繁方面,与企业应用相比可谓有过之而无不及。这本质上是因为企业在迅速变化,消费者在迅速变化,人们的需求在迅速变化,世界在迅速变化。现在经验比较丰富的企业开发者越来越达成共识,即事先分析企业应用、对抗需求变更,几乎肯定是死路一条。

  既然无法避免变化,不如适应变化。与其想办法预见变化,不如让自己有能力迅速随需应变,提高自己对变化的反应能力,降低变化带来的成本。

  这已经是共识了,问题在于怎么随需应变。分歧就在这里了。今天做ASP.NET、J2EE开发的离不开XML,就是为了“随需应变”,在变更发生时用XML来重新配置系统。以J2EE为例,高水平的J2EE开发者把XML文件越写越复杂,最后根本就是把XML当成领域语言来用。说白了,就是把J2EE往上扩展成一个面向领域的引擎,再用一层标准化的、薄博的XML来最后的编程,我称之为“强引擎,弱脚本”方案。这样做是有原因的,Java/C#好歹是个编译语言,变更修改重新部署的成本比较大,所以要配合XML使用。但结果怎么样?并不理想。首先系统设计难度还是很大,你还是要设计一个强劲的引擎,设计得不好就带不动XML脚本。而设计这个强劲的引擎还是挺难的,设计错了修改起来还是挺麻烦的,发布以后也难免还要花大力气维护的,这问题没解决多少。

  其次,也是我个人最反感的,就是XML的滥用。XML那东西本质上是用来在程序之间进行数据交换用的,是给程序读写的,不是给人读写的。无论从哪个角度来看,XML对人的阅读和创作都是非常不友好的。结果为了配合J2EE,硬是赶鸭子上架,让XML充当DSL,逼程序员去学习读写XML这种非常没有趣味的“语言”,真是不人道。更有甚者,为了使用各种框架、面向各个领域,开发者还很可能要学会多种不同语义的XML方言,而且很多这样的XML方言根本就没有经过设计,是土法炮制出来的。两种截然不同的语言搅和在一个系统里已经够糟了,更糟的是多种土法炮制的XML方言土语一起搅和在系统里,结果搞得各种语义不同的XML就像癌细胞一样在程序里扩散,这样的系统只能用恶心来形容。

  总之,这种“强引擎,弱脚本”的方式,笔者认为是没有前途的。

分享到:
评论

相关推荐

    用RationalFunctionalTester创建随需应变的自动测试脚本

    IBMRationalFunctionalTester是由IBM推出的针对Java,.Net和...这对自动化测试提出了很高的要求:要随需应变。自动化测试的脚本必须具有相当的自适应能力,在各种环境下都能正常工作。只有提高脚本的复用程度和兼容性,

    潘谢煤田13-1煤层煤岩冲击动力学性能及本构关系的建立

    1煤层煤岩进行了不同应变率的冲击压缩实验,结果表明:煤岩动态应力-应变曲线表现出显著的应变硬化与应变率硬化等动态力学特性,煤岩峰值应力及动态弹性模量均随应变率提高而提高,得到了其动态强度与应变率的关系表达式...

    IBM System iSeries 550

    System i5 系列能够提高资产利用率,并提供了灵活的随需应变升级选件。例如,i5 550包含一至四路支持IBM虚拟化引擎系统技术的可激活的IBM POWER5+处理器,这使得此系统可以同时运行多种操作系统和应用环境。

    短信平台API接口

    亿美短信应用API接口-八项创新 ...真正做到随需应变  7、标准API编码:采用国际通用标准的API编码方式,并提供详细的API开发文档  8、先进系统架构:亿美工程师专业架构设计、多层架构、均衡负载

    Connect On Demand-crx插件

    只需单击一下,即可将随需应变连接到您想要的对象。只需单击一下,即可随需连接! 由于专注于时间和生产力,您没有时间手动发送朋友请求,为什么不将On Demand与此扩展连接! 所有您需要做的就是添加关键字,以定位...

    Salesforce_creating_on_demand_apps

    Force.com 是salesforce.com 提供的随需应变平台,可以使构建、共享、运行业务应用程序的过程比以前更加简单,也使业务应用程序的功能更加强大。本书语言生动,结合实例讲解,对云计算应用程序开发者有很好的参考...

    Salesforce_creating_on_demand_apps.part3

    Force.com 是salesforce.com 提供的随需应变平台,可以使构建、共享、运行业务应用程序的过程比以前更加简单,也使业务应用程序的功能更加强大。本书语言生动,结合实例讲解,对云计算应用程序开发者有很好的参考...

    Salesforce_creating_on_demand_apps.part2

    Force.com 是salesforce.com 提供的随需应变平台,可以使构建、共享、运行业务应用程序的过程比以前更加简单,也使业务应用程序的功能更加强大。本书语言生动,结合实例讲解,对云计算应用程序开发者有很好的参考...

    阳光教育管理软件(Sun-ERP) v3.5.rar

     (3)既支持初创型单校模式,也能充分满足多地区集团化业务管理,达到共性和个性的统一,是一个可根据未来发展随需应变的管理平台。 阳光教育管理软件(Sun-ERP)特点 ~~学员报名,教师分配,教室配置一步到位...

    基于节理岩体损伤本构的洞室位移反分析研究与应用 (2012年)

    修改其内置应变软化模型的数值计算格式,即对位于屈服面以外的应力点采用修正应力张量分量的方式替代主应力修正的方式,使修改后的本构模型可适用于各向异性的节理岩体,同时结合FISH语言编制的节理裂隙几何参数随开挖...

    不同围压下砂岩的变形力学特性与损伤机制

    对赵固一矿二1煤层顶板砂岩进行试验获得其力学参数,并采用颗粒流程序获得砂岩细观力学参数,结合编制的fish语言程序进行试验,研究砂岩在不同围压的强度、变形和损伤演化机制,得到如下结论:随着围压增加砂岩的屈服段变...

    FLAC3D中爆破震动下锚杆轴力损失的修正及应用

    针对FLAC3D现有模型无法实现由于CABLE结构单元在动载下出现损伤而导致支护轴力损失的问题,基于最大剪应力准则和应变能密度准则,提出了爆破震动下CABLE单元破坏损伤判据,以及锚固结构损伤量沿震波传播路径的分布规则,...

    最新智能工厂信息化架构及MES系统整体规划-----180626.doc

    灵活性:提供灵活的"随需应变"策略,支持业务规则和界面的灵活配置,支持工艺 流程的灵活定义,可根据业务需求变化快速重构系统。 先进性:采用最先进的软件技术,利用BS+CS应用模式,包括SOA技术、WEB技术、X ML...

    资金流模型matlab源代码-coss_project:苏黎世联邦理工学院“MATLAB中的建模与仿真社会系统”课程的项目回购

    编程语言:MATLAB 总体介绍 最近的行业例子凸显了公司从中断中恢复所面临的挑战。 例如,在2011年日本海啸之后,丰田汽车的供应网络中断。 这给公司对危机的React提出了挑战。 弹性是在没有危机之前或发生危机之前...

Global site tag (gtag.js) - Google Analytics