iCAx开思工具箱

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 26363|回复: 8
打印 上一主题 下一主题

C#断想(喜欢C#的或想学C#的兄弟一定要看看,用C++的作为参考)

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

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

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

x
原文地址:https://www.royaloo.com/articles/articles.htm
  
C#是现代语言的杰出代表,是C/C++语言家族里第一门面向组件(component-oriented)的语言。
  
C#酷似Java,这没什么好奇怪的。语言发展到今天这个份上,类型系统和控制结构肯定都会大差不差,是不是非得换几个反习惯的关键字才叫创新,我想,任何一名理智的开发者都不会赞成这个观点。
  
今天,谁要能发明一种跟Java或C#很不一样的深度面向对象的程序语言,我不惊讶才怪。
  
从大的方面来看,C#借鉴了Java语言设计思想,这一点毋庸置疑。纵然如此,我仍然不赞成简单地把C#看成是Java的克隆。
  
C#保留了枚举,并进一步增强了对枚举语言特性的支持。更重要的是,尽管它的设计者不赞成在C#中使用指针,但仍然完整保留了使用指针的能力,这一切,都使得C#远比Java更亲近C++。
  
本质上,C#更是.NET CLR语义的C风格的语法表达。
  
C#在一些语言细节上的改进,比如布尔值和整型值不能象在C++中那样互换,体现了一门现代语言应有的严谨。当然了,这是个仁者见仁、智者见智的问题,或许C/C++程序员并不这么认为。
  
C#程序的变量命名方式,不再鼓励使用老式的匈牙利记法,而推荐使用Pascal记法,这也使得这种语言看上去更加现代。或许在一个一切都是Object的语言里,为变量加上表示类型的前缀,意义的确不大
  
在我看来,C#语言难度介于C++和Java之间,且应在Object Pascal之上。
  
C#不但是Java强有力的竞争对手,它也会削弱Delphi(Object Pascal)的势力。
  
尽管微软一再申辩,中间语言(IL)之类的东西,绝不是什么新思想,特别是,它并非由Java首创,但Java字节码(byte code)的巨大成功,无疑增强了微软的信心。走这一条路,不会有太大的商业风险。
  
目前没有 — 将来也不会出现语义和CLR完全映射的.NET语言。即便是C#,在很多语义细节方面,和CLR之间亦存在诸多微妙的差别。
  
但是,纵然如此,C#仍然是.NET最佳语言拍档 — 尽管Visual Basic .NET也是.NET平台上一等语言。假如你打算要做一名地道的.NET开发人员,C#就是最佳语言选择。
  
C#和Visual Basic .NET本质不同点之一在于C#允许编写不安全代码(unsafe code),而Visual Basic .NET不可以。
  
脱离.NET谈C#意义不大,C#的应用离不开它赖以生存的土壤。和C++标准库对C++语言的重要性相比,.NET框架类库对C#语言的重要性,有过之而无不及。
  
C#和.NET框架类库之间的关系,就象是鱼和水的关系。.NET水中可以没有C#这条鱼,.NET水中肯定也不止C#这一条鱼,但C#这条鱼一旦离开.NET,也就不会有什么生命力。而且,C#无疑是.NET水中最引人注目的鱼。
  
假如SUN允许微软定制Java的话,还会有今天的C#吗?我的观点是,微软肯定会弄出个C#语言来,C#的出现,有其历史的必然。
  
道理并不复杂,微软并不拥有C++,它只能在C++规范所允许的范围内,做出某些扩展。怪模怪样的Managed C++,绝对不会成为普及的.NET语言。C++本来就够复杂的了,现在,Managed Extensions for C++又向C++里增添了更多的复杂玩意。
  
Visual Basic是微软自己的语言,它可以爱怎么改就怎么改,但Visual Basic留给广大开发人员根深蒂固的难登大雅之堂的小气印象,使得纵然Visual Basic.NET已经脱胎换骨,也难以吸引更多的开发人员。
  
作为一门年轻的语言,C#还有很大的发展余地,泛型技术绝对是其潜力最大的发展空间。
  
但我认为泛型技术不太可能进入通用语言规范(CLS),道理很简单,并不是每一种.NET语言都有能力支持泛型编程。
  
C#会吸引C++编程人员吗?世界上最自命不凡的编程人员恐怕就是C++程序员了,尽管绝大多数C++程序员并不能游刃有余地运用C++。
  
C#会吸引Visual Basic编程人员吗?那是喜欢C#的人的一厢情愿。不管你如何地讨厌Visual Basic,但Visual Basic编程人员自己大都不会这么认为。叫一个早已习惯了不区分大小写的Visual Basic程序员来使用C#,说不定是一种受罪。
  
C#会吸引Delphi(Object Pascal)程序员吗?Delphi程序员认为自己拥有世界上最好的开发工具,或许Anders Hejlsberg的个人魅力,会使得一些Delphi爱好者转投C#。
  
C#会吸引Java编程人员吗?看起来C#和Java势不两立。自C#诞生以来,两大阵营的争吵就没有停止过。让一个使用Java的程序员转用C#,那和逼迫一个虔诚的教徒改变其宗教信仰一样困难。
  
新事物的出现,总会伴随着鲜花掌声和诋毁谩骂。
  
Java问世之初,好评如潮,但也受到了大批想不开的C++开发人员的群起围攻,但Java终究取得了巨大的成功。现在,C#的来临同样招致了大量的怀疑和诽谤,就象Java当初所遭遇的一样。
  
假如说有什么不同的话,那就是这一次除了狭隘的C++人员外,一些Java程序员也加入了叫骂的行列,完全忘记了自己当初被C++人员骂得狗血喷头的狼狈相,完全忘记了直到今天自己仍然被某些C++程序员蔑称为二等公民。
  
那么,C#究竟会吸引哪些人呢?
  
他们可能会是:任何理智的“面向微软”的企业级软件开发公司,决定要走微软.NET技术的路线的企业软件开发人员,初涉软件开发领域的生力军,勇于尝试新鲜事物的朝气蓬勃的学生。还有,象我这样的总是对老技术感到厌倦、喜欢不断变换口味的、希望跟上技术进步的程序设计者。
  
C#不会吸引哪些开发人员呢?
  
任何“技术守旧者”。这些人,要么害怕学习新东西,要么对自己已经掌握的技术过于自信。
  
我曾遇见过一位老兄,他说,***是世界上最好的开发工具。这种开发工具的名字,说出来,能把你笑死。这种人,怎么能干好软件开发这个行当?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 支持支持
沙发
发表于 2005-8-25 14:17:22 | 只看该作者

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

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

x
板凳
发表于 2005-8-31 00:22:55 | 只看该作者

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

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

x
地板
发表于 2005-8-31 10:45:21 | 只看该作者

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

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

x
5
发表于 2005-9-18 16:48:15 | 只看该作者

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

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

x
6
发表于 2005-9-19 20:21:20 | 只看该作者

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

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

x
7
发表于 2005-9-20 00:25:04 | 只看该作者

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

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

x
8
 楼主| 发表于 2005-9-20 10:19:01 | 只看该作者

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

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

x
9
发表于 2010-4-26 20:01:38 | 只看该作者

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

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

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

本版积分规则

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

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

GMT+8, 2024-11-15 02:00 , Processed in 0.021495 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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