主题:【文摘】SWT……内幕? -- upson

共:💬44 🌺50
全看分页树展 · 主题 跟帖
家园 不止这么简单

因为类型不是预先知道的,意味着无法做编译时检查,所以ide的自动化实现难度很高,同时比较难开发一些工具做refactor,profile和一些相关维护工作,而这些要求在大规模项目开发里又是必须的,如果不借助工具,对新手来说是相当麻烦的事情。

另外动态语言的类型动态化不能简单理解为需要先申明再使用这样的概念,类型的动态化,可以更加容易的实现一些相当复杂的功能,比如python,连类的定义都是可以动态的做出来的。而现在流行的meta 编程,aop,函数式编程,web service等等,在动态语言里面,因为类型动态化的因素,都更加容易实现。 这样的灵活性,带来开发效率改善的同时,对语言的编写者有更高的要求,新手很容易制造问题或者引入大量潜在的问题,而又因为缺少profile等分析工具,不能很容易的查找问题。虽然引入tdd这样模式可以尽可能克服一些问题,但是对于一个团队来说,毕竟需要时间。动态语言因为自身的特性,不容易象java那样规范的写代码,流水制造,千人一面,在缺少有效工具前,这是我认为不太适合做大规模协同开发的原因。

当然我这个前提是假定在人力资源比较紧张的情况下,越是上规模的项目新手越多,如果有足够的资源和培训,就不是问题了。比如现在很多大牛依然用编辑器+宏做开发,这些问题在人家来看,根本不是问题。我没正式使用脚本语言大规模开发过项目,这是从我个人编写一些小工具时碰到问题和一些java程序员转做ror提出的一些看法。

其实前2年也有朋友批评我现在做事太依赖于工具,但是立场不同,他是从资深程序员的角度考虑问题,我是从项目管理者和组织者的角度看问题,能用工具解决的,我绝对不会放给人做。而且因为工具帮助,其实脚本语言的开发效率的提高,对我现在来说,看到的不明确。

我最近可能有机会使用脚本语言做某个项目的开发,或者结束以后我会有不同的看法,呵呵。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河