RSS 2.0 Feed
DotNet 文章
摘要:最近一直在做 .Net 的开发,前不久也升级了我们的开发机(从1.0 ->1.1)     现在我有时在想一问题,DotNet 会给我们带来什么?它给中国人IT技术界有什么影响呢?它是让开发更加容易简单了?还是又一个M$的商业运作?    现在很多以前学习asp 的朋友都转向 asp.net 的学习,但都转得很吃力,不是那么的随手,这又是为什么呢?    我总结了一下,不知对否:       DotNet 是一个新的技术(虽然它有点抄袭J2EE),同样C#语言与Java之间也有同样的问题,但C#加入了跟多的C++成分,对于指针的运用也是各界对 C# 进行攻击的论点,但如果你想开发高效的运用,一定会非常感谢M$的。     如果硬要说J2EE 与 DotNet 那一个更好一点,那个会是市场的主流。我想J2EE已经在业界有广泛的支持者,它的成功案例也非常的多,它有着Sun, IBM...大公司的支持,可以说在商品支持以及推广上面一点也不会比DotNet 差,甚至还要好。技术方面,J2EE已经慢慢完成了成熟的道路,从1.0 ->1.2...  加入了很多新的支持,如 JSP等等,很多开放源代码计划正在实施(如:TomCat等),可以这样说如果没有DotNet 的话那J2EE与Java真是我们完美的选择。     回过头来,我们看看DotNet,M$的财力是业界公认的,如果那个公司说它放弃M$的支持,那他一定是疯了(Sun 就是疯了,当然不是不好,那说明人家有实力)。DotNet 有一个超强大的类库,甚至能于 MFC (Microsoft Function Classes) 进行比美,他有一个完美的IDE (Visual Studio .NET),他有一个越来越成熟的平台NT架构的windows 系统。它有世界上最强的开发团队(个人论为)在进行开发。它有一个遍及世界的推广网络。看看它的发展,从最初的beta2 -> 1.0 -> 1.1 (最近从M$得知 DotNet 2.0已经在进行内部的测试)。这说明M$准备用1-2年的时间成功 J2EE 以往的发展。有人说M$是最崇尚“拿来主义”的,我说如果真的能“青胜于蓝”,Why not?   J2EE 与 DotNet 给国内IT技术人的影响当然是有的,但我个人论为只是给我们多了一个选择。  DotNet 的确给我们开发带来了便利,VS.NET 开发工具已经从2002 版本升级到 2003。大家知道VS 6.0用了几年吗?从这里可以看出M$确实做出了他们的工作,不管他们的目的是什么。MSDN开发文档,M$甚至放到了公共下载服务器上(请看看winbeta.org的文章),给大家下载,以前这可是在中国花上几万块才能看到的。  很多asp开发人员甚至VB开发人员,已经开始转向.net 下的开发工作。但总是很吃力,不能自己对全局进行一个分析,不能写出高效的程序来。我想了一下其中的原因,也结合自己学习时的心得。 其主要原因是对 class 化程序的不理解。以及对建模分析等的不了解。  来看看我们中国可爱,又能吃苦的程序员是怎么学习的。先学习C#的语法,一看和在大学里时的C差不多,一下就放下心来了。然后就是看看ADO,能不能在DotNet 里找到,找到一个ADO.Net,一看方法与以前的2.1,2.5差不多,好,基本上有数了。开始上网,找人家写的代码,找到一个留言板程序,DL下来一看,FT,VB.NET的,删除。再找,好不容易找到一些代码,看了一遍,哈哈和ASP没有什么分别(因为asp.net 为了兼容ASP的方法),心里太高兴了,ASP.NET不过如此呀,我已经学会了。开始用ASP的方法写了几个小程序。OK,开始有点配服自己的学习能力了。------这是一个经典的asp程序员学习DotNet的过程。我无言。如果说这也是学习的话,那些写J2EE的同行不知道会笑成什么样。  我想问他们一句,你对类库了解多少?你对性能了解多少?你对安全性又了解多少?  最后就个人我给学习 DotNet 朋友一点见意(当然只是一点见意,没有要教你的意思): 你先学习一下建模。然后是C#语法(重点当然是接口,重载以及委托(delegate)),然后是类库(主要了解你要用的类的继承关系)。多看看MSDN中的主题文章(当然是English,如果你English不行,那就去补补吧),最后开始看人家的代码。(不要瞎看,如果你学习的是asp.net 那我见意你去 www.asp.net ,里面有几个比较好的例子代码,如一个forum ,一个购物程序 。如果学习win 32 下的编程可以看一下 Sharp Develop ,它是一个IDE程序,基本上你能想到的功能,它都有,并开放源代码。看它没有点耐心可不行,可以这样说很大。)如果你有什么心得可一定要发布出来,呵呵:) 下面你就可以开始计划你的项目了,一个好的计划会让你的开发轻松而又踏实。也正好学习一点软件工程方面的知识。  好了,最后的最后,我祝你成功。希望你真正是 one of us....[阅读全文]

posted @ | Feedback (3) |

摘要: 一个好的团队,能开发出优秀的软件。成员都很优秀,则不一定能开发出同样优秀的软件。     什么是一个好团队? 一直是大家想知道的,也是大家为之努力的。  一、O! My God!    在我看来好团队必须要是一个强有力的领导。用政治的语言说就是有一个专制独裁的领导。开发不是百家争鸣的事。它很专业,很重要,不管你的公司有多大,不管你手里有多少钱,也许就是一次开发的失败,就会把一个公司推向绝路。所以要一个人来对整个开发做一个决定,他就是我们开发中的GOD。  二、Our God!    在开发中一切都要听从这位领导者,由他来控制整个开发流程。现在关于软件工程方面的理论书可以堆满你整个办公室,方法更是多种多样。无可否认,它们都是人类智慧的结晶。但很可惜的是我们只有用其中的一种。Our God 会给我们一种他论为的最好的,在你还没有当上God 之前,请你无条件地执行。  三、Help our God!    这里的Help不是让你替管理者做决定,而是帮助他做决定。每周的开发例会是最好的发言地点,EMail 是一个完美的交流工具。请你记住你帮助他,就是在帮助你自己,帮助自己的工作,帮助公司。如果你的见意被采纳了,这是很理想的,而往往于之相反,那你一定要支持你的GOD,先把你的见意留下,到你当上God时再说。  四、Talk whit Others!    交流在开发中非常重要,程序员之间要交流,程序员与管理员要交流,开发部与市场部要交流。充分的交流是好产品诞生的前提。开发部应该有自己的备忘录,有独立的公共留言系统。当你有了一个感觉很聪明的方法时,请记下来,不要管它对你有没有用。也许其它人正因为这个问题在沉思。当你碰到一个问题时,请你找一下系统,也许会有意外的收获。如果还是没有好的解决方法,那先把它放一边,然后在开发例会上提出,会有人帮助你的,就象你帮助God一样。  五、Go!Go!Go!    开发与研究的不同之处就是,开发一定要有成果,研究可以没有。开发一定有一个时间限制,而研究可以是长期的。请不要在开发的进程中去学新的东西,因为这样你是在拿公司的生命开玩笑。也不要用你不熟悉的开发工具进行开发(有好多朋友在学Java,就在项目中用Java ,在学c#就用C#写),学习中你会做很多错事,但开发不可能允许你有怎么多的错误。以前大学里老师说,开发应该是一个瀑布,顺势而下,有巨石出现时能马上绕过,多么优美,我想它还有一个完美的弧线(那就是我们的注释)...  六、S(Software)  is  not  S(Safety)    你要记住,你的软件写出来是给客户用的,他们不可能有你一样的专业识认与标准的操作习惯。对于你的软件来说有些操作是很危险的(如删除数据,删除数据库,删除链表的中间结点)。那么这样我们还有一些事没有完成。通常在开发的后期,我们从客户的角度看到的问题比专业的角度重多。  七、Next is Better    一个开发完成后,不要论为它已经完美了,你要记住下一个版本会更好,还有很多地方等着我们改进,还有很多用户在抱怨。多从客户那里得到一些见意。  八、Our Can't do anything!    最后,我要说是的是“我们不可能让每一个使用这个软件的用户都满意。”虽然理论上可以。要记住理论上说理论是可以与实际统一的,但实际上它们从来没有统一过。 九、Maybe You are Wrong!    很多程序员对自己过于自信。请不要盲目的自信,不要过于坚持自己没有错。...[阅读全文]

posted @ | Feedback (5) |

摘要:      最近有很多的朋友在网站提出很多问题。MSN,QQ上提问的人更加的多。我们有一帮好学的朋友,有一大批进取的程序员,这是值得庆贺的。中国的IT技术界绝不会比任何国家的差。     可是当我一遍又一遍也回答一些问题的同时,又在想其它的问题?为什么大家都在问很相近的问题?为什么一个问题会有好多人在问?甚至一个人同一个问题要问好多遍?     问,在我们从小的教育中很受重视。我还记得小学时老师总是表扬一些常常提问的学生,问已经成为了一种很重要的知识来源。甚至已经是很多人解决问题的首选方式。但我想,这也许使我们失去了思考的习惯,失去了独立解决问题的能力。我很难想象一个成功的开发者是靠问起家的。其实学习的过程很重要,甚至应该很艰苦,我们的成长应该是在这些过程中,而不是什么结果。     有一个网友问我,怎么做一个ASP.Net 程序的安装包,我说你可以去看看MSDN的文档,他好象很失望,并要求我最好能给他写一个例子。多么好学的朋友,说实在的我应该给他写这个例子,不管我有没有这个时间。但我回过头来又想了想,不行,不能写给他。应该让他自己来写,应该让他自己来看文档写例程。这个安装包可能不是他最需要的,这个看文档写例程的过程也许是他最需要的。     还有一个网友更加的有趣,她好象什么也不懂,但好象什么也懂一点。她提的一个问题可以会引出整个大学一年课程的问题。我最后只想说一句:“谁是你大学的老师,我想见见他!!”     说了怎么多,大家要问我了,你到底想说点什么?那好,我只是想请大家在提问前考虑几个问题,如果这些问题答案都是肯定的,那你就问吧,而且你会从中学到你想要的。  1. 这个问题在别人看来难不难?    对别人来说不难的问题,那就是说明自己还很菜,当处于很菜的时候,我们最需要的不提问,而是独立的有计划的学习。因为这时的你道处是问题,问题无从提起。 2. 你已经思考过了吗?    前面我说过了思考的过程比提问本身更加重要。从来没有大师是从提问开始的,他们都是思考的强者。 3. 这个问题以前我问过吗?    如果一个问题我已经提过好几次,那他的学习方法上的问题就是他最优先要被提出来的。 4. 我查找过专业的资料吗?    如果当我们还没有找资料之前,就草率地把问题提出来,只能证明我们的无知与懒惰,不可能会证明我们的好学。google怎么好为什么我们要浪费它呢? 5. 我已经对这个问题的产生有很深的了解吗?    当我们找专业的资料过程中,应该不是去直接地去找问题的答案,通常也不可能找到。我们应该去找问题的症节,了解整个问题来龙去脉。其实不是去找,而是去理解问题。 6. 别人会不会有时间来处理这个问题?    当一个问题自己感觉会很大时,最好自己去解决它,如:怎么来策划一个项目?什么是软件工程?DotNet 是什么?很多人都有自己的工作要完成,不可能为了你的一个问题来帮助你回忆,甚至补习大学的课程,也没有这个义务。 7. 我确定问题就是出在这里吗?    有了以上的基础,我们基本上就对问题本身有了一个了解,这时候可能会突然发现问题已经变了。     最后给大家一点建议,不要太小看自己了,也许你能够独自完成,Why Not?还有要请高手们不要写什么入门的教程了,快餐是无奈之选。不要让它真的成为了一种文化。您们的智慧很重要,不要去浪费在一次次重复回答中,您应该写出更深刻的文章(记住不是教程)。...[阅读全文]

posted @ | Feedback (4) |