代码改变世界

关于DotNetNuke(DNN)的语言问题

2005-03-07 09:54  灵感之源  阅读(...)  评论(... 编辑 收藏
DotNetNuke(以下简称DNN)对于看过我写的相关随笔的人或者早就接触甚至进行相关开发的人来说,不陌生,它是:

1、DNN(DotNetNuke)研究手札系列1-资源
2、DNN(DotNetNuke)研究手札系列2-背景、现状
3、DNN(DotNetNuke)研究手札系列3-框架(概述)
4、DNN(DotNetNuke)研究手札系列4-框架(硬伤) 1
5、号外!激动人心的DotNetNuke(DNN)2.2x新特性最新汇报!
6、DNN(DotNetNuke)研究手札系列5之DNN的未来(蓝图)
7、号外!DNN直接跳跃到3.0!功能大改进!
8、DNN(DotNetNuke) 3.0感官刺激零距x接触!!! :)
9、DotNetNuke3.0beta最新特性真实动画激赏(2004/11/18)
10、DotNetNuke(DNN)从入门到进阶(1)-怎样写自己的模块
11、DotNetNuke3.0 Public Beta发布新特性研究手札
12、DotNetNuke(DNN)3.0.4 Public Beta完全体验研究(2)-对比2.x真实改进
13、DotNetNuke(DNN) 3.0.7 完全功能测试版
14、到底怎样安装/初始化/个性化DotNetNuke(DNN)?

很早就在DNN官方论坛有关于语言问题的争论,关注点核心就是为什么不用C#而用VB.NET,有些声音甚至来自核心开发团队。但结果是?官方仍然继续应用VB.NET开发。当然,也有别的团队在做C#的迁移版本:CSharpNuke,据说将会在接下来的几天发布2.0版本,对应DNN官方的2.x。

今天看见在一个随笔中又有同样的争论,因此来写这个随笔,希望给大家一点想法。

一些谣言说,DNN官方要做C#了,要放弃VB.NET了。如果要C#,为什么不一开始就C#?就像Rainbow那样?何必辛苦2年多?据我说知,虽然DNN官方的核心开发团队成员不是VB.NET/ASP.NET的所谓“大牛”,也算得上“经验丰富的专家”,其中不乏一直致力于研究C++/JAVA的技术架构专家,为什么他们不直接用JAVA实现,或者跟JAVA在语法上非常类似的C#?

稍微思考一下便可知道:有别的团队做C#不奇怪,因为用JAVA也好,C#也好,很乐意看见C#版本,毕竟看C#版的比看VB.NET版的相对要熟悉一些。但官方是不会浪费资源和时间去换成C#的,如果发现VB.NET不行,早就换了,而且现在的DNN架构已经比较成熟了,性能也很不错,事实证明了VB.NET不会比C#差,而且在开发速度和某些情况的性能表现上,C#还比不上VB.NET(别疑惑,如果你不去研究,可以看看装配脑袋的随笔),只要开发人员水平够高,语言上的能力限制已经越来越少了,现在大多数语言间的区别好像仅仅是语言自己的语法了,在功能上实现已几乎没有什么很大的限制性的东西了,很多C#开发人员认为VB.NET性能差的观点我就不在这里反驳了,让他们继续误解吧。

这便也佐证了为什么2.x到3.x的架构存在大改进。

其实内核跟你无关,你只需要熟悉机制和怎样应用便可,这些可以看例子和官方技术文档,毕竟内核是官方不断改进的,即便你要挪为己用,我想你也会尽量同步官方的改进吧?你可以猜想到,C#版本必然跟得很累。开始的时候必然以官方的数倍速度开发,就像现在的大量JAVA->C#项目一样。问题是,一般JAVA->C#的项目,原来的语言版本都已经相当稳定,别的团队才会下决心进行。

现在把最新版本迁移到C#,表面看起来比csharpnuke.com聪明,其实不然,csharpnuke官方更加明智,因为dotnetnuke2.x是非常稳定的版本了,3.x是一个改革,用户对3.x还保持观望,因为3.x还不相当成熟和稳定,2.x已经相当稳定,已经有大量的用户群。而且现在用户群体都接受了VB.NET,DNN官方当然继续VB.NET版本了。

总结一下:一些开发人员要把DNN迁移到C#的主要原因:
1、用惯了C#,看VB.NET累,而且应用的语言是C#,不想跟着VB.NET的屁股;
2、觉得C#比VB.NET的性能表现要好;

这2点我都反驳了。

欢迎点拨。