【转载】关于Windows.Net和VisualStudio.Net的一些观察

visual|window

转载自【雨声论坛】
原作:software_young
----------------------转载开始----------------------------
本文的目的是希望引发关于Windows.Net和VisualStudio.Net的一些讨论,因此,本文的内容和结构如果不能够引人入胜或者贻笑大方,敬请各位高人海涵。

一。微软的.Net战略是微软自成立以来最为宏大的项目,也是业界近年来少有的大手笔,其结果对微软和业界都将是决定性的。如果成功的话,微软将建立起对Unix和Java的巨大优势;而如果失败的话,它将成为微软的天鹅之歌。

二。.Net的设计目标:
设计一个基于Web,平台独立,包含多个层次的目标的庞大软件服务体系。它以Web为中心,组织各种服务,使得微软的以客户机和服务器为中心的COM/DCOM/COM+转化为以Web为中心的各种服务,成为庞大的Web ASP(应用服务供应商);通过将.Net与宿主操作系统的相对分离,实现了相对的平台独立性,使其不仅可以应用于传统的Windows,而且可以应用于Unix系统和嵌入系统、甚至是手持设备;各种用户前端,包括手持设备、嵌入系统、传统的台式机、甚至传统的主机,都将成为其客户;.Net包含了对多个层次目标的支持,可以满足从手持设备、嵌入系统到64位的高档服务器等各个市场段的需要。

三。.Net的影响:
如果.Net成功的话,它将使微软可以入侵传统上各个相对较小的的侧翼市场,通过微软巨大的装机量、大量的现成应用程序、大量的用户群所产生的市场震撼,以多米诺骨牌的方式摧毁对手。从而建立现代高科技市场上的蒙古大帝国。这一点,大家可以从近来Palm的失势和Pocket PC的胜利,XBox的市场表现以及微软和Borland的力量对比的变化看出来。

四。.Net的结构的力量:
传统的Windows都是在Kernel之上密集积累各种Service来实现其功能(大家可以通过察看各个版本的Windows NT的Service来发现其所具有的各种服务功能)。大量的功能进入系统内核,一方面提高了系统的集成度,一方面也使得系统十分庞大,使得系统的性能和稳定性都成为问题,使得进入不同的市场段变得困难,同时限制了对于简单应用的性能表现。Linux在某些应用方面的性能优势,其实正是由于它相对简单和功能较少。
.Net的设计,将其各种功能从操作系统中分解出来,通过组合不同的功能来对应不同的市场需要,各个版本的Windows.Net实际上就是不同部件的各种组合。它可以说是世界上第一个完全以部件模型来设计的操作系统。这一点,实际上从Windows XP已经开始。
Windows XP的力量并不在于它有美丽的用户界面,和各种利于用户体验的各种工具,如MediaPlayer,而在于它所提供的服务集和体系结构。关于服务集,大家可以对比Windows XP和Windows 2000 Professional来发现Windows XP提供了多少新的服务和这些服务的面向的目标。而在体系结构上,Windows XP已经可以去掉其图形用户界面,以嵌入系统的方式工作了。这意味着,它的图形用户界面实际上已经离开了系统的内核,成为一个可装配的部件。这是一个十分重要的变化。
Windows.Net的结构,实际上应该分为两个部分:微软专有平台部分和可移植部分。前者包括了硬件相关部分和传统的Windows市场;后者则构成了Windows.Net的精华,随着时间的推移,前者将逐渐简化,后者将日趋强化。
目前,运行于Unix的.Net支持部件正在开发中。如果能够成功的话,.Net将可以作为Unix的一部分运行在Unix上面,Unix将成为一个宿主系统,就像Unix是Java的一个宿主系统一样。
宿主系统下的软件如果足够强大的话,一样可以构成一个操作系统,至少可以构成一个强大的软件层,前者的例子是今天的Oracle 9i,大家可以看到它离操作系统还有多远,这既是Oracle在市场上的巨大力量所在,也是宿主系统的噩梦,后者的例子是微软的Office,Office不仅仅在于其易于使用,而且在于其所含的Visual Basic for Application,它使得Office成为了一个软件平台,这一点,是IBM的Lotus Office和Corel的Perfect Office无论如何无法比拟的,他们的失败也就不可避免了。
以这种方式,传统的Unix将逐步被淘空,成为一个空壳,最后走向消亡。因此,.Net的设计结构,使得它成为现代的特洛伊木马。

五。关于VisualStudio.Net。
VisualStudio.Net是Windows.Net的开发工具。它和前代产品的巨大差异,成为人们争论的目标和担忧的所在。
VisualStudio 6.0的设计是基于COM/DCOM,后来又加入了COM+。它是以本机软件为设计目标的。软件开发直接生成平台相关的代码。不同的编程语言的级别和功能大不一样,而都直接生成平台相关的代码。这使得二进制级的移植实际上不可能。
VisualStudio.Net的设计则完全是基于Web的服务和应用。它实际上是以一种虚拟机的模式来设计的,CLR(通用语言运行环境)构成了其基础。软件开发生成的是中间码,它在实际运行时转换成对应的机器码,这种设计的好处是和Java相似的,一种理论上的无限可移植性。但是微软的唯一性,使得这种理想更加接近于现实。
不同的编程语言所访问的都是那个CLR。ASP具有了更多的面向目标的特性,Visual Basic实际上第一次成为真正面向目标的编程语言。各种编程语言面向CLR的设计模式,使得CLR,而不是各种编程语言成为开发的中心。历史上第一次,编程语言的选择成为了个人的爱好而与目标无关。我在想,这是否敲响了Windows.Net市场上C++的丧钟?
VisualStudio.Net实际上为不同的市场段准备了不同的部件。为标准的台式机、服务器市场准备了标准的VisualStudio.Net;而为嵌入市场准备了Embed VisualStudio.Net,一种小型的VisualStudio.Net,它很像Visual Basic和VBScript的关系。
VisualStudio.Net的工作基础是CLR、XML和SOAP,这些都还是不太确定的东西,它为VisualStudio.Net的前景增加了一些变数。
VisualStudio.Net中的各种语言,都和其前代大不相同。VisualBasic.Net几乎是完全重新设计的;Visual C++的变化也十分的巨大,虽然语言级没有多少变化,但是其类库则完全重新设计;C#则是一种全新的编程语言,它和Java比较接近,但只是形式上,我认为,它是比Java更好的Java,而且是最没有包袱、最易于和CLR结合的编程语言;至于Java.Net,除了继续支持原来的Visual J++的用户和利于Java程序的移植外,我看不出它有多大的用处;谈到Java程序的移植,我觉得不太容易,毕竟双方的体系结构的不相容要远远大于其语言的相似性。
无疑,VisualStudio.Net是Windows.Net的开发利器,但是其和前代的巨大差异和所导致的开发人员的重新学习,使得人们对它的可接受性产生了一定的怀疑。
说句实话,VisualStudio.Net使得几乎所有的Windows软件编程人员都变成了初学者,当然起点是不会一样的。这就是为什末我强调技术的思想,而不是技术的细节。技术不能够没有细节,但是过份专注于细节,在总是变幻的IT市场,将使人们陷入虚无。
顺便说一句,我的爱好是历史(真正的历史,不是随便让人改的政治),而不是软件技术。人应该有些寄托,总不能最后要末是半吊子,要末都出家了。
不好意思,又扯得太远了。谢谢各位。

software_young 编辑于 2002-02-01 13:47
----------------------转载结束----------------------------

时间: 2024-12-22 00:52:33

【转载】关于Windows.Net和VisualStudio.Net的一些观察的相关文章

艾伟_转载:Windows Mobile开发,Native C++ PK .NET Compact Framework

缘由 经常听到一些刚刚接触Windows Embedded CE和Windows Mobile开发的人会提出一些疑问.进行Windows Mobile开发,到底使用什么语言呢?C++还是C#?Java行不行?下面就我自己的想法讲述一下Native C++ 和 .NET Compact Framework的异同和选择.   什么是Native Native翻译成原生,Native是使用C,C++或者汇编等语言代码编写的,编译成处理器相关的binary文件(执行文件,DLL等可执行文件), 关于可执

整理Windows Phone 7教程(很全面)

转自 http://www.cnblogs.com/mr-raptor/archive/2012/02/01/2347648.html 前言 离Windows Phone 7正式发布已过去几个月了,但国内关于Windows Phone 7的中文书籍资料太少了,大多数是英文资料,一本真正的中文开发教程书都没有, 要啃英文资料对大部分的开发者来说太难了,而且很多的中文的文章教程又太杂乱. 机微网把网站多个月来转载的Windows Phone 7相关的教程文章分类整理了一下,供广大的开发者参阅.希望各

搭建C语言开发环境(Windows平台)汇总_C 语言

新接触C语言,如何进行C语言开发环境的搭建值得思考并整理 一.在Windows平台配置GNU环境 GNU http://www.gnu.org/ 选择以下GNU环境下载安装到C盘:     1.MinGw         官网下载安装 http://www.mingw.org/         本站高速下载安装 http://www.jb51.net/softs/192011.html         将C:\MinGW\msys\1.0\msys.bat 发送到桌面快捷方式         在

PowerShell查看本机文件关联程序和默认打开程序的方法_PowerShell

上次转载的一篇文章<PowerShell查看打开文件的默认应用程序>,它的亮点是调用了windows api,思路很独特,但是未必实用.后来@J在原文中评论,说assoc + ftype更方便.那么assoc 和 ftype是个神马东西,我简单描述下. assoc 和 ftype是windows系统上cmd.exe中两个命令: 前者assoc 可以返回文件扩展名(比如.mp3)和系统对该扩展名本身的命名(比如WMP11.AssocFile.MP3). 后者 ftype 可以返回系统的扩展名命名

我的五年百度博客文章列表

五年前,懵懵懂懂进入百度空间,五年后,总结一下在百度上贡献的文章(技术贴)以及收藏的文章.数了数大约450篇. name    urlservlet过滤器2 解决用户非法在线 filter http://hi.baidu.com/ae6623/item/617c46c5a96b6dd196445292servlet过滤器1 解决字符集乱码 filter  http://hi.baidu.com/ae6623/item/a006f07f0813c615d1dcb366GBK和UTF-8之间的战争,

linux编程-Linux下ecilpse的模板问题

问题描述 Linux下ecilpse的模板问题 template DWORD MyFunc( DWORD IN_Key,multimap &IO_Map) { multimap a; --不报错 multimap::iterator ite; --报错:expected ; before "ite" } -- linux环境 ,编译器为eclipse luna 报这个错 -- windows环境 ,VisualStudio能够通过,程序运行也正常 -- 请问怎么解决这个问题 解

有人用c# 开发过word模版吗?? 最好有示例代码啊

问题描述 如题想用Visualstudio2005的Word模版项目模版开发word模版,有没有人用过啊,最好能有简单的入门例子,实在是不喜欢用VBA啊 解决方案 解决方案二:我专门开发了Excel的,你可以用VSTO开发Word试试解决方案三: 解决方案四:现在问题是帮助信息太少,谁有简单的示例代码分享一下啊!!!!我想用windows窗体做一个向导,现在找不到向导和模版结合的办法解决方案五:给你一个//infobox.csusingSystem;usingSystem.Collections

使用Visual C# 2005打开Excel文件的问题,极其郁闷,希望高手指点!

问题描述 各位高手,小弟遇到一个奇怪的问题,本人使用vs2005新建一个office2003基于C#的外接程序,在该程序中打开C:\sample.xls具体代码 usingSystem;usingSystem.Windows.Forms;usingMicrosoft.VisualStudio.Tools.Applications.Runtime;usingExcel=Microsoft.Office.Interop.Excel;usingOffice=Microsoft.Office.Core;

搜索引擎对于原创处理细节以及在算法所占比重实验

  白帽SEO,无非就是一个长期观察.针对实验.提练方法的过程,并没有什么深不可测的理论.这篇文章就是有关不同搜索引擎针对原创内容的处理细节以及在其算法所占比重的小实验.可以让你了解到如何观察搜索引擎以及如何有针对性进行网站实验. 谈到原创内容,对于网站优化的重要性不用多讲,在任何一篇有关SEO的文章都会提到,并都会强调原创内容对于网站优化的重要性.但是很少有文章详细的描述不同搜索引擎对于原创内容的态度有什么不同.据我观察,其实不同搜索引擎对于原创内容的处理细节是完全不同,在其算法中所占比重也大