﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-老赵点滴 - 追求编程之美-随笔分类-03. 语言编程</title><link>http://www.cnblogs.com/JeffreyZhao/category/72919.html</link><description>先做人，再做技术人员，最后做程序员。打造国内最好的.NET技术博客。</description><language>zh-cn</language><lastBuildDate>Mon, 22 Mar 2010 11:04:37 GMT</lastBuildDate><pubDate>Mon, 22 Mar 2010 11:04:37 GMT</pubDate><ttl>60</ttl><item><title>F#中的异步及并行模式（3 - 下）：代理的进一步使用</title><link>http://www.cnblogs.com/JeffreyZhao/archive/2010/03/21/async-and-parallel-design-patterns-in-fsharp-3-more-agents.html</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Sun, 21 Mar 2010 10:19:00 GMT</pubDate><guid>http://www.cnblogs.com/JeffreyZhao/archive/2010/03/21/async-and-parallel-design-patterns-in-fsharp-3-more-agents.html</guid><description><![CDATA[<p>阅读: 1562 评论: 17 作者: <a href="http://www.cnblogs.com/JeffreyZhao/" target="_blank">Jeffrey Zhao</a> 发表于 2010-03-21 18:19 <a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/21/async-and-parallel-design-patterns-in-fsharp-3-more-agents.html" target="_blank">原文链接</a></p>之前的文章中我们了解了F#中并行及交互式程序的编程方式。在本系列的第3部分中，我们会来探索F#中轻量级的，交互式的代理，以及与代理有关的一些模式，包括隔离的内部状态。（译注：由于原文内容较多，译文拆成两段进行。在上半段文章中讨论了代理的基本使用方式，而下半段则讨论关于代理使用中更进一步的模式。）<img src="http://www.cnblogs.com/JeffreyZhao/aggbug/1691083.html?type=1" width="1" height="1" alt=""/><p>评论: 17　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/21/async-and-parallel-design-patterns-in-fsharp-3-more-agents.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/21/async-and-parallel-design-patterns-in-fsharp-3-more-agents.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59390/" target="_blank">柳传志:联想已投资电子书项目&quot;E人E本&quot;</a><span style="color:gray">(2010-03-22 18:42)</span><br/>· <a href="http://news.cnblogs.com/n/59389/" target="_blank">百度李彦宏回应高管相继离职：未必会找继任者</a><span style="color:gray">(2010-03-22 18:09)</span><br/>· <a href="http://news.cnblogs.com/n/59386/" target="_blank">Firefox 3.6曝高危漏洞 Mozilla月底修复</a><span style="color:gray">(2010-03-22 17:40)</span><br/>· <a href="http://news.cnblogs.com/n/59385/" target="_blank">联想集团宣布任命David Roman为高级副总裁</a><span style="color:gray">(2010-03-22 17:31)</span><br/>· <a href="http://news.cnblogs.com/n/59384/" target="_blank">《纽约时报》：减少网上支付的焦虑</a><span style="color:gray">(2010-03-22 17:21)</span><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>F#中的异步及并行模式（3 - 上）：代理的基本使用</title><link>http://www.cnblogs.com/JeffreyZhao/archive/2010/03/15/async-and-parallel-design-patterns-in-fsharp-3-agents.html</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Sun, 14 Mar 2010 17:35:00 GMT</pubDate><guid>http://www.cnblogs.com/JeffreyZhao/archive/2010/03/15/async-and-parallel-design-patterns-in-fsharp-3-agents.html</guid><description><![CDATA[<p>阅读: 3061 评论: 17 作者: <a href="http://www.cnblogs.com/JeffreyZhao/" target="_blank">Jeffrey Zhao</a> 发表于 2010-03-15 01:35 <a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/15/async-and-parallel-design-patterns-in-fsharp-3-agents.html" target="_blank">原文链接</a></p>之前的文章中我们了解了F#中并行及交互式程序的编程方式。在本系列的第3部分中，我们会来探索F#中轻量级的，交互式的代理，以及与代理有关的一些模式，包括“隔离的内部状态”。（译注：由于原文较长，因此译文分为两段，目前是第一段，讲解了F#中异步代理的基本使用方式。）<img src="http://www.cnblogs.com/JeffreyZhao/aggbug/1685857.html?type=1" width="1" height="1" alt=""/><p>评论: 17　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/15/async-and-parallel-design-patterns-in-fsharp-3-agents.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/15/async-and-parallel-design-patterns-in-fsharp-3-agents.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59390/" target="_blank">柳传志:联想已投资电子书项目&quot;E人E本&quot;</a><span style="color:gray">(2010-03-22 18:42)</span><br/>· <a href="http://news.cnblogs.com/n/59389/" target="_blank">百度李彦宏回应高管相继离职：未必会找继任者</a><span style="color:gray">(2010-03-22 18:09)</span><br/>· <a href="http://news.cnblogs.com/n/59386/" target="_blank">Firefox 3.6曝高危漏洞 Mozilla月底修复</a><span style="color:gray">(2010-03-22 17:40)</span><br/>· <a href="http://news.cnblogs.com/n/59385/" target="_blank">联想集团宣布任命David Roman为高级副总裁</a><span style="color:gray">(2010-03-22 17:31)</span><br/>· <a href="http://news.cnblogs.com/n/59384/" target="_blank">《纽约时报》：减少网上支付的焦虑</a><span style="color:gray">(2010-03-22 17:21)</span><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>F#中的异步及并行模式（2）：反馈进度的事件（包含Twitter示例）</title><link>http://www.cnblogs.com/JeffreyZhao/archive/2010/03/08/async-and-parallel-design-patterns-in-fsharp-2-reporting-progress-with-events.html</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Sun, 07 Mar 2010 16:33:00 GMT</pubDate><guid>http://www.cnblogs.com/JeffreyZhao/archive/2010/03/08/async-and-parallel-design-patterns-in-fsharp-2-reporting-progress-with-events.html</guid><description><![CDATA[<p>阅读: 3905 评论: 15 作者: <a href="http://www.cnblogs.com/JeffreyZhao/" target="_blank">Jeffrey Zhao</a> 发表于 2010-03-08 00:33 <a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/08/async-and-parallel-design-patterns-in-fsharp-2-reporting-progress-with-events.html" target="_blank">原文链接</a></p>上一篇文章中谈到，“异步CPU并行”与“异步I/O并行”两个模式的限制之一便是无法通知组合操作的进度或结果。在这篇文章中，我们讲关注一个常见的异步模式：反馈进度的事件（Reporting Progress with Events），这是一种用于强大而优雅的做法，用于在某个边界之后对并行的执行过程加以封装，并同时汇报执行的结果或是进度。在文章最后，我们会使用这个设计模式开发一个示例，从Twitter中获取一系列记录。<img src="http://www.cnblogs.com/JeffreyZhao/aggbug/1680483.html?type=1" width="1" height="1" alt=""/><p>评论: 15　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/08/async-and-parallel-design-patterns-in-fsharp-2-reporting-progress-with-events.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/08/async-and-parallel-design-patterns-in-fsharp-2-reporting-progress-with-events.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59390/" target="_blank">柳传志:联想已投资电子书项目&quot;E人E本&quot;</a><span style="color:gray">(2010-03-22 18:42)</span><br/>· <a href="http://news.cnblogs.com/n/59389/" target="_blank">百度李彦宏回应高管相继离职：未必会找继任者</a><span style="color:gray">(2010-03-22 18:09)</span><br/>· <a href="http://news.cnblogs.com/n/59386/" target="_blank">Firefox 3.6曝高危漏洞 Mozilla月底修复</a><span style="color:gray">(2010-03-22 17:40)</span><br/>· <a href="http://news.cnblogs.com/n/59385/" target="_blank">联想集团宣布任命David Roman为高级副总裁</a><span style="color:gray">(2010-03-22 17:31)</span><br/>· <a href="http://news.cnblogs.com/n/59384/" target="_blank">《纽约时报》：减少网上支付的焦虑</a><span style="color:gray">(2010-03-22 17:21)</span><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>F#中的异步及并行模式（1）：并行CPU及I/O计算</title><link>http://www.cnblogs.com/JeffreyZhao/archive/2010/03/03/async-and-parallel-design-patterns-in-fsharp-1-parallelizing-cpu-and-io-computations.html</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Wed, 03 Mar 2010 15:37:00 GMT</pubDate><guid>http://www.cnblogs.com/JeffreyZhao/archive/2010/03/03/async-and-parallel-design-patterns-in-fsharp-1-parallelizing-cpu-and-io-computations.html</guid><description><![CDATA[<p>阅读: 4500 评论: 32 作者: <a href="http://www.cnblogs.com/JeffreyZhao/" target="_blank">Jeffrey Zhao</a> 发表于 2010-03-03 23:37 <a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/03/async-and-parallel-design-patterns-in-fsharp-1-parallelizing-cpu-and-io-computations.html" target="_blank">原文链接</a></p>F#是一门并行（parallel）及响应式（reactive）语言。这个说法意味着一个F#程序可以存在多个进行中的运算（如使用.NET线程进行F#计算），或是多个等待中的回应（如等待事件或消息的回调函数及代理对象）。 F#的异步表达式是简化异步及响应式程序编写的方式之一。在这篇及今后的文章中，我会探讨一些使用F#进行异步编程的基本方式──大致说来，它们都是F#异步编程时使用的模式。我们从两个简单的设计模式开始：CPU异步并行（Parallel CPU Asyncs）和I/O异步并行（Paralle I/O Asyncs）。<img src="http://www.cnblogs.com/JeffreyZhao/aggbug/1677690.html?type=1" width="1" height="1" alt=""/><p>评论: 32　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/03/async-and-parallel-design-patterns-in-fsharp-1-parallelizing-cpu-and-io-computations.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/03/03/async-and-parallel-design-patterns-in-fsharp-1-parallelizing-cpu-and-io-computations.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59390/" target="_blank">柳传志:联想已投资电子书项目&quot;E人E本&quot;</a><span style="color:gray">(2010-03-22 18:42)</span><br/>· <a href="http://news.cnblogs.com/n/59389/" target="_blank">百度李彦宏回应高管相继离职：未必会找继任者</a><span style="color:gray">(2010-03-22 18:09)</span><br/>· <a href="http://news.cnblogs.com/n/59386/" target="_blank">Firefox 3.6曝高危漏洞 Mozilla月底修复</a><span style="color:gray">(2010-03-22 17:40)</span><br/>· <a href="http://news.cnblogs.com/n/59385/" target="_blank">联想集团宣布任命David Roman为高级副总裁</a><span style="color:gray">(2010-03-22 17:31)</span><br/>· <a href="http://news.cnblogs.com/n/59384/" target="_blank">《纽约时报》：减少网上支付的焦虑</a><span style="color:gray">(2010-03-22 17:21)</span><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>为什么JVM上没有C#语言？浅谈Type Erasure特性</title><link>http://www.cnblogs.com/JeffreyZhao/archive/2010/02/22/why-not-csharp-on-jvm-type-erasure.html</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Mon, 22 Feb 2010 15:50:00 GMT</pubDate><guid>http://www.cnblogs.com/JeffreyZhao/archive/2010/02/22/why-not-csharp-on-jvm-type-erasure.html</guid><description><![CDATA[<p>阅读: 8044 评论: 106 作者: <a href="http://www.cnblogs.com/JeffreyZhao/" target="_blank">Jeffrey Zhao</a> 发表于 2010-02-22 23:50 <a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/02/22/why-not-csharp-on-jvm-type-erasure.html" target="_blank">原文链接</a></p>JVM上目前已经有许多语言了：JRuby，Jython，也有一些特定于JVM平台的语言，如Scala和Groovy等。但是，为什么JVM上没有C#语言呢？按理说，这门和Java十分相似，却又强大许多的语言更容易被Java程序员接受才对。有人说，Sun和微软是对头，怎么可能将C#移植到JVM平台上呢？嗯，有道理，但是为什么社区里也没有人这么做呢（要知道JVM上其他语言都是由社区发起的）？其实在我看来，这是受到了技术方面的限制。例如：Type Erasure。<img src="http://www.cnblogs.com/JeffreyZhao/aggbug/1671583.html?type=1" width="1" height="1" alt=""/><p>评论: 106　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/02/22/why-not-csharp-on-jvm-type-erasure.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/02/22/why-not-csharp-on-jvm-type-erasure.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59390/" target="_blank">柳传志:联想已投资电子书项目&quot;E人E本&quot;</a><span style="color:gray">(2010-03-22 18:42)</span><br/>· <a href="http://news.cnblogs.com/n/59389/" target="_blank">百度李彦宏回应高管相继离职：未必会找继任者</a><span style="color:gray">(2010-03-22 18:09)</span><br/>· <a href="http://news.cnblogs.com/n/59386/" target="_blank">Firefox 3.6曝高危漏洞 Mozilla月底修复</a><span style="color:gray">(2010-03-22 17:40)</span><br/>· <a href="http://news.cnblogs.com/n/59385/" target="_blank">联想集团宣布任命David Roman为高级副总裁</a><span style="color:gray">(2010-03-22 17:31)</span><br/>· <a href="http://news.cnblogs.com/n/59384/" target="_blank">《纽约时报》：减少网上支付的焦虑</a><span style="color:gray">(2010-03-22 17:21)</span><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>哥谈的是语言，不是寂寞</title><link>http://www.cnblogs.com/JeffreyZhao/archive/2010/02/20/programming-languages-platform.html</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Sat, 20 Feb 2010 13:48:00 GMT</pubDate><guid>http://www.cnblogs.com/JeffreyZhao/archive/2010/02/20/programming-languages-platform.html</guid><description><![CDATA[<p>阅读: 9647 评论: 76 作者: <a href="http://www.cnblogs.com/JeffreyZhao/" target="_blank">Jeffrey Zhao</a> 发表于 2010-02-20 21:48 <a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/02/20/programming-languages-platform.html" target="_blank">原文链接</a></p>经常看到一些文章在谈论语言，例如“哪个语言更有前途”，“语言选择是否关键”。我是个语言粉丝，但是看到这些文章总有一些奇怪的感觉。因为在我看来，这些文章谈的东西都不是我眼中的语言——可能与国内技术环境有关，语言本身被淡化了，例如，谈语言的时候涉及更多的却是“平台”方面的内容。那么我现在便来描述一下我眼中的“语言”该如何谈论吧——下次在我猛砍Java语言时也好有个参考。<img src="http://www.cnblogs.com/JeffreyZhao/aggbug/1669902.html?type=1" width="1" height="1" alt=""/><p>评论: 76　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/02/20/programming-languages-platform.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/02/20/programming-languages-platform.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59390/" target="_blank">柳传志:联想已投资电子书项目&quot;E人E本&quot;</a><span style="color:gray">(2010-03-22 18:42)</span><br/>· <a href="http://news.cnblogs.com/n/59389/" target="_blank">百度李彦宏回应高管相继离职：未必会找继任者</a><span style="color:gray">(2010-03-22 18:09)</span><br/>· <a href="http://news.cnblogs.com/n/59386/" target="_blank">Firefox 3.6曝高危漏洞 Mozilla月底修复</a><span style="color:gray">(2010-03-22 17:40)</span><br/>· <a href="http://news.cnblogs.com/n/59385/" target="_blank">联想集团宣布任命David Roman为高级副总裁</a><span style="color:gray">(2010-03-22 17:31)</span><br/>· <a href="http://news.cnblogs.com/n/59384/" target="_blank">《纽约时报》：减少网上支付的焦虑</a><span style="color:gray">(2010-03-22 17:21)</span><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>人肉反编译使用yield关键字的方法</title><link>http://www.cnblogs.com/JeffreyZhao/archive/2010/01/26/decompile-methods-with-yield-manually.html</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Mon, 25 Jan 2010 16:06:00 GMT</pubDate><guid>http://www.cnblogs.com/JeffreyZhao/archive/2010/01/26/decompile-methods-with-yield-manually.html</guid><description><![CDATA[<p>阅读: 6496 评论: 28 作者: <a href="http://www.cnblogs.com/JeffreyZhao/" target="_blank">Jeffrey Zhao</a> 发表于 2010-01-26 00:06 <a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/26/decompile-methods-with-yield-manually.html" target="_blank">原文链接</a></p>我认为这是一个真命题：“没有用.NET Reflector反编译并阅读过代码的程序员不是专业的.NET程序员”。.NET Reflector强大的地方就在于可以把IL代码反编译成可读性颇高的高级语言代码，并且能够支持相当多的“模式”，根据这些模式它可以在一定程度上把某些语法糖给还原，甚至可以支持简单的Lambda表达式和LINQ。只可惜，.NET Reflector还是无法做到极致，某些情况下生成的代码还是无法还原到易于理解——yield关键字便是这样一个典型的情况。不过还行，对于不复杂的逻辑，我们可以通过人肉来“整理”个大概。<img src="http://www.cnblogs.com/JeffreyZhao/aggbug/1655520.html?type=1" width="1" height="1" alt=""/><p>评论: 28　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/26/decompile-methods-with-yield-manually.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/26/decompile-methods-with-yield-manually.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59390/" target="_blank">柳传志:联想已投资电子书项目&quot;E人E本&quot;</a><span style="color:gray">(2010-03-22 18:42)</span><br/>· <a href="http://news.cnblogs.com/n/59389/" target="_blank">百度李彦宏回应高管相继离职：未必会找继任者</a><span style="color:gray">(2010-03-22 18:09)</span><br/>· <a href="http://news.cnblogs.com/n/59386/" target="_blank">Firefox 3.6曝高危漏洞 Mozilla月底修复</a><span style="color:gray">(2010-03-22 17:40)</span><br/>· <a href="http://news.cnblogs.com/n/59385/" target="_blank">联想集团宣布任命David Roman为高级副总裁</a><span style="color:gray">(2010-03-22 17:31)</span><br/>· <a href="http://news.cnblogs.com/n/59384/" target="_blank">《纽约时报》：减少网上支付的焦虑</a><span style="color:gray">(2010-03-22 17:21)</span><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>按月统计博客园单个用户的发文数量</title><link>http://www.cnblogs.com/JeffreyZhao/archive/2010/01/11/fsharp-per-user-posts-by-month-statistics.html</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Sun, 10 Jan 2010 16:07:00 GMT</pubDate><guid>http://www.cnblogs.com/JeffreyZhao/archive/2010/01/11/fsharp-per-user-posts-by-month-statistics.html</guid><description><![CDATA[<p>阅读: 5597 评论: 24 作者: <a href="http://www.cnblogs.com/JeffreyZhao/" target="_blank">Jeffrey Zhao</a> 发表于 2010-01-11 00:07 <a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/11/fsharp-per-user-posts-by-month-statistics.html" target="_blank">原文链接</a></p>这几天在家闲着，便试着写一些小程序。之前有朋友问到“F#能不能写Web”，于是我也就打算这么一试。虽然我能肯定，用F#写Web应用程序不会是问题，不过倒真还没有做过这方面的尝试。我想，如果用F#写Web应用程序，那么它很重要的一点，应该是利用其在异步编程方面的强大特性。最后我决定，使用F#编写一个按月统计博客园单个用户发文数量的简单服务。尝试的结果是——还有些问题没有解决。不管怎么样，我先把其主体逻辑描述一下吧。<img src="http://www.cnblogs.com/JeffreyZhao/aggbug/1643695.html?type=1" width="1" height="1" alt=""/><p>评论: 24　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/11/fsharp-per-user-posts-by-month-statistics.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/11/fsharp-per-user-posts-by-month-statistics.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59390/" target="_blank">柳传志:联想已投资电子书项目&quot;E人E本&quot;</a><span style="color:gray">(2010-03-22 18:42)</span><br/>· <a href="http://news.cnblogs.com/n/59389/" target="_blank">百度李彦宏回应高管相继离职：未必会找继任者</a><span style="color:gray">(2010-03-22 18:09)</span><br/>· <a href="http://news.cnblogs.com/n/59386/" target="_blank">Firefox 3.6曝高危漏洞 Mozilla月底修复</a><span style="color:gray">(2010-03-22 17:40)</span><br/>· <a href="http://news.cnblogs.com/n/59385/" target="_blank">联想集团宣布任命David Roman为高级副总裁</a><span style="color:gray">(2010-03-22 17:31)</span><br/>· <a href="http://news.cnblogs.com/n/59384/" target="_blank">《纽约时报》：减少网上支付的焦虑</a><span style="color:gray">(2010-03-22 17:21)</span><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>浅谈代码的执行效率（2）：编译器的威力</title><link>http://www.cnblogs.com/JeffreyZhao/archive/2010/01/08/talk-about-code-performance-2-compiler.html</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Thu, 07 Jan 2010 16:06:00 GMT</pubDate><guid>http://www.cnblogs.com/JeffreyZhao/archive/2010/01/08/talk-about-code-performance-2-compiler.html</guid><description><![CDATA[<p>阅读: 6598 评论: 34 作者: <a href="http://www.cnblogs.com/JeffreyZhao/" target="_blank">Jeffrey Zhao</a> 发表于 2010-01-08 00:06 <a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/08/talk-about-code-performance-2-compiler.html" target="_blank">原文链接</a></p>在上一篇文章中，我主要表达了这样一个观点：影响程序效率的关键之一是算法，而算法的选择与优化，和是否多一个赋值少一个判断的关系不大。关于算法的选择，我谈到其理论上的复杂度，并不直接反映出效率。因为在实际运用时，数据的规模，形式等等都会涉及到算法的实际效用。一个时间复杂度低的算法并不代表任何情况下的效率都高。这是“实际”和“理论”的区别之一。现在我打算来谈一下另一个比较“实际”的东西：编译器对于程序效率的影响。<img src="http://www.cnblogs.com/JeffreyZhao/aggbug/1641811.html?type=1" width="1" height="1" alt=""/><p>评论: 34　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/08/talk-about-code-performance-2-compiler.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/08/talk-about-code-performance-2-compiler.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59390/" target="_blank">柳传志:联想已投资电子书项目&quot;E人E本&quot;</a><span style="color:gray">(2010-03-22 18:42)</span><br/>· <a href="http://news.cnblogs.com/n/59389/" target="_blank">百度李彦宏回应高管相继离职：未必会找继任者</a><span style="color:gray">(2010-03-22 18:09)</span><br/>· <a href="http://news.cnblogs.com/n/59386/" target="_blank">Firefox 3.6曝高危漏洞 Mozilla月底修复</a><span style="color:gray">(2010-03-22 17:40)</span><br/>· <a href="http://news.cnblogs.com/n/59385/" target="_blank">联想集团宣布任命David Roman为高级副总裁</a><span style="color:gray">(2010-03-22 17:31)</span><br/>· <a href="http://news.cnblogs.com/n/59384/" target="_blank">《纽约时报》：减少网上支付的焦虑</a><span style="color:gray">(2010-03-22 17:21)</span><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item><item><title>浅谈代码的执行效率（1）：算法是关键</title><link>http://www.cnblogs.com/JeffreyZhao/archive/2010/01/07/short-code-is-not-always-fast-1-algorithms.html</link><dc:creator>Jeffrey Zhao</dc:creator><author>Jeffrey Zhao</author><pubDate>Thu, 07 Jan 2010 09:14:00 GMT</pubDate><guid>http://www.cnblogs.com/JeffreyZhao/archive/2010/01/07/short-code-is-not-always-fast-1-algorithms.html</guid><description><![CDATA[<p>阅读: 7450 评论: 56 作者: <a href="http://www.cnblogs.com/JeffreyZhao/" target="_blank">Jeffrey Zhao</a> 发表于 2010-01-07 17:14 <a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/07/short-code-is-not-always-fast-1-algorithms.html" target="_blank">原文链接</a></p>前一段时间在博客园里看到这样一篇文章，那位兄弟谈到程序效率的关键是“简短”。他说，“程序越简短，其可执行代码就越少，就越有效率”，而在编写程序的时候，“要尽量改进我们的算法，而改进算法中最重要的一条，就是减少语句”。这句话从表面上似乎正确，但我认为性能这问题不能用“简短”这种方式去思考，否则会进入一些误区。我整理了一下思路，希望可以从几个方面把详细谈一下这个问题。首先我想说的是：“简短”不是关键，“算法”更加重要。<img src="http://www.cnblogs.com/JeffreyZhao/aggbug/1641339.html?type=1" width="1" height="1" alt=""/><p>评论: 56　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/07/short-code-is-not-always-fast-1-algorithms.html#pagedcomment" target="_blank">查看评论</a>　<a href="http://www.cnblogs.com/JeffreyZhao/archive/2010/01/07/short-code-is-not-always-fast-1-algorithms.html#commentform" target="_blank">发表评论</a></p><p><a href="http://job.cnblogs.com/" target="_blank">找优秀程序员，就在博客园</a></p><hr/><p>最新新闻：<br/>· <a href="http://news.cnblogs.com/n/59390/" target="_blank">柳传志:联想已投资电子书项目&quot;E人E本&quot;</a><span style="color:gray">(2010-03-22 18:42)</span><br/>· <a href="http://news.cnblogs.com/n/59389/" target="_blank">百度李彦宏回应高管相继离职：未必会找继任者</a><span style="color:gray">(2010-03-22 18:09)</span><br/>· <a href="http://news.cnblogs.com/n/59386/" target="_blank">Firefox 3.6曝高危漏洞 Mozilla月底修复</a><span style="color:gray">(2010-03-22 17:40)</span><br/>· <a href="http://news.cnblogs.com/n/59385/" target="_blank">联想集团宣布任命David Roman为高级副总裁</a><span style="color:gray">(2010-03-22 17:31)</span><br/>· <a href="http://news.cnblogs.com/n/59384/" target="_blank">《纽约时报》：减少网上支付的焦虑</a><span style="color:gray">(2010-03-22 17:21)</span><br/></p><p>网站导航：<a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/" target="_blank">个人主页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://home.cnblogs.com/group/" target="_blank">小组</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://kb.cnblogs.com" target="_blank">知识库</a></p>]]></description></item></channel></rss>