谁能告诉我C#的历史?

从65438到0999,笔者听说微软正在开发一种新的开发语言,叫做“cool”,但其中的内幕始终是个谜。直到2000年6月26日,微软在奥兰多举办的“专业开发者技术大会”(PDC 2000)上,谜底终于揭开。这种新的、高级的、面向对象的开发语言是C#(发音为So为什么微软要开发C#?C#能给开发者带来什么好处?

■雨来了,风满了。

1995年,SUN公司正式推出面向对象的开发语言Java,提出了跨平台、跨语言的概念(一次编写代码,在任何地方运行)。Java逐渐成为企业级应用系统开发的首选工具,越来越多基于C/C++的应用开发者转向从事基于Java的应用开发。Java的先进思想使其在软件开发领域有着巨大的潜力。

很快,在众多R&D人员的努力下,微软也推出了自己的基于Java语言的编译器Visual J++,Visual J++在最短的时间内从1.1版本上升到6.0版本。这不仅仅是数字上的变化。Visual Studio 6.0中集成的Visual J++ 6.0确实发生了质的变化。不仅大大加快了虚拟机(JVM)的运行速度,还增加了许多新功能。同时支持调用Windows API。这些特性使得Visual J++成为Windows应用开发的强大平台,也是业界公认的优秀Java编译器。

不可否认,Visual J++具有强大的开发功能,但主要用于Windows平台的系统开发。SUN公司认为Visual J++违反了Java的许可协议,即违反了Java开发平台的中立性,因此对微软提起诉讼,使微软处于非常被动的局面。微软将如何应对?

■形势所迫另辟蹊径。

就在人们认为微软的处境无法改善的时候,微软另辟蹊径,决定启动其进军互联网的庞大计划-。NET计划及其旗舰开发语言——c#。

微软的。NET是一个非常庞大的计划,也是微软未来几年发展的战略核心。“使用相应的设备随时随地获取所需信息”的梦想不可能一蹴而就。可视化Studio.NET是微软的技术开发平台。NET,其重要性可见一斑,而C#集成在Visual Studio.NET。

在软件开发领域,广大程序开发者通常对使用一个beta平台开发商业应用系统持排斥态度。然而,当Visual Studio.NET的测试版发布时,许多开发人员表现出了前所未有的热情。这种热情不仅仅是因为。net项目和微软CEO鲍尔默慷慨激昂的演讲,更是表达了开发者需要一个功能强大的开发平台的迫切心情。

为了支持。NET平台,Visual Studio.NET对原来的Visual Studio 6.0进行了很大的修改和改变。在Visual Studio.NET的测试版中,你会发现Visual J++已经消失了,取而代之的是c#语言。至此,微软也摆脱了被动局面。

尽管Visual Studio.NET仍处于测试阶段,但其中集成的新的微软开发语言C#已经吸引了许多开发人员的注意。那么,谁负责C#的研发呢?

■以风头强劲著称。

设计一种新的开发语言——C #对微软未来的发展意义重大,而如此伟大而艰巨的任务,微软怎么能不谨慎呢?谁来承担这个重任,成为开发C#的总设计师,对微软来说将是一个“生死抉择”。老将安德斯是微软最明智的选择。

中国很多人可能不知道安德斯,但说到他的代表作《特鲁博·帕斯卡尔》和《德尔福》,却是家喻户晓。安德斯是前布罗兰德公司的首席R&D设计师。在布罗兰期间,安德斯开发了著名的Trubo Pascal语言,并在此基础上开发了面向对象的应用程序开发工具Broland Delphi。Delphi仍然是Broland公司最重要的旗舰产品,并已成为开发人员最喜爱的RAD应用程序开发工具之一。安德斯来到微软后,直接专注于Visul J++的研发,这也是为什么你会在C#中发现Visul J++的很多特性。

著名艺人一出招就知道有没有!微软选择了安德斯,安德斯也没有让微软失望。C#不仅开发成功,其强大的功能也让人耳目一新!那么大名鼎鼎、风头正劲的C#有哪些强大的功能,能给开发者带来什么好处呢?

■带着特技步入旅程。

在微软的PDC 2000年会上,当演讲者向各大公司的R&D人员展示如何在ASP+的基础上用C#设计和开发Web应用程序时。网,全场响起热烈的掌声。

长期以来,C/C++是商业软件开发中应用最广泛的开发语言,但其强大的功能和灵活的使用也伴随着开发的复杂性。许多基于C/C++的R&D人员后来称之为用C/C++开发的噩梦。Java的出现改变了这一切。

Java是一个开放的、标准的、通用的网络计算平台。由于其强大的兼容性和跨平台性,已经成为互联网技术领域广泛应用的成熟技术平台。但是由于纯Java编程应用系统运行速度慢,而且根据Forrest的调查报告,基于Java的应用系统目前还没有实现100%的跨平台,这使得Java仍然无法完全取代C/C++。

C#的出现给了广大程序开发人员另一种选择。微软对C#的定义是:“C#是一种类型安全的、现代的、简单的面向对象的编程语言,它源于C和C++,牢牢扎根于C和C++语言中,并能立即为C和C++的用户所熟悉。C#的目的是整合Visual Basic的高生产力和C++的移动性。”这个定义是恰当的,因为在Visual Studio.NET的beta版中,我们可以非常简单地使用C #开发一个强大的企业级分布式应用系统。

需要提醒大家的是,离开了。NET平台,所以我们必须知道一些基本的开发知识。NET平台才能对C#的特性有更深的了解。

的核心。NET框架是基于XML的跨平台、跨语言的信息交换,这将对我们开发互联网分布式应用非常有帮助。

的Web应用程序开发。NET主要用ASP+,可以用任何支持的语言编写。网。其中,C#可以提供脚本语言无法提供的强大功能,使用C#编写ASP+ Web应用将成为未来Windows平台上Web开发的最佳选择。

在了解了一些基础知识之后。NET平台开发,下面结合。网络:

快速应用开发(RAD)功能

支持快速应用开发可以说是目前开发语言最重要的功能,也是C/C++的致命弱点。网络时代应用系统的开发必须以网络时代的速度进行。支持快速开发可以让开发人员的开发效率翻倍,从而从繁重的重复性工作中解放出来。

C#的RAD功能主要表现在垃圾收集、指向等诸多特性上。垃圾收集机制会减轻开发者的内存管理负担,引用函数让开发者无需经过内部类即可调用函数。利用C#的这些功能,开发人员可以用更少的代码实现更强大的应用,可以更好地避免错误,从而缩短应用系统的开发周期。

语言自由

用C#编写的程序可以与任何支持的语言交换信息。最大程度的网。能够继承和使用任何语言编写的程序都可以称为知识继承,这样做的好处是可以节省大量的工作。不用强行把COBOL之类的语言换成另一种语言,而且。NET让各种语言真正实现了互通。

C#与其他语言有最好的协作。NET语言,这对开发者来说非常重要。世界上从事编写软件的人中,大约有50%的人使用Visual Basic作为基本的编程工具。当他们进入。NET编程,这些人很容易使用VB的。NET来开发Web应用程序。想想当你真正能发展起来的时候,还有什么比这更放松更快乐。NET应用以后和你那些只懂VB的同事一起?

强大的Web服务器组件

在C#的Web编程中,最令人兴奋的是Web服务器的组件。它们不仅包括传统组件,还包括可以自动连接各种服务的可编程组件。可以用C#编写自己的服务器端组件,这些组件自然不同于标准HTML提供的服务,可以更加自由轻松地绑定数据。很快,那些视频服务器组件也将很快出现。有了这些强大的组件,我们可以设计出更强大的企业级分布式应用系统。

支持跨平台

随着互联网应用越来越广泛,人们逐渐意识到,由于网络系统的复杂性以及所使用的硬件设备和软件系统的不同,开发者设计的应用必须具有很强的跨平台性。C#编写的应用程序具有很强的跨平台性,这也包括C#程序的客户端可以运行在不同类型的客户端上,如PDA、手机等非PC设备上。

与XML的集成

因为XML技术真正融入了。NET和C#,C#编程已经成为真正的网络编程。甚至可以说。NET和C#是专门为XML设计的,使用C#的程序员可以很容易地使用C#中包含的类来使用XML技术。在这方面,目前C#为程序员提供了更大的自由度和更好的性能来使用XML。

从C++继承

C#继承并保留了C++强大的功能,比如C#保留了类型安全检测和重载的功能,C#还提供了一些新的功能来代替原来ANSI C预处理器的一些功能,提高了语言的类型安全和其他安全性。

知道了这么多C#的特性,你是不是也心动了?身怀绝技的C#未来将正式进入征途,与我们的程序开发者携手共进!