Professional CS2008 阅读小记(一)

      近期正在阅读Professional CSharp 2008,之前一直没有读过这本书,而各个知识体系结构都是根据老师的课程,blog以及各方面的资料汇集而成的,对于各个点来说理解得都还可以,但是在脑海中对于CSharp却是没有很深刻的自己的一个理解,究其原因在于没有对整个体系进行一个自己的阅读,而是相对于零散的,有针对性的学习.为了弥补这一点特找了Professional CSharp 2008 来翻一翻,至此开始每日一贴,记录自己的学习成果,并对比和自己之前的理解的不同之处.有必要时给予对应例子作为演示.
      之前都是一些关于基础知识的介绍,包含了一些此书和之前版本的不同,更多的是描述了C#3.0的新特性.做一些简单的翻译.

      The Significance of .NET and C# 
      在过去的十年间,我们可以对比一下,从Windows3.1(92年出的)到现在的windows server2008(似乎最新的已经是windows 7了),尽管他们的内核都非常类似,但是他们的界面看起来却迥然不同.当我们每经历一次版本的更新后,API就被加入了大量的方法,而与其说替换不如说这些都成为了API更新的一个过程.
      在众多版本中,可以说是一样的是,MS为Windows系列开发了相当多的软件.最容易让人联想到的就是COM组件了.同时,在很大的范围内,我们可以将Office文件"相互调用",例如,我们可以把单一的一张Excel表采用Word打开.自从发展到了COM,DCOM,还有最后的COM+——这样的一种过时的技术:构成了最基本的组件间的通讯,实现转换,消息服务和对象汇集。
      微软选择这种软件发展方向,很明显的一个理由是为了向后兼容性.近年来,产生了大量的Windows的第三方插件,但Windows却不喜欢每次微软推出新技术就破坏现有的代码的这样的成功.
      虽然向后兼容性是Windows技术的一个很重要的特性,但它却是包含了一些缺点.每当技术有进步时或增加了新特性时,它总是会变得比之前更复杂.最凸显的就是硬件的驱动了,从上个世纪90年代初期,MS总是把开发工具做的更复杂来满足与最新的硬件产生的一些需求冲突,并且还要同时保证向后兼容性.而如果你使用的是一些已经过时很久的语言的话,那么刚开始的时候你面对的值可能是一些干净的石板而已(对比和之前的开发工具的不同),使用新的开发工具,将会使得你更容易开发出能够体现技术发展水平的软件.
      那么就谈到重点了,最时尚的就是C#和.NET了.粗略地说,.NET是一个框架,一个API,为了在Windows平台下写程序用的.而C#语言就是被设计出来专门为.NET服务的(它用了scratch一词,很有一次,它的本意是搔痒),它利用了所有开发环境和在过去20年中我们对所使用的面向对象编程的规则的理解.
      在继续之前,依旧要提到一下向后兼容性,在.NET领域,之前的程序依旧能够运行,.NET被设计成具备和已存在的软件能够共同工作的能力.目前为止,在软件的组件与Windows之间的通讯大部分是要依靠COM来是实现的.
      当然,要使用.NET的话也不是一定要非学C#不可,MS也支持其他的一些语言,包括C++,还有一种新的语言J#(死掉了吧,08里面找不到了),并且对VB进行了一些修改,变成了VB.NET.但是不管怎么说,他们在.NET出现之前已经发展了几年的时间,所以会产生一些变动以及发展,而他们被这些给相对地"限制"住了,运用起来可能就没有C#对于.NET来说这么融洽.

      OK,今天就写这样一些.益处还是有滴,理解一些C#基本的知识理论有时比会一个新技术更让人觉得有意思.呵呵~ 本人英语水平有限,以上纯属是一些直译加个人理解,多有不当之处,各位请轻拍.
posted @ 2009-09-04 00:00  Coalber  阅读(200)  评论(0编辑  收藏  举报