C#简介

C#是微软公司在2000年6月发布的一种新的编程语言,主要由安德斯·海尔斯伯格(Anders Hejlsberg)主持开发,它是第一个面向组件的编程语言,其源码会编译成msil再运行。它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,并且新增了许多功能及语法糖,而且它是微软公司.NET windows网络框架的主角。


名称来源

C#读作C Sharp。最初它有个更酷的名字,叫做COOL。微软从1998年12月开始了COOL项目,直到2000年2月,COOL被正式更名为C#。在1998年,Delphi语言的设计者Hejlsberg带领着Microsoft公司的开发团队,开始了第一个版本C#语言的设计。在2000年9月,国际信息和通信系统标准化组织为C#语言定义了一个Microsoft公司建议的标准。最终C#语言在2001年得以正式发布。

命名为“C#”是由乐谱的启发,其中一个sharp指出书面说明应当作出一个半音更高的音调。这与C ++的语言名称相似,其中“++”表示变量应该增加1.尖形符号也类似于四个“+”符号的连字符(在一个两乘二的网格中),进一步暗示该语言是C ++的增量。

历史

1994年创建Java编程语言的James Gosling和Java创始人Sun Microsystems的联合创始人Bill Joy称C#是Java的“模仿” 高斯林进一步说,“[C#]是一种可靠性,生产力和安全性的Java删除。” [19] [20] Klaus Kreft和Angelika Langer(C ++流书的作者)在一篇博客文章中指出:“Java和C#几乎是相同的编程语言,缺乏创新的重复” [21] “几乎没有人会声称Java或C#是革命性的编程语言,改变了我们编写程序的方式“,”C#借用了很多Java - 反之亦然。现在C#支持装箱和拆箱,我们将不得不在Java中一个非常类似的功能。”  2000年7月,Hejlsberg说,C#是‘不是Java的克隆’,是‘在它的设计更接近C ++’。

自从2005年11月发布C#2.0以来,C#和Java语言已经逐渐演变为日益分歧的轨迹,变得不那么相似。其中一个主要的发展是在两种语言中增加了泛型,而实现则大不相同。C#利用实体来提供可以象任何其他类一样使用的“第一类”泛型对象,在类加载时执行代码生成。[24]此外,C#增加了几个主要特征,以适应函数式程序设计,在最终LINQ与C#3.0和它的支撑框架释放扩展lambda表达式,扩展方法,和匿名类型。这些特性使C#程序员能够在对其应用程序有利时使用函数式编程技术,例如闭包。LINQ扩展和功能导入帮助开发人员减少常见任务中包含的样板代码的数量,例如查询数据库,解析XML文件或搜索数据结构,将重点转移到实际的程序逻辑以帮助提高可读性和可维护性。

发展

其实在编程语言中真正的霸主多年来一直是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(XP及以后版本)的一部分发行, Windows Me 和 Windows 2000用户只能以Service Pack的形式安装使用。其次,C# 能够使用的组件或库还只有 .NET 运行库等很少的选择,没有丰富的第三方软件库可用,这需要有一个过程,同时各软件开发商的支持也很重要。第三,JAVA的成功因素里有一些是反微软阵营的吹捧,虽然“只写一次,到处运行”只是一句口号,但毕竟已经是一种成熟的技术。而C# 的鼓吹者只有名声不佳的微软,且只能运行在Windows上。实际上这两种语言都不是不可替代的,理智的说,对软件开发商而言,什么用的最熟什么就是最好的工具。尤其对C++的使用者,C# 没有带来任何新东西,因为.NET运行库在C++中也可以使用,没有要换的绝对的理由。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值