C#有什么用

来源:互联网 发布:淘宝中的电子商务 编辑:程序博客网 时间:2024/04/16 19:10

       今天帮老师去图书馆借了几本有关于C#的书,之前就听过过C#是“C语言的java“,究竟C#与C++有什么重大的区别呢?我就好奇地上网搜了一些相关C#的资料。

       在微软的PDC 2000年会上,当演讲者向各大公司的研发人员展示基于.NET的ASP+上用c#进行设计开发Web应用程序时,观众们报以了热烈的掌声。
  长期以来,C/C++都是最为广泛地应用于商用软件开发中的开发语言,但其强劲的功能和灵活的使用却同时伴随着开发的复杂性,很多基于C/C++的研发人员后来都称用C/C++进行开发如同噩梦一般。Java的出现改变了这一切。
   Java是一个开放、标准、通用的网络运算平台,由于其强大的兼容性和跨平台性,已经成为在互联网技术领域被广泛采用的一个成熟的技术平台。但由于纯Java编程的应用系统其运行速度太慢,而且据Forrest的调查报告显示,基于Java开发的应用系统目前也并没有实现百分百的跨平台,这使得Java仍旧未能完全取代C/C++。
   c#的出现给广大程序开发者又多了一种选择。微软公司对C#的定义是:“c#是一种类型安全的、现代的、简单的,由C和C++衍生出来的面向对象的编程语言,它是牢牢根植于C和C++语言之上的,并可立即被C和C++的使用者所熟悉。c#的目的就是综合Visual Basic的高生产率和C++的行动力。”这个定义是恰如其分的,因为在Visual Studio.NET的β版(见图1)中,我们已经可以利用c#极其简单地开发出强大的企业级分布式应用系统了。
      需要提醒大家,脱离了.NET平台而单纯去讲C#是没有太大意义的,所以我们必须先了解一些.NET平台开发的基础知识,才能更深入了解c#的特性。
   .NET框架的核心是基于XML的跨平台跨语言的信息交换,基于此种平台将十分有助于我们开发Internet分布式应用程序。
   基于.NET的Web应用开发主要是使用ASP+,ASP+可以使用任何一种.NET支持的语言编写,而其中C#可以提供脚本语言所无法提供的强大功能,使用C#编写ASP+的Web应用程序在未来将成为Windows平台上Web开发的最佳选择。
   了解了一些.NET平台开发的基础知识后,下面让我们再来结合.NET看看c#的一些绝技:
   1、快速应用开发(RAD)功能

   支持快速开发(Rapid application development)可以说是目前开发语言最为重要的一大功能,也正是C/C++的致命伤。网络时代应用系统的开发必须按照网络时代的速度来进行,支持快速开发可以使得开发人员的开发效率倍增,从而使得他们可以从繁重的重复性劳动中解放出来。
    c#的RAD功能主要表现在例如垃圾收集、指代等众多特性上。垃圾收集机制将减轻开发人员对内存的管理负担,而指代功能更是可以让开发者不经过内部类就调用函数。利用c#的这些功能,可以使开发者通过较少的代码来实现更强大的应用程序,并且能够更好地避免错误发生,从而缩短了应用系统的开发周期。
   2、语言的自由性

   用C#编写的程序能最大程度地和任何支持.NET的语言互相交换信息。能够继承和使用任何语言所编写的程序可以称得上是知识的继承,这样做的好处是节省了大量的工作,你不必把COBOL等语言强行改成另一种语言,.NET让各种语言真正地互相交流了。

  c#和其他.NET语言有着最好的协作,这点对开发人员非常重要。全球从事编写软件的人当中,大约有50%以Visual Basic作为基本的编程工具,在跨入.NET编程时代的时候,这些人轻松地使用了.NET的VB开发Web上的应用程序,想想以后你可以和你的那些只懂VB的同事真正在一起共同开发.NET的应用程序时,还有比这更让人轻松和高兴的事情吗?
   3、强大的Web服务端组件

   在c#的Web编程中,最让人兴奋的是Web服务端的组件,它们不仅包括传统组件,还包括那些能够自动连接五花八门服务的可编程组件,你可以用c#编写自己的服务器端组件,服务器端组件和标准的HTML提供的服务自然是不一样的,使用它们可以更自由、更容易地进行数据绑定。不久,那些视频服务器组件也很快会出现,有了这些强大的组件,我们可以设计出功能更加强劲的企业级分布式应用系统。
   4、支持跨平台

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

   5、与XML的融合
   由于XML技术真正融入到了.NET和c#之中,c#的编程变成了真正意义的网络编程,甚至可以说.NET和c#是专为XML而设计,使用C#的程序员可以轻松用c#内含的类来使用XML技术。就这方面而言,目前c#提供给了程序员更多的自由和更好的性能来使用XML。

   6、对C++的继承
   c#继承并保留了C++强大的功能,例如, c#保留了类型安全的检测和重载功能,c#还提供了一些新功能取代了一些原来的ANSI C预处理程序的功能,提高了语言的类型安全等安全性。

   了解了c#如此众多的特性,你是不是也感觉心动呢!身怀绝技的c#将在未来正式步入征程,与我们的程序开发人员携手共进!
   ■没有最好只有更好
   由于Visual Studio.NET的正式版本将在今年某个时候才能推出,所以c#将真正成为新世纪的新语言。有人现在就在讨论c#和Java的性能优劣,其实这并没有什么实际意义,因为c#和Java 都将随着时代的发展而继续发展,并不断加以改进以适应新的开发需求,这正印证了一句著名的广告词:“没有最好,只有更好”。
   不久的未来,c#的应用也将如同Java一样,飞速向数字电视、机顶盒、汽车、PDA、移动电话、呼机,甚至电冰箱等其他非PC装置中进行推广。
   总之,只有在激烈的良性竞争下,我们才能更快、更好地促进应用开发技术的发展,才能更加快速地推动IT行业的大发展。不管怎样,c#的确值得我们关注!

原创粉丝点击