iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 24759|回复: 3
打印 上一主题 下一主题

.NET断想(欲投身NX .net开发的兄弟来找找感觉!)

[复制链接]
跳转到指定楼层
楼主
发表于 2005-8-25 09:30:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
注:虽然是2002年的文章,但作者对技术的把握,许多说法现在看来还是比较新鲜的。
原文地址:https://www.royaloo.com/articles/articles.htm
  
“遗留软件”和“遗留程序员”是阻碍.NET普及的最大阻力。另外一个阻力(听起来有点庸俗)是目前的Windows操作系统没有预装.NET框架。运行.NET应用,你需要另外安装.NET框架,这多少都有点麻烦。COM为何会在极短的时间内迅速取得成功,Windows内建了COM基础设施不能不说是原因之一。
  
微软当然比谁都清楚这一点,所以,“Windows .NET”系列操作系统,必然指日可待。
  
假如你对此观点不以为然,不妨看看CORBA在Windows平台上命运。当然了,这只是原因之一,而且,我说过,这个原因有点俗
  
不过在此也要纠正一个谬误。不在少数的程序员以为,在访问以ASP.NET技术创建的Web网页(.aspx)的客户端机器上,也必须安装.NET框架,这个概念是错误的。道理其实很简单 — 服务端总是返回生成的HTML。
  
无论微软如何宣称,无论.NET如何支持多种语言,都不会影响“C#是.NET最佳语言拍档”。
  
但在相当长的一段时间内,Visual Basic .NET或许反而会比C#占有更多的用户。原因并不复杂 — 现有的Visual Basic程序员为数众多 — 尽管今天的Visual Basic .NET早已不是从前的Visual Basic了。
  
Visual Basic程序员过渡到Visual Basic .NET,可能要比C++或Java程序员过渡到C#困难得多。
  
.NET框架由通用语言运行时(Common Language Runtime,CLR)和.NET框架类库构成。.NET在操作系统之上又加了一层抽象,.NET本身并不是操作系统。
  
为什么有那么多的人憎恶微软?这很让人费解。无论哪家公司,倘能取得微软这样的成就,都是了不起的。无论谁坐到了微软的位置上,估计都会这样。
  
憎恶微软的人,要么是微软的竞争对手,要么是非微软阵营的狭隘的开发人员,要么啥也不是,纯粹人云亦云,瞎起哄。
  
无论你多么憎恶微软,无论你怎样不喜欢.NET,假如你是一名“面向微软”的开发人员,学习掌握.NET只是早晚的事。
  
假如你是一名Windows开发人员,纵然你从来都不打算使用.NET技术进行实际软件开发工作,想对.NET完全免疫也是不可能的,你至少得知道它究竟是怎么一回事儿。
  
今后若干年内,.NET和Java将会形成分庭抗礼之势。两大阵营各有支持力量,只有在竞争中彼此学习互补,才能共同前进。任何一方都很难一口吃掉对方。
  
在软件开发世界,单极世界难免霸道,绝对不会长久;两极世界的平衡很难长时间维持,容易被打破;多极世界是丰富多彩了,但无疑将会成为开发人员的灾难,因为异质技术的整合,从来都是一场噩梦。
  
Java已经占据了大片地盘,在微软支持下,.NET将会最大限度地把pre.NET开发人员拉向自己的怀抱。在这个过程中,或许有人逃到Java阵营,但人数不会太多。道理很简单,假如你是一名微软技术开发人员,学习.NET所要花费的功夫,无论如何都不应该超过学习Java所要花费的功夫。
  
在从微软pre.NET技术过渡到.NET过程中,肯定会淘汰掉一些无法与时俱进的开发人员,这是正常现象。在技术进步的过程中,每一次创新,抱残守缺者总是会被毫不留情地抛弃。
  
自然选择,物竞天择。
  
有多少人会使用Managed C++?数目应该不会太乐观。相当一部分C++程序员往往会有某种没来由的优越感,对任何非C++的东西不屑一顾,大有万般皆下品,唯有C++高的感觉。在这些C++程序员的眼里,Managed C++已经算不上C++了,或者说,充其量,Managed Extensions for C++不过是微软对C++打的一个.NET补丁而已。
  
每一个严格符合.NET框架的语言的程序,最终都将被转换为MSIL代码(当然啦,有些语言只是提供了同CLR-based代码交互的能力,并不真的生成MSIL),但这并不意味着使用不同的.NET语言编写的功能相同的代码,将会转换成同样的MSIL代码。编译器的质量会有差别,生成的MSIL代码的质量也肯定会存在差异。
  
非微软的.NET语言据说已有两打之多,但它们很难成为主流。某些第三方.NET语言的现实意义,不过是提供了一种将现有代码移植到.NET之上的途径而已,另外一些仅仅具有学术研究方面的价值。
  
我不知道究竟会有多少人在.NET上使用Perl或者Python,尽管今天它们的拥趸的确不在少数。我只能肯定Delphi(Object Pascal)应该是个例外。
  
能否成为主流.NET语言,主要取决于:是否有足够多的“遗留软件”,是否有足够多的“遗留程序员”,是否有足够好的IDE,是否有实力足够雄厚的组织提供强力支持。
  
向来只有微软自己的技术才能和微软的技术最佳匹配,COM就是一个例子。COM无疑是pre.NET时代最成功的跨语言机制,但这种技术在跨微软自己的语言(确切地说,是开发环境),比如从Visual C++跨到Visual Basic以及相反时,表现还好,跨到了别的语言(开发环境),比如说Delphi,就会暴露出这样或那样的问题。
  
但愿类似的情况不会发生在.NET身上,但愿遵循CLS的语言果真可以完美无缝地互操作,就象微软自家生养的.NET语言一样
  
Web Services技术并非微软独创,也不是由.NET带来的,但仍然有相当一部分人误以为它是伴随微软.NET而来的技术。微软推广技术(概念)的功夫,由此可见一斑。
  
别误会,.NET Compact和.NET框架可以说是很不一样的东西。.NET Compact并不是从.NET框架中简单地砍掉一些东西之后的精简版,否则.NET Compact也不会比.NET框架晚交货那么长时间。
  
ASP.NET应用程序,就是.NET应用程序。普通ASP开发人员过渡到ASP.NET的痛苦,比起从Visual Basic过渡到Visual Basic .NET所要承受的痛苦(快乐?),不会少到哪里去。
  
ADO.NET是一种革命性的技术,尽管无可否认,它从Borland借鉴了许多数据存取技术,但ADO.NET对XML技术的支持,目前无疑处于领先地位。
  
我希望速度不要成为Web Services被广泛应用的阻力。在荣耀编写的一个测试应用中,整合来自不同厂商的Web Services的应用效果是令人惊讶的,不过,这个应用速度之慢,同样出人意料。
  
或许基于Web(WAN)的分布式计算,迫使我们不得不作出速度上的妥协,就象我们可以容忍(并且已经习惯)浏览器应用比传统Windows GUI应用来得慢一样。
  
.NET框架应用或许会比那些Windows DNA应用运行得慢,不过,我们真正应该关心的问题并非是这些应用到底能运行多快,而是它们是否足够快,快到可以满足用户业务处理的要求。
  
Java的成功已经提供了这些证据。尽管Java代码一般来说要比本地代码来得慢,但它还是足够快了,许多组织都非常成功地使用了这种技术。因此,对于.NET速度上的担心,完全是多余。按照微软自己的说法以及第三方提供的一些测试数据,.NET至少比目前版本的Java来的更有效率。
  
毕竟,硬件的品质也在不断提升。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
发表于 2005-8-25 14:08:59 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
板凳
发表于 2005-8-27 16:40:17 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
地板
发表于 2005-9-18 16:37:22 | 只看该作者

马上注册登录,享用更多网站功能!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手板模型制作,在线3D打印服务

QQ|小黑屋|手机版|开思工具箱 CAD工具箱_CAM工具箱  

GMT+8, 2024-11-24 04:18 , Processed in 0.012251 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

快速回复 返回顶部 返回列表