主题:  请大家发表一下对微软.NET技术的看法!

hebeizhao

职务:普通成员
等级:1
金币:0.0
发贴:7
注册:2001/3/30 20:12:08
#12001/3/30 20:37:15
目前炒的沸沸扬扬的微软.NET技术,它的前途究竟怎么样它又有那些与众不同的地方呢?
作为一个初接触编程的菜鸟,我真不知何去何从,刚接触不久ASP又有ASP.NET出现,我还没怎么掌握就被淘汰,真是不甘心。不过我也期望新技术的出现。
但又不知它的性能如何,听说这儿高人很多,故特地赶来听取高论,原有识之事不吝指教,在下洗耳恭听。



tyc32

职务:普通成员
等级:1
金币:0.0
发贴:21
注册:2001/2/16 16:21:50
#22001/4/2 14:24:03
.Net印象
by pinxue &. pigprince 2001-2-18 0:04:42
作者:重离子

只能用两个字形容:恐怖!

什么是.Net呢,核心上就是一大套构件库,这套库既象VCL又象JAVA Class也象COM,简直是象雾象雨又象风,包罗万象,可以找到市场上任何流行构件/类库的影子。

所以说,在Windows开发工具市场上,.Net一出,谁与争锋!
不是VC或C#或IDE咋样牛,厉害的是构件库,以前得从各家的开发工具里找,现在它已经成为操作系统的一部份,而且是语言无关的,提供了开发所需要的所有功能,且具有良好扩展能力,因此,开发工具再也不能通过构件体系结构获得竞争优势了。

Java作为一种平台无关语言,配合上庞大的类库,是目前看来唯一可以与.Net争锋的东西。但是,Java目前主要面向服务器端应用和企业级的应用,而这些领域并没有多少人家使用Windows平台;而广泛使用Windows平台的中低端应用上,JAVA的应用则使用得不很广泛。Java这样一个完全面象对象的语言,通过小粒度划分对象、JNDI/RMI等集成在语言内的服务、J2EE体系特别适合描述Bussiness Object和Bussiness Rule。而且由于JAVA的平台无关性,使用得它较少受硬件平台和操作系统供应商的制约,即使MS不在Windows平台中提供JAVA虚拟机,对它也不构成太大影响,因为Sun等也可以提供。简而言之,现在一说到Java,并不是指那种语言,而是整个Java体系,一个被实现了的立即可用的优美的完备的企业级架构。

然而,.Net通过提供一大套控件库,实现一种语言无关的架构,集成了GUI/DCOM/COM+/ActiveDirectory……,包罗万象,而且和Windows操作系统紧密结合。简而言之,.Net有三个优势:语言无关,与操作系统紧密结合,体系完备,易于使用。在COM/DCOM时代,语言无关、与操作系统紧密结合都已具备,但是只能提供一些零散的孤立的服务,没有完备的体系。而且COM/DCOM的使用极其复杂,感觉就象摸到了粘着苍蝇的粘蝇纸,这显然也阻碍了COM/DCOM的流行。而目前业界最为完备强大规范的体系是Corba,可惜并没有人完全实现了该体系,而Java体系几乎与CORBA一样完备而规范,并且众多厂商实现,目前被广泛应用于中高端解决方案。如今,MS在dde->ole->ole2->com->dcom->com+的努力终于达到了.Net的境界,充分整合了竞争对手优点的体系架构,足以与Java体系抗衡。由于Windows与.Net平台紧密结合,在windows世界中Java与.Net竞争没有优势,在windows桌面应用市场,Java完全无法与.Net竞争,而Java和.Net/Windows将会中低端应用市场有一场恶战。

Delphi之所以有今天的成就,是源于其便利的对象模型,清晰、易用的VCL构件库、高度可扩展的插件体系结构,以及大量的第三方控件。Delphi主要应用在快速原型开发、桌面应用,也大量用于中低端企业应用的开发。相对于主要竞争对手VB而言,真正的面向对象编程语言objectpacal、本地编译使它成为名符其实的RAD开发工具,被称为VB Killer。由于在Delphi的对象模型及VCL架构设计时充分考虑了对COM的融合,使得Delphi能够以与使用VCL对象一致的方式使用COM对象,从本质来讲VCL对象就是COM对象(细节可参考DELPHI对象模型)。相对于SDK式的COM开发,Delphi具有巨大的优势,相对VB它能充分利用COM的全部能力,因此COM的强大与复杂进一步增加了Delphi的竞争力。
.Net融合了VCL的优点,在发展COM及融合原来分散的各服务的同时,提供了清晰易用的构件库,该构件库具有与VCL相若的插件式结构和第三方扩展能力。并且提供既象JAVA又象objectpascal又象c++的C#开发语言及配套开发环境,就我们看来C#及其IDE已经完全具备取代Delphi当前版本所需的特性。

我们认为,.Net作为微软目前的核心战略,其意义并非只限于技术范畴。微软面临拆分的结局,而.Net就是应对之策,它将担负起用技术形式将拆分后的若干小MS捆绑成一个整体的重任。无论是应用软件还是开发工具,都将基于.Net体系实现,通过.Net与操作系统的紧密结合就把应用软件和开发工具的核心与操作系统捆绑在一起了。这样每一个领域里的竞争对手将要面对的并不是一个小微软,而是若干小微软组成的特混舰队。.Net的核心竞争力就是与操作系统的紧密结合,而.Net战略的主要目标就是把微软的核心竞争力由操作系统转移到.Net上,这也就意味着.Net完全可能被移植到其它操作系统上,通过这种方式,微软的软件可以覆盖到软件业的所有方向,从这里就可以看出微软的一统江湖之意,而.Net就是葵花宝典!

目前微软的核心竞争力是操作系统,与微软的竞争实质就是操作系统的竞争,大量应用软件领域的竞争结果已经证明这一点。想要抗衡微软,就要从操作系统上下手。这也是当前业界巨头公司大力支持Linux操作系统的根本原因。Linux操作系统抛开其开放源代码和自由软件的特性不谈,它也是一个伟大的操作系统产品,它既继承了Unix的强大与稳定,又具备了与微软Windows产品线一样全面的产品线,在Server端极具优势。从目前来看,Linux的弱点就是在桌面应用上,应用软件还不够丰富,特别是缺少象MS Office、Lotus Notes、Micramedia Authorware/Director/Dreamweaver这样广受欢迎的用户必不可少的桌面应用软件。我们认为部份原因是因为缺少象VB、Delphi这样强劲易用的快速开发环境。但是,现在有了Kylix。

Kylix继承了Borland公司在Windows平台的Delphi开发工具的成功经验,通过设计一个新的构件体系-CLX-实现了一定平台无关性,同时CLX的体系结构与VCL基本一致,在应用层面上基本无差别,也就是说Delphi的Windows平台将可以平滑的移植到Linux平台上,这意味着,在Windows世界的桌面应用程序可以很快到在Linux桌面上出现。集成CLX的Delphi 6推出后,将可能一次开发出可同时在Windows和Linux平台上编译运行的应用软件。CLX另一个重要的优势在于现有的delphi/windows程序员的经验可以应用在kylix/linux开发上,这将大大促进Linux上中低端应用软件的发展。Kylix并不仅仅是一个良好的GUI快速开发工具,它同时为Linux带来了开发企业级应用所必需的体系架构和完整解决方案,如数据库引擎、MIDAS、CORBA、XML等,还可以和borland的相关产品集成提供企业级应用支持,如与Interbase、VisiBroker、AppServer集成。我们认为,在Kylix推出半年后,它将是Linux市场的主流开发工具,并带来Linux应用的又一次高潮。

显然,Linux桌面缺少应用软件的另一个重要的原因是由于大部份Linux用户是来源于unix世界,他们习惯使用命令行程序,这使得桌面系统的开发进展缓慢,直到最近较多的受到关注(如gnome)。我们认为随着Linux桌面系统的发展,其易用性的提高,将会有越来越多的用户能够接受Linux做为桌面操作系统;而目前已经有组织在研发AbiWord、OpenOffice等常用软件,这些软件的功能已经相当完备,并且发展势头良好;并且Kylix将会大大促进Linux桌面应用的研发,这就构成了一个良性循环。因此,我们认为由于用户需求及相应市场潜力匮乏给Linux桌面应用发展带来的阻碍将很快消失。

从目前来看,唯一能够和微软产品线抗衡的就是Linux产品线,唯一能和微软.Net抗衡的体系架构是Java。Linux产品线(含Java)是无所不包的,该产品线从操作系统、桌面、中低端到高端应用都具备良好支持。微软在与Linux竞争是会发现找不着具体的竞争对手,会发现它的竞争对手本质上是它的用户。而且自由软件策略会带给Linux特殊的竞争优势,如果当年OS/2是自由软件的话它应已成为主流。

综上,我们认为:.Net将是微软核心竞争力,Linux将是其主要竞争者。


作者:【重粒子】



雪无痕

职务:普通成员
等级:1
金币:0.0
发贴:29
注册:2001/3/30 16:54:23
#32001/4/3 18:36:22
别担心,asp没这么早就会被淘汰的,我觉得学程序是学的一种思想,掌握什么语言并不是很重要的!



5D君子

职务:普通成员
等级:4
金币:10.0
发贴:1453
注册:2001/2/22 13:43:15
#42001/4/3 19:02:47
楼上的说的很对!
给我很大启发!



tyc32

职务:普通成员
等级:1
金币:0.0
发贴:21
注册:2001/2/16 16:21:50
#52001/4/4 9:23:15
这世界上没有什么比编程工具更加牵动程序员的心。VC、VB、DELPHI、JAVA……这些耀眼的名字不仅占据了程序员的生活,而且似乎已经成为了某种信仰。可是,伴随着新世纪的脚步,这些信仰又一次遭遇了重大的挑战。微软,这头被法官和黑客们折腾得既疲惫又恼怒的狮子,发誓要保住它头上的王冠,拼尽全力,拿出了看家的本事——.NET战略。作为 .NET的核心开发语言,C# 顺理成章地浮出了水面。程序员们也就不得不做出一个痛苦的选择,跟在谁的后面?要找出答案就不得不作一番比较和预测。笔者作为一个资深的程序员,斗胆在此狂言,权作抛砖引玉。

如果抛开一切非技术方面的因素,C# 无疑是这个星球上有史以来最好的编程语言,它几乎集中了所有关于软件开发和软件工程研究的最新成果。面向对象、类型安全、组件技术、自动内存管理、跨平台异常处理、版本控制、代码安全管理……你不可能在另外的一种语言中找到所有这些特性。尽管像很多人注意到的一样,当我罗列上述特性时,总是让人想到JAVA,然而C# 确实走得更远。但现实的情况是,非技术的因素往往更能决定一个产品的未来,尤其在计算机软件的历史上,技术卓越的产品,如OS/2、Mac OS、UNIX等,都败在了Windows那漂亮的脸蛋儿下。而这一次,微软的角色好像从一个赤手空拳的革命者变成了仗势欺人的老地主,如果真是要变天,那C# 这孩子岂不是投错了胎?可能情形并非如此糟糕,毕竟瘦死的骆驼比马大,而且C# 已经提交给了一个标准化组织,一旦成了国际标准,说不准真有哪个手痒的大侠(也有可能是微软自己)给移植到Linux 和别的平台上。那样的话,JAVA可就惨了。因为JAVA的用户主要是网络服务的开发者和嵌入式设备软件的开发者,嵌入式设备软件不是C# 的用武之地,而在网络服务方面,C# 的即时编译和本地代码Cache方案比JAVA虚拟机具有绝对的性能优势。何况C# 一旦成为一个像C++ 一样的公共的标准,软件开发商既可以省去JAVA的许可证费用,也不必担心成为微软的奴隶,那些反微软的人士和主张厂商独立的人士可能也不会有什么意见。这可能正是微软所期待的。

如果把C# 和 JAVA 在网络服务领域的争夺比作未来制空权的争夺的话,那么C# 和传统通用快速开发工具——VB、DELPHI等的较量将是地地道道的白刃战。可能最惨的程序员就是VB程序员,在微软,VB就像离任的克林顿,不但失去了所有的光辉,而且乱事缠身。想想吧,VB6写的项目必须用转换工具转换成基于.NET的代码才能在VB7中调入,几乎面目全非。由于VB7遵循为迎合.NET而建立的通用语言规范(CLS),几乎把所有原来只在C++、JAVA等语言中可以运用的特性统统加了进来,只是语法和原来兼容。如果你是第一次在VB7中看到自己的旧VB6项目转换之后的代码,一定要当心你的心脏!所以,努力吧,别告诉我你将就此退休。DELPHI的状况也好不到哪里去,原来的看家本领是做起应用来又快又好,可现在看看最新的VS.NET Beta 1, 你会感到如此熟悉,众多的属性列表、组件……谁让你穷呢,连总设计师都养不住。

其实在编程语言中真正的霸主多年来一直是C++,所有的操作系统和绝大多数的商品软件都是用C++作为主要开发语言的。JAVA的程序员绝大多数也是C++的爱好者,PHP的成功里面也有类似C++的语法的功劳。在操作系统、设备驱动程序、视频游戏等领域,C++在很长的时间内仍将占据主要地位,而在数量最大的应用软件的开发上,C# 很可能取代C++的位置。首先,C# 和JAVA一样,简直就是照搬了C++的部分语法,因此,对于数量众多的C++程序员学习起来很容易上手,另外,对于新手来说,比C++要简单一些。其次,Windows是目前占垄断地位的平台,而开发Windows应用,当然微软的声音是不能忽略的。最重要的是,相对于C++,用C# 开发应用软件可以大大缩短开发周期,同时可以利用原来除用户界面代码之外的C++代码。

但是,C# 也有弱点。首先,在大量的现有Windows平台上,C# 的程序还不能运行,因为C# 程序需要 .NET运行库作为基础,而 .NET运行库将作为新一代的Windows(Whistler)的一部分发行, 或以Service Pack的形式提交给Windows Me 和 Windows 2000用户。所以在近期,C# 会主要在服务器上得到应用。其次,C# 能够使用的组件或库还只有 .NET 运行库等很少的选择,没有丰富的第三方软件库可用,这需要有一个过程,同时各软件开发商的支持也很重要。第三,JAVA的成功因素里有一些是反微软阵营的吹捧,虽然“只写一次,到处运行”只是一句口号,但毕竟已经是一种成熟的技术。而C# 的鼓吹者目前只有名声不佳的微软,且只能运行在Windows上。实际上这两种语言都不是不可替代的,理智的说,对软件开发商而言,什么用的最熟什么就是最好的工具。尤其对C++的使用者,C# 没有带来任何新东西,因为.NET运行库在C++中也可以使用,没有要换的绝对的理由。

综上所述,我个人认为,近几年,C# 将不可避免地崛起,在Windows平台上成为主角,而JAVA将在UNIX、Linux等平台上成为霸主,C++ 将继续在系统软件领域大展拳脚。非常有意思的是,这些语言的语法极其接近,因为JAVA和C# 都是由C++发展而来的。其他的开发工具当然还会在相当长的时间里继续他们的旅程,不过在市场份额上,将不可避免地受到冲击。



tyc32

职务:普通成员
等级:1
金币:0.0
发贴:21
注册:2001/2/16 16:21:50
#62001/4/4 9:41:48
可以到http://www.aspcool.com去看看.



搏人

职务:普通成员
等级:1
金币:1.0
发贴:150
注册:2000/11/16 9:23:09
#72001/4/4 10:03:48
1。
一个新手(没有任何编程基础)
如何学习编程,从那学起,应学那种语言?
2。
一个新手(学过微机原理,FOXBASE)
如何学习编程,从那学起,应学那种语言?



hebeizhao

职务:普通成员
等级:1
金币:0.0
发贴:7
注册:2001/3/30 20:12:08
#82001/4/8 14:43:28
雪无痕的看法很正确,我想也是。要想作一名真正的程序员就一定要掌握程序设计的思想,而并不在于用哪种语言或开发工具。



浪子剑心

职务:普通成员
等级:1
金币:1.0
发贴:211
注册:2001/5/14 12:57:02
#92001/5/16 18:40:23
ASP与ASP.net大同小异,只要你学好ASP不怕还有什么ASPX或ASP.net