CLRviaCSharp读书随笔-第一章 1.1 1.2
2009-05-15 08:28:22 来源:WEB开发网【前言】
一直想学习很多大师级人物,对于一个很小的事情,都能入木三分,来龙去脉的讲的头头是道。曾经为了搞清楚反射的概念,一直追述到Smith的博士论文(Smith, B. C. (1982): Reflection and Semantics in a Procedural Language, Ph.D. thesis, MIT Laboratory for Computer Science Report MIT-TR-272.)好不容易下载到原文,发现居然长达几百页。当时热情的火苗子刺溜吧唧,就灭了。
我想我本就不是大师,何必去装呢。干嘛非要把自己折磨成这样,此时终于明白“好读书不求甚解”的真正含义。生活工作,不都是为了开心吗。我想还是回归本性,用我喜欢的随意的风格,对于技术方面,工作中用不到的就跳过去,有偏见的地方也不怕人笑话,我把我看书的所思所想,好好说个痛快,这不是博客本来的初衷么。
1.1将源代码编译为托管模块。
“编译”就是“翻译”
说实在的,长期以来一直对“编译”这两个词抱着敬畏的态度。觉得编译技术高深莫测遥不可及。突然有天恍然大悟,“编译”就是“翻译”,编译就是把一种语言翻译成另一种语言,C#编译成IL,C++编译成汇编,"How are you"翻译成"你好吗",啥区别没有。什么是编译优化?就是把"How are you"翻译成"你吃了吗?"程序员是干什么的?不就是替人类充当与机器对话的翻译嘛!玩的都是文字游戏。如果程序员还有点社会价值的话,那纯粹是因为机器的价值。
CLR也是个翻译
CLR的名字没有JVM好听,关键是runtime这个单词给人一种空荡荡的感觉,而machine比较形象。其实JIT才是真正的翻译,把IL翻译成汇编语言。这让我想起我一个朝鲜族同学,她说,她学英语的时候,先要把英语在脑子里翻译成汉语,再把汉语翻译成韩语才能理解。这不就是C#->IL->汇编么。
Tags:CLRviaCSharp 读书 随笔
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接