C#学习感想

本科时候就听说微软开发出了一种新的、先进的、面向对象的开发语言,就是C#。一直以来在学习C++和JAVA,没有机会学习这种先进的语言,上研以后,导师要求学习微软的.NET技术,才开始学习。并且经过几个月的基于C#开发的项目的熏陶,自然有了些认识,感觉.NET这种新技术确实比较先进。 .NET计划 微软的.NET是一项非常庞大的计划,也是微软今后几年发展的战略核心,微软所说的“在任何时间、任何地点,采用相应的设备以获取所需的信息”的梦想并非一朝一夕能实现的。Visual Studio.NET则是微软.NET的技术开发平台,其重要性可见一斑。而C#就集成在Visual Studio.NET中,并且C#是最能体现.NET思想的语言,是一种完全的面向对象技术的语言。因此有人称C#是微软.NET战略中的重要棋子。也有人说C#是开发.NET框架应用程序的最好语言。 微软公司对C#的定义是:“C#是一种类型安全的、现代的、简单的,由C和C++衍生出来的面向对象的编程语言,它是牢牢根植于C和C++语言之上的,并可立即被C和C++的使用者所熟悉。C#的目的就是综合Visual Basic的高生产率和C++的行动力。”这个定义是恰如其分的,因为在Visual Studio.NET中,能够用C#极其简单地开发出强大的企业级分布式应用系统了。而在学习C#过程中,明显能感觉到JAVA的影子,比如内存自动回收机制等等。很多思想也是从JAVA哪里拿来的,拿来先进的,去掉糟粕,加入更先进的思想,这样就使C#确实成为一种最最先进的语言。 .NET框架的核心是基于XML的跨平台跨语言的信息交换,基于此种平台将十分有助于我们开发Internet分布式应用程序。因此前面说了,能够用C#极其简单地开发出强大的企业级分布式应用系统,这点其他的语言还做不到。 从底层开始重新设计,.NET在XML集成、错误处理、组件加工以及可重用框架等方面取得了明显的进步。它在Web开发方面的承诺也非常清晰:开发速度更快、自定义代码更少而稳定性更强。 基于.NET的Web应用开发主要是使用ASP.NET,ASP.NET可以使用任何一种.NET支持的语言编写,而其中C#可以提供脚本语言所无法提供的强大功能,使用C#编写ASP.NET的Web应用程序将成为Windows平台上Web开发的最佳选择。应用ASP.NET开发出的Web应用程序相当强大,很多WINFORM的功能都已经能够实现了。应用ASP.NET开发的Web程序将代码分离,很多代码是在服务器端运行的,速度更快,安全性更高。 对C++的继承 C#继承并保留了C++强大的功能,例如, C#保留了类型安全的检测和重载功能,C#还提供了一些新功能取代了一些原来的ANSI C预处理程序的功能,提高了语言的类型安全等安全性。C++程序员想学习C#会很快上手。不过,考虑到安全因素,在C#中取消了C++中最最不安全的指针。 快速应用开发(RAD)功能 支持快速开发(Rapid application development)可以说是目前开发语言最为重要的一大功能,也正是以前的C/C++的致命伤。网络时代应用系统的开发必须按照网络时代的速度来进行,支持快速开发可以使得开发人员的开发效率倍增,从而使得他们可以从繁重的重复性劳动中解放出来。 C#的RAD功能主要表现在例如垃圾收集、指代等众多特性上。垃圾收集机制将减轻开发人员对内存的管理负担,而指代功能更是可以让开发者不经过内部类就调用函数。利用C#的这些功能,可以使开发者通过较少的代码来实现更强大的应用程序,并且能够更好地避免错误的发生,从而大大缩短了应用系统的开发周期。 语言的自由性 用C#编写的程序能最大程度地和任何支持.NET的语言互相交换信息。能够继承和使用任何语言所编写的程序可以称得上是知识的继承,这样做的好处是节省了大量的工作,你不必把COBOL等语言强行改成另一种语言,.NET让各种语言真正地互相交流了。每个人不必另外学习新的语言,利用自己已经有的知识就可以用.NET开发程序,这样使得一个团队的合作更加容易。在.NET中,甚至可以将DEPHI,JAVA等语言集中到.NET程序中。  C#和其他.NET语言有着最好的协作,这点对开发人员非常重要。全球从事编写软件的人当中,很多很多人以Visual Basic作为基本的编程工具,因为用VB编程确实较C/C++轻松很多。在跨入.NET编程时代的时候,这些人能够轻松地使用.NET中的VB.NET开发应用程序。 强大的Web服务端组件 在C#的Web编程中,最让人兴奋的是Web服务端的组件,它们不仅包括传统组件,还包括那些能够自动连接五花八门服务的可编程组件,你可以用C#编写自己的服务器端组件,服务器端组件和标准的HTML提供的服务自然是不一样的,使用它们可以更自由、更容易地进行数据绑定。基于Web Service的公共技术标准SOAP/WSDL/UDDI/WSFL或是已经成为事实行业标准,或是正在制订的进程中,各大技术提供商和传统商业企业都投入到了标准的制定和应用的架构中去。作为Web服务的体系架构的领导者IBM和Microsoft也开始在全球推广Web服务技术。再加上Web Service与XML的很好的结合,我们有理由相信Web服务将成为将来动态商务Web的主流技术。 支持跨平台 随着互联网应用程序的应用越来越广,人们逐渐意识到由于网络系统错综复杂,使用的硬件设备和软件系统各不相同,开发人员所设计的应用程序必须具有强大的跨平台性。C#编写的应用程序就具有强大的跨平台性,这种跨平台性也包括了C#程序的客户端可以运行在不同类型的客户端上,比如PDA、手机等非PC装置。跟JAVA对比一下,我们看到,将Java代码从一个平台移植到另一个平台—Java这个语言最重要和最受吹捧的特点—并不象宣传的那样容易。任何Java平台都有其自己的虚拟机,它可以理解通用的字节代码,并且及时地将其编译为本地代码。对于Windows平台来说,Java又怎么样呢?让Java适应Windows是不可能的,这是由于Sun的许可约束问题。C#中也有一个虚拟机,叫做公用语言运行环境(CLR),它的对象也具有同样的层次。在这点上C#继承了JAVA的这种跨平台的优点。 与XML的融合 XML设计初期的想法本来只是用来在人所阅读的文档上作标记,以方便实现检索等功能.但是,很快XML就吸引了致力于商务,关系数据库和面向对象数据库的数据交换等非文档应用的人士的注意,也就是说XML被用在机读文档上了.这是由于XML的定义方式在使计算机理解和处理数据方面有天然的优势。由于XML技术真正融入到了.NET和C#之中,C#的编程变成了真正意义的网络编程,甚至可以说.NET和C#是专为XML而设计,使用C#的程序员可以轻松用C#内含的类来使用XML技术。就这方面而言,目前C#提供给了程序员更多的自由和更好的性能来使用XML。XML已经不满足于HTML 的“所见即所得”,它通过上下文的数据关联、规范化的数据格式和灵活的自定义,使Web 具备了表达网页中的元素究竟“是”什么的能力。这种能力对于人脑来说也许仅仅需要瞬间逻辑的判断,但对于尚处于非智能化阶段的PC来说,无疑是一次“学习的革命”。XML的优势在于它的开放性,分离性。这使得XML正在成为一个新的标准。 到目前为止,C#确实是一门比较先进的,值得花费时间去学习的语言。并且我相信,凭借着微软强大的力量和.NET计划的实施,C#将会成为近几年以来的倍受欢迎的语言之一。也许上面的词句有些片面,但确实是个人的学习工作过程中的一些感想。有错误之处还请指正。
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值