代码改变世界

1.6 Framework 类库

2011-11-17 13:49 by iRead, 346 阅读, 0 推荐, 收藏, 编辑
摘要:.NET Framework中包含了Framework类库(Framework Class Library,FCL)。FCL是一组DLL程序集的统称,其中含有数千个类型定义,每个类型都公开了一些功能。Microsoft发布的库也并非仅限于此,其他还有Windows SideShow Managed API SDK和DirectX SDK等等。这些额外的库提供了更多的类型,公开了更多可用的功能。事实上,Microsoft正在以惊人的速度发布大量库,开发者在使用各种Microsoft技术时,变得前所未有的简单。 下面列举了应用程序开发人员可以利用这些程序集创建的一部分应用程序:Web服务(W... 阅读全文

1.5 本地代码生成器:NGen.exe

2011-11-15 16:45 by iRead, 1357 阅读, 0 推荐, 收藏, 编辑
摘要:使用.NET Framework配套提供的NGen.exe工具,可以在一个应用程序安装到用户的计算机上时,将IL代码编译成本地代码。由于代码在安装时已经编译好,所以CLR的JIT编译器不需要在运行时编译IL代码,这有助于提升应用程序的性能。NGen.exe能在两种情况下发挥重要作用:加快应用程序的启动速度 运行NGen.exe能加快启动速度,因为代码已编译成本地代码,运行时不需要再花时间编译。减小应用程序的工作集1 如果一个程序集会同时加载到多个进程中,对该程序集运行NGen.exe可减小应用程序的工作集(working set)。NGen.exe会将IL编译成本地代码,并将这些代码保... 阅读全文

1.4.2 不安全的代码

2011-11-14 15:13 by iRead, 259 阅读, 0 推荐, 收藏, 编辑
摘要:MicrosoftC#编译器默认生成的是安全的(safe)代码,这种代码是否安全是可验证的。然而,Microsoft C#编译器也允许开发人员写不安全的(unsafe)代码。不安全的代码允许直接操作内存地址,并可操作这些地址处的字节。这是非常强大的一个功能,通常只有在与非托管代码进行互操作,或者在提升对效率要求极高的一个算法的性能的时候,才需要这样做。 然而,使用不安全的代码会带来一个重大风险:这种代码可能破坏数据结构,危害安全性,甚至可能造成新的安全漏洞。有鉴于此,C#编译器要求包含不安全代码的所有方法都用unsafe关键字标记。除此之外,C#编译器要求使用/unsafe编译器开关来编... 阅读全文

1.4.1 IL和验证

2011-11-11 17:55 by iRead, 322 阅读, 0 推荐, 收藏, 编辑
摘要:IL是基于栈的。这意味着它的所有指令都要将操作数压入(push)一个执行栈,并从栈弹出(pop)结果。由于IL没有提供操作寄存器的指令,所以人们可以很容易地创建新的语言和编译器,生成面向CLR的代码。 IL指令还是“无类型”(typeless)的。例如,IL提供了一个add指令,它的作用是将压入栈的最后两个操作数加在一起。add指令不分32位和64位版本。add指令执行时,它判断栈中的操作数的类型,并执行恰当的操作。 我个人认为,IL最大的优势并不在于它对底层CPU的抽象。IL提供的最大的优势在于应用程序的健壮性和安全性。将IL编译成本地CPU指令时,CLR会执行一个名为验证(veri... 阅读全文

第六章 记忆价格和前景理论:我们对价格很愚(下)

2011-11-11 14:25 by iRead, 416 阅读, 0 推荐, 收藏, 编辑
摘要:按卡尼曼和特沃斯基的术语,期待中的1 000美元是一个基准点。这很像心理物理学上的“适应水平”。基准点负责判断进入心理账户的某样东西属于收益还是损失。这可以造成行为上的巨大差异。前景理论的第二个关键概念是厌恶损失。损失金钱(或任何有价值的东西)带来的伤害,远远大于获得同样东西带来的喜悦。抛硬币打赌就能看出损失厌恶来。抛出字你输100元,抛出人头你赢X元。X要多大,你才愿意接受这个赌?调查显示,很少有人愿意接受X==100的“公平”打赌。X=110的情况也很少有人接受,哪怕它提供了挺不错的预期收益。(接受这个价格的人往往是赌徒、倒爷或经济学家。)一般人大概会要求200美元左右的奖金,来平衡100 阅读全文

第六章 记忆价格和前景理论:我们对价格很愚(上)

2011-11-11 14:24 by iRead, 486 阅读, 0 推荐, 收藏, 编辑
摘要:电视剧《巨蟒》(Monty Python)描述过阿尔冈星球上的一个任务。阿尔冈星是金牛座的毕宿五毕宿五(Aldebaran,意为“追随者”)即金牛座α,是全天第14亮星,视星等085等(不规则变星变化于075~095等之间),绝对星等-06等,其光谱与光度分类属于K5Ⅲ型,呈橙色,表面温度3 500开尔文。距离地球68光年。——编者注,跟1972年的英国很像——只不过那儿的价格都是天文数字。剧中演员约翰·克里斯(John Cleese)说:“这里一杯普通的热巧克力售价400万镑,烧开水用的浸入式加热器售价60多亿镑,一条内裤的价格高到了没法形容的地步……一个像这样的电热水壶新 阅读全文

第五章 锚定效应:随着锚点上下浮动的价格(下)

2011-11-11 14:23 by iRead, 775 阅读, 0 推荐, 收藏, 编辑
摘要:联合国实验已成为锚定的经典例子。但问题在于,它到底是调整,还是(用现代的术语来说)启动。埃姆斯更喜欢认为它是实际调整。”特沃斯基的想法是这样的。你让人猜测非洲联合国成员国的百分比,他们会从一个锚点值(从幸运转盘上得来的数字)开始,向上或向下进行调整。他们会一直调整,直到进入一个模糊、宽泛的疑似值区间范围。此时,他们停了下来。休止值将位于疑似区间靠近锚点的一侧。不确定性越强,疑似区间的范围越大,锚定效应越明显。这就好像我请你去帮我买个汉堡包。你可能碰到第一家汉堡包店就停了下来,在那儿买回汉堡包带给我,而不会跑遍全城去买最好的汉堡包。按特沃斯基的理论,人们从锚点开始做调整,停下得太早了。他们不会梳 阅读全文

第五章 锚定效应:随着锚点上下浮动的价格(上)

2011-11-11 14:22 by iRead, 650 阅读, 0 推荐, 收藏, 编辑
摘要:你有过这样的经历吗?你刚买了一辆新车,突然之间你发现,高速公路上“所有人”都开着和你相同的一款车?你学到一个新名词(或者,听说了一种晦涩的海上哺乳动物、民族舞蹈),接着却一连几天都碰到它?你在新闻里听到它,你在电车里或电台里听到到它,你无聊时翻阅的过期《国家地理》杂志上正好有一篇讲它的文章……这就是启动(一些莫名其妙的巧合强化了它)。在你浏览报纸,半听半看着电视,或者在高速公路上开车的时候,你会忽略周围发生的大部分事情。只有少数几件事引起了你的注意。诡异的地方在于,选择把哪种刺激传递到意识中,是一个无意识的过程。先前接触过的某东西(启动),降低了它吸引到注意的门槛,于是该东西更容易得到关注。这 阅读全文

第四章 偏好逆转:为什么喜欢A却给它定价低(下)

2011-11-11 14:20 by iRead, 710 阅读, 0 推荐, 收藏, 编辑
摘要:受试者:如果我要给你……是的,这挺合理。利切坦斯泰因:那么,你先有了A赌。受试者:嗯。利切坦斯泰因:我有B赌,我还有你的550点。这是合理的,对吧?受试者:是的。利切坦斯泰因:我应该收下你的550点,对吗?(两人都说:“好的。”)利切坦斯泰因:那么,你有了A赌,你宁愿要B赌的,对吧?受试者:当然了,毫无疑问。利切坦斯泰因:好了,我跟你换B赌。这下……受试者:我亏钱了。利切坦斯泰因:我会从你那儿买B赌。我很慷慨;我会付给你400点以上。我会付你401点。你愿不愿意按401点把B赌卖给我?受试者:好的,当然行。利切坦斯泰因:当然。好了,你把B赌给我吧!受试者:嗯。利切坦斯泰因:我给你401点,你会 阅读全文

第四章 偏好逆转:为什么喜欢A却给它定价低(上)

2011-11-11 14:19 by iRead, 1261 阅读, 0 推荐, 收藏, 编辑
摘要:假设你有1/8的机会能赢到77美元。你愿意出多少钱打这个赌?最明显的办法是计算你每次出钱平均能赢多少。算出来是77美元的1/8,也就是美元。当然,这个数字你心算起来挺麻烦。心理学家们关心的是直觉判断,他们观察到,受试者分配给简单打赌的价格一般都太高。较之获胜的机率,人们似乎更注重奖金总额。这可以解释为什么彩票那么受人欢迎。一张彩票能带来,打个比方,几千万分之一的机会赢上5 800万美元。基本上,买家买的只是幻想中了大奖的权利。“几千万分之一”这个数,只存在于纸面上和买家的脑海里。想招徕生意的时候,彩票委员会提高奖金,但这并不会增加中奖机会。类似现象也适用于风险的规避。假如有1/12的机会损失6 阅读全文