锁定老帖子 主题:静态类型语言的优势究竟是什么?
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-12-07
静态类型语言的好处应该还是规整,不过现在已经变成弱点了,毕竟敏捷开发发展也不久。问题可以变成,为什么在桌面时代,没有静态语言这么多的需求。网络时代,程序语言需要和外部的Http协议以及数据库交流,也许这就是动态类型语言大展身手的环境。
瞎说几句,网络应用主流语言从perl过渡到ruby的过程中,java横插一杠子简直就是复辟。我也因此跟着走了弯路。不过ruby动态性实在太强了,已经不是简单的面向对象的perl了。 |
|
返回顶楼 | |
发表时间:2006-12-28
动态类型语言的效率和能不能做大型系统方面,看看yahoo吧,它是用PHP写的。给你用JAVA也可能做不出来那样的性能。
另外你说那么多C/C++开发人员都是操起vi吭哧吭哧写了几十万行代码,这点现在已经改变了,eclipse都有那么多插件,VI也可以有啊,而且还有emacs,gvim这些可以选择,而且都有很多插件,对你说的代码感知能力也支持啊,也有函数补全什么的功能,楼主还是先去了解了解再说吧。 |
|
返回顶楼 | |
发表时间:2006-12-28
不要只讨论静态与动态的区别,也说说强类型与弱类型的区别。
据我所知,js这种典型的动态弱类型语言也要往强类型上靠,包括ruby、python等新生代动态语言也都是强类型的。 |
|
返回顶楼 | |
发表时间:2006-12-29
当并发和分布式变得必不可少时
动态和函数式这种天生优雅的语言就一发不可收了 |
|
返回顶楼 | |
发表时间:2006-12-30
看中文资料和英文资料的感觉就是不一样,英文资料的文法很清晰,而中文就不一样,要看很多遍。再说文言文,那个表达就更神了。在不同的地方使用不同的文法,编程也一样。
在大型项目中,在乎的不是绚丽的文法,设计模式之类,在乎于清晰的表达。往往我们在这类项目中从来都是用笨办法来解决问题,主要考虑到大局的因素。如果采用巧办法会给大局带来不稳定因素,我们宁愿多花点代价用笨办法实现。不知道我这样说有没有离题。因此,在大项目中往往采用相对笨拙的架构和静态语言来实现,不容易出现不可预见的东西,所有东西都是很清晰的摆在图纸上的。静态语言就像盖大楼的混凝土一样,很可靠。而动态语言就像新型建材。 不同的语言不同的表达能力,也有不同的清晰度,但是我们要表达的是什么,是逻辑。语言的表达能力由什么组成,是词汇和语法。语言最后通过执行完成了逻辑。所以静态语言只要嵌入合适的执行引擎,任何可能的表达都是可执行的(参见Buding Parse by JAVA),说到思考与表达的关系,大部分人思考较大的问题时不会直接采用编程语言来直接表达,而是用一些逻辑图或词汇碎片。只有一些随手的东西会一边思考,一边编程,这时候往往用脚本。 |
|
返回顶楼 | |
发表时间:2007-01-02
后来我突然想到以前的著名工具,似乎人家走得的确很到位:
VB。 它既可以解释执行,默认也是不检查变量名,类型也可以为变体。这样看起来是动态语言;(一般简单的任务,或初学者都这么用) 也可以编译执行,做语法检查,也可以声明为option explicit以强制变量必须声明,也可以声明变量的类型。这样看起来又可以是静态语言了。(一般大规模应用,都推荐这么用) 看来这个争论不是第一次出现,方案也不是现在才有。 |
|
返回顶楼 | |