想想也是惭愧,作为一个自称是.Net平台开发程序员的人,居然没有看过Jeffrey Richter的CLR via C#,估计会被不少程序员笑话吧。
自己的C#入门书籍是Jesse Liberty的Programming C#,那本书我看了得有三遍了吧,呵呵。但那本书只是让我对C#的语法有了一个了解,而直到半年多后的现在,我也仅仅只是在用C#去编程序,而对.Net这个巨大的平台,知道的仅仅是 Understanding .Net 2.0那本书里得到的一个对.Net平台的一个概览,而实质性的东西却知之甚少。怎么说呢,就是知道该怎么做,而不知道为什么这么做。
作为一个打算把.Net作为自己职业方向的程序员,不对.Net平台(而不仅仅只是C#语言)有一个Thoroughly的了解,我认为是远远不够的。怎么也得知其然且知其所以然吧,所以选择了这本据说是.Net程序员必读的Bible一般的CLR via C#,希望以此来提升自己的.Net内功。
既然已经选择了.Net Framework,就有必要来决定使用哪种编程语言了:通常这是个很难的选择,因为不同的语言具有不同的能力。非托管的C/C++可以对系统进行一些非常低级的控制,而Visual Basic可以非常方便的快速生成UI应用程序和控制COM对象和数据库。
公共语言运行库(CLR)这个名称准确的描述了它的作用,它是一个可由多种不同的编程语言来使用的运行库。CLR的特性可由所有面向它的语言来使用。
事实上,在运行的时候,CLR是根本不关心开发人员用哪种语言写的源代码的,也就是说,.Net程序员在挑选编程语言的时候,应该选择最容易表示自己意图的语言。例如,创建一个简单的WinForm应用程序,使用C#或VB要比使用C++方便许多;对于数学或金融应用程序,使用APL语法要比Perl语法表示同样的意图要容易的多。
创建一个.Net程序,首先使用支持CLR的任何语言要编写正确的code,然后使用相应的Compiler来检查语法和分析Source code,Compiler会生成一个Managed module,也就是一个标准的PE32或者是PE32+文件,他们需要CLR才能执行。
本地代码编译器生成的是针对某种特定架构的CPU(例如x86、x64)专用的代码,相反,所有CLR相容的编译器生成的都是Intermediate Language,由于CLR会管理它的执行,IL有时也叫做托管代码。同时编译器还会在每个托管模块中生成元数据,元数据就是一系列特殊的数据表,他们描述了模块中定义的内容,比如类型及其成员。
元数据有很多用途:
1)在编译时,元数据消除了对头和库文件的需求,因为与引用的类型/成员有关的信息都包含在用IL来实现类型/成员的文件中
2)MS Visual Studio通过Intellisense解析元数据,以方便我们编写代码(智能提示)
3)CLR中的代码验证过程使用元数据来保证代码只执行"安全"的操作
4)元数据允许将一个对象的字段序列化到一个内存段中,并将其发送到另一台机器,然后反序列化,在远程机器上重建对象状态
5)元数据允许垃圾收集器跟踪对象的生存期
2008年10月22日星期三
2008年10月19日星期日
经济学原理学习笔记(3)--经济学十大原理 III
继续之前的笔记,现在来谈一谈整体经济是如何运行的,也就是经济学十大原理的最后三条原理。
原理八:一国的生活水平取决与它生产物品与劳务的能力
记得以前看过一篇文章,文革的时候,我们是这么教育我们的孩子的:中国人民是世界上最幸福的人民,除了我们,世界上还有三分之二的人活在水深火热的资本主义社会中。现在想想这句话,我还真想水深火热一把呢,呵呵,所以就考了一把IELTS。
不去评论这句话的真实性,但世界各国之间的生活水平相距是惊人的,2003年,美国的人均收入约为3.75万美元,墨西哥为8950美元,而中国是3000美元左右。这种收入上的巨大查遍,体现在生活质量的各种衡量指标上,高收入国家比低收入国家拥有更好的医疗保健,更先进的教育,更多的电视机以及更好的营养。
那用什么来解释各国之间的这种巨大差距呢?原因就是:不同国家之间生产率的差别,也就是一个工人一个小时所生产的物品与劳务数量的差别,导致了几乎所有生活水平的差距。在那些单位时间工人能产生大量物品和劳务的国家,大多数人享有高水平的生活,反之则得忍受贫穷的生活。忘了在哪里看到的,美国工人的生活水平大约等价于中国中等家庭收入的10倍,这就是由生产率所决定的。
原理九:当政府发行了过多的货币时,物价上升
相信看过九年义务教学历史课本的同学应该都还记得,在那本中国近代史上册里,有一副图片,描绘着一个人,骑着二八自行车,背着一大麻袋钞票(似乎叫做法币,呵呵)去购物的场景,这也是我第一次接触通货膨胀(Inflation)这个概念。
现在这个概念应该大家都耳熟能详了吧,什么,你不知道什么叫通货膨胀?呵呵,想想猪肉的价格就可以了。
通货膨胀其实就是经济中物价总水平的上升,由于高通货膨胀会让社会付出很大的代价,因此世界各国的政府都把保持低通货膨胀作为经济政策的一个目标。
大多数通货膨胀的罪魁祸首,就是货币量的增长。当一国政府发行了大量的本国货币时,货币的价值也就相应的下降了。刚开始我举的法币的那个例子就印证了这一点:国民政府发行了过多的货币,导致货币飞涨。
原理十:社会面临通货膨胀与失业之间的短期权衡取舍
虽然从长期来看,货币量增加导致了物价水平的升高,但是短期中的问题就复杂多了,多数经济学家是这样描述货币注入的短期效应的:
1)经济中货币量增加刺激了整个支出水平,从而刺激了物品与劳务的需求。
2)随着时间的推移,高需求导致企业提高物价,受高利润驱动,它会鼓励工人增加他们生产的物品和劳务量,而且会更多的雇佣工人以提高生产量。
3)雇佣更多的工人意味着更少的失业
这也就是在整个经济范围内的最终的权衡取舍:通货膨胀和失业之间的短期权衡取舍。
这种短期的权衡形成了一个周期性的循环。经济周期(Business cycle)就是用生产的物品与劳务量或雇佣的人数来衡量的,经济活动中无规律的、大部分无法预测的波动。
原理八:一国的生活水平取决与它生产物品与劳务的能力
记得以前看过一篇文章,文革的时候,我们是这么教育我们的孩子的:中国人民是世界上最幸福的人民,除了我们,世界上还有三分之二的人活在水深火热的资本主义社会中。现在想想这句话,我还真想水深火热一把呢,呵呵,所以就考了一把IELTS。
不去评论这句话的真实性,但世界各国之间的生活水平相距是惊人的,2003年,美国的人均收入约为3.75万美元,墨西哥为8950美元,而中国是3000美元左右。这种收入上的巨大查遍,体现在生活质量的各种衡量指标上,高收入国家比低收入国家拥有更好的医疗保健,更先进的教育,更多的电视机以及更好的营养。
那用什么来解释各国之间的这种巨大差距呢?原因就是:不同国家之间生产率的差别,也就是一个工人一个小时所生产的物品与劳务数量的差别,导致了几乎所有生活水平的差距。在那些单位时间工人能产生大量物品和劳务的国家,大多数人享有高水平的生活,反之则得忍受贫穷的生活。忘了在哪里看到的,美国工人的生活水平大约等价于中国中等家庭收入的10倍,这就是由生产率所决定的。
原理九:当政府发行了过多的货币时,物价上升
相信看过九年义务教学历史课本的同学应该都还记得,在那本中国近代史上册里,有一副图片,描绘着一个人,骑着二八自行车,背着一大麻袋钞票(似乎叫做法币,呵呵)去购物的场景,这也是我第一次接触通货膨胀(Inflation)这个概念。
现在这个概念应该大家都耳熟能详了吧,什么,你不知道什么叫通货膨胀?呵呵,想想猪肉的价格就可以了。
通货膨胀其实就是经济中物价总水平的上升,由于高通货膨胀会让社会付出很大的代价,因此世界各国的政府都把保持低通货膨胀作为经济政策的一个目标。
大多数通货膨胀的罪魁祸首,就是货币量的增长。当一国政府发行了大量的本国货币时,货币的价值也就相应的下降了。刚开始我举的法币的那个例子就印证了这一点:国民政府发行了过多的货币,导致货币飞涨。
原理十:社会面临通货膨胀与失业之间的短期权衡取舍
虽然从长期来看,货币量增加导致了物价水平的升高,但是短期中的问题就复杂多了,多数经济学家是这样描述货币注入的短期效应的:
1)经济中货币量增加刺激了整个支出水平,从而刺激了物品与劳务的需求。
2)随着时间的推移,高需求导致企业提高物价,受高利润驱动,它会鼓励工人增加他们生产的物品和劳务量,而且会更多的雇佣工人以提高生产量。
3)雇佣更多的工人意味着更少的失业
这也就是在整个经济范围内的最终的权衡取舍:通货膨胀和失业之间的短期权衡取舍。
这种短期的权衡形成了一个周期性的循环。经济周期(Business cycle)就是用生产的物品与劳务量或雇佣的人数来衡量的,经济活动中无规律的、大部分无法预测的波动。
订阅:
评论 (Atom)
