半静态语言–原理和代价解析[Java编程]
本文“半静态语言–原理和代价解析[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
引言
动态范例语言在企业开辟和互联网范畴利用遍及,如Ruby ,Velocity, Python等.动态范例语言在运行时举行范例推断,以注释方法履行,改正即见效,开辟机动性高;而静态范例语言(如:Java,C/C+/C++) 在履行前做范例查抄,需求编译运行,关于互联网前端开辟不够机动.
因此,很多大型互联网站挑选 Freemarker, Velocity这样的动态模板语言作为页面开辟语言,在一定程度上满意了前端矫捷开辟的需求.
但是,关于大型电子商务网站,不但具有普通互联网需求频繁变更的特点,更明显特点则是业务繁多,业务模子和业务关系复杂.因此,在此类利用开辟中,Velocity 的开辟也碰到了一些的问题.
前端模板开发问题
降低软件质量
Velocity是弱范例动态语言,运行时才能查抄出范例错误.由于动态范例等特点,有的错误在碰到特定参数时,才能激起履行途径,软件质量不能很好的保证.
测试本钱高
由于无法像静态语言一样,在运行前举行范例查抄,因此软件的测试周期长,测试本钱高.
开辟不矫捷
贫乏一些矫捷开辟功效如IDE内及时考证、代码提醒、代码重构等.固然能改正即见效,但关于企业级开辟,效率较低.
保护性差
关于一个大型系统,在重构业务模子(Java Model)或代码时, 无法知道哪些Velocity模板会遭到影响;常常需求耗费大量时间搜索相关模板,然后改正、测试.比方:笔者所在公司的一个底子产品进级,由于受影响模板众多,重构复杂,项目评价达上千人日.
这些动态语言天生的缺陷在企业级和大型网站利用中非常突出,严重的影响了开辟质量和开辟效率.因此,在技术上亟待一种新的高质量、高效率的开辟技术.
静态语言的上风
综合考虑后,我们发现动态范例语言(Dynamic Language)“注释履行方法和改正即见效”的最大长处还是不能舍弃的.必须从问题动身,找到一条平滑的线路来办理问题.
碰到上述问题时,我们情不自禁的会赞誉Java的长处:
静态语法和静态范例及时查抄.
假如赋值范例不匹配,办法不存在,参数范例错误等信息能即刻在IDE中显示;
代码提醒:
调用属性,办法时能代码提醒,开辟非常高效;
代码热链接:
通过变量和类名热链接到对应的Java类;
代码重构:
改正一个Java类时,受影响的Java代码会被及时重新考证,即刻会显示红色的错误; 更强盛的是重构,对Java类,办法敏性重命名,会自动改正全部相关代码中对它的引用.
Java等静态范例语言的这些上风就是办理问题的方向.那为什么动态语言不能做到这些呢? 缘由在于动态语言的根本特点是变量无范例(即弱范例特点),范例在运行时推断,这使得它无法在开辟阶段举行范例查抄.
那若何将动态语言和静态语言的长处结合呢?答案就是半静态语言.
半静态语言(Semi-Static Language)
以上是“半静态语言–原理和代价解析[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |