2008年5月20日
随着网络技术的不断成熟,越来越多的人开始认识和了解ASP.NET技术,但熟悉并不等同于掌握,对于怎样去驾驭它很大一部分人还存在一定的疑问和行动的误区,我们请到的两位专家在这方面恰恰有着丰富的实践经验,可以给大家一个很好的点拨和启发。
本次做客51CTO.com嘉宾聊天室的是《Asp.net 2.0 网站开发技术详解》一书作者方兵老师老师和《ASP.NET 2.0实战起步》一书的作者荣耀老师老师。
方兵老师老师毕业于北京邮电大学,长期从事ASP.NET软件的开发及研究工作,曾在上海及北京的软件公司历任软件架构师、技术总监等职位,参与过物流、电信、银行及印刷等行业的B/S应用程序的设计与开发。对于实际问题有着很强的实战经验。
荣耀老师老师是南京师范大学教师,南京航空航天大学计算机应用技术博士(在读),C++模板技术和微软.NET技术研究者和教育者,他的著译作品包括《ASP.NET 2.0实战起步》、《.NET大局观(第2版)》、《C++ Templates全览》、《Imperfect C++中文版》、《C++必知必会》、《C/C++安全编程》、《C++模板元编程》以及《Windows Forms 程序设计》等。
在一个多小时的交流中,两位老师深入的解答了网友们的提问。以下是聊天实录,51CTO.com略有整理。
.一、NET仅仅是一门新兴语言吗?
51CTO.com记者:才刚刚开始就已经有很多网友迫不及待的在向两位老师提出自己的问题了。为了大家更好的梳理知识点,我们在讲ASP.NET之前先来明确一个重要概念“什么是.NET?”能否请荣耀老师老师和方兵老师老师给我们一个具体的描述?
荣耀老师:我来谈一下看法:一个非技术的回答是:过去和未来若干年内决定微软在企业应用开发领域的命运的东西。幸运的是,微软成功了!
从技术人员的角度来说,.NET最重要的技术组成包括两大块:.NET Framework和Visual Studio,前者包括通用语言运行时(Common Language Runtime,CLR)和.NET框架类库,后者则是创建 .NET框架应用程序的主流开发工具。
方兵老师:早期的时候,.NET的概念比较庞杂,包括了操作系统、服务器软件、微软的服务、开发技术等等,现在来说,.NET应该就是微软的开发平台。
51CTO.com记者:那么我们在开发时所用到的如vb.net、C#又都是些什么呢?难道不是编程语言吗?
荣耀老师:.NET支持多种编程语言,它们都是其中的一种。如果你是.NET新手,此前对语言无特别的偏好,优先选学C#语言,它专为.NET量身定制。
方兵老师:VB.NET//C#等等都是编程语言,适用不同的开发人员,微软的思路和Java是不同的。
51CTO.com记者:这是一个很全面的回答。我注意到,微软在给.NET下定义的时候用到了一个很关键的词:平台。(注:微软给出的.NET官方解释:Microsoft.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。)这与以往我们所熟悉的编程语言会有什么样的联系和区别?
荣耀老师:首先,.NET是一种技术平台,与编程语言不是同一个范畴的概念。其次,这个概念我认为有点过时了,至少不够贴切。
方兵老师:Microsoft正在趋向于将.NET看作一个系统。在表面下,它包含了两种不同的编程模型:一个是Web服务编程模型,另一个是系统编程模型。Microsoft 开始把.NET系统编程模型作为.NET整体的一个组成部分。计划最终以此代替现有的组件对象模型(Component Object Model,COM)以及Windows应用程序编程接口(APIs),这个由WCF、WPF等组成的模型使用一系列新的基础类。
51CTO.com记者:看来它与我们所说的编程语言完全不同。
方兵老师:是的,编程语言应该说是构建