.NET开发人员,对于动态语言(Dynamic Languages)应该持什么样的
发布时间:2020-12-16 23:54:40 所属栏目:大数据 来源:网络整理
导读:.NET开发人员,对于动态语言(Dynamic Languages)应该持什么样的态度 [ 2006-05-15 18:58:26 | Author: ccBoy ] Font Size: Large | Medium | Small 最近似乎有一种类似混乱的观点提出,说.NET的未来是转向Dynamic Languages,你看LINQ就是基础,C# 3.0,VB9
.NET开发人员,对于动态语言(Dynamic Languages)应该持什么样的态度
[ 2006-05-15 18:58:26 | Author:
ccBoy ]
Font Size:
Large |
Medium |
Small
最近似乎有一种类似混乱的观点提出,说.NET的未来是转向Dynamic Languages,你看LINQ就是基础,C# 3.0,VB9 的某些特性无非是很久之前许多Dynamic Languages的特性,而且Dynamic Languages多方便、多强大.....&%^$#@@!!#@#
我则认为这是继Java vs. PHP vs VB vs. C# 之后的新版本,形式上更先进了,但是鼓吹"动态语言的世界即将来到“本质上会混乱那些正在奔跑或止步创造的年轻人。我不能说Dynamic Languages不好,但我希望.NET平台的开发人员对动态语言有一个自己的看法-那就是不要盲从和轻信。 首先这需要你有两种判断, 第一,认识到Dynamic Languages 有怎样的好处,有怎样的弱点。C#很好,但它也有弱点,Dynamic Languages 有强大和过人之处,但它也有缺点. Mike Champion的文章 ”Beyond Dynamic Languages“,描述了一种完全动态的情况Dynamic Meetings、Dynamic Design、Dynamic Testing以及Dynamic Debugging 的情景,虽然有些夸张,但是他提出了使用动态语言为的是什么,它比静态语言的优势在那里?--开发效率 Sure,they make some of your programming tasks a bit easier to perform,but how much time do you spend programming anyway? Most developers produce on average one line of quality code per week. It’s not that they are lazy; it’s just that the ‘coding time’ turns out to be a small fraction of the overall product cycle. 所以,想像一下一个资深.NET的开发人员,盲从意味着他今天要使用一种并不熟悉的编程语言试图体验新的动态语言的开发效率,这似乎有些可笑(但不能否认,有时候我们真的会看来某篇文章和报道之后去安装和尝试某个动态语言,而这些尝试和体验离我们当前正做的事情可能离题太远,但不可否认,我们还是去做了这个尝试),而Mike的观念中,编程的效率来自许多指标和Measure的计量模型,扩大动态语言的好处,是因为我们的经验里,认为开发效率是编程和项目中非常重要的依据吗?--我知道,更多的人的回答是-NO ! 第二个判断是有关编程语言的,提到动态语言,很多人会先联想到Ruby /PHP+/Python 的某些COOL的发呆的语言特性。 Erik Meijer(达人一个) 有一句非常有趣的话:"Static typing where possible,dynamic typing where necessary." 其实这说了编程语言世界中一个三分天下的局面:静态的C#/Java 等等在两极的一边,Python/Ruby这样的动态语言在另外的一极,而VB或其他的语言会介于两极之间,发展自己的特色。所以我认为未来的天下不会只属于动态语言。 可以引用最近发生的一件事情, A conversation with Anders Hejlsberg about the May 06 preview of LINQ ,Anders Hejlsberg阐述了自己的看法,认为SQL# 不是创新,将数据查询和操作集成到编程语言中也不是innovative,他也不想让C#变成动态语言。你会说,LINQ所做的和dBASE/Foxpro有什么不同? ”You get to write programs in the dynamic language style (without explicitly declaring and mentioning types) yet your programs are still strongly typed,such that they can be compile-time type checked and take advantage of tools like IntelliSense,statement completion,and code refactoring. “ -Even if the overall idea is not new,I do think the way we've implemented it is both new and innovative. 这里还有两个关键的信息:
当你不盲从和轻信之后,我相信你会正确的迈向下一步-坚持你自己的选择。 Anders Hejlsberg表示了他的选择和态度;同样很多人崇拜的大师Martin Fowler在最近的文章 EvaluatingRuby也表示出他对Ruby的坚持和态度。什么是你的态度和坚持?另外有趣的是文章引出了相关的一个问题 "Are you sure you want to be mainstream?" Are you sure you want to be mainstream? 这是让任何技术开发人员和技术投资者头痛和非常容易引起思考的一个问题。如果用这个问题结束有关动态语言和静态语言的争执,我想,最后的问题也许是-你要否能够坚持你自己的选择? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |