代码改变世界

随笔分类 - 03. 语言编程

写程序时该追求什么,什么是次要的?

2009-05-29 15:14 by Jeffrey Zhao, 24997 阅读, 收藏, 编辑
摘要:就我看来,一段程序,最该关注的是“逻辑表现”,不该追求的是“性能”。当然,肯定也会有需要追求性能的场景,不过这并不是“追求”出来的,而是在大量经验累计情况下做出的正确决策。就算在那种情况下,“逻辑表现”还是非常重要的。 阅读全文

一道简单的编程题,不过您做对了吗?

2009-05-27 19:45 by Jeffrey Zhao, 26504 阅读, 收藏, 编辑
摘要:CSDN学生中心是个好地方,如果善于利用,应该能够对大众产生正面影响。老赵也去那里安了家,并给出了一个编程问题。题目如下:Reverse方法的作用是将array数组中,从begin下标到end下标之间的元素反序一下,如一个数组初始值是[1, 2, 3, 4, 5, 6],begin为1,end为4,那么当调用了Reverse之后,array数组中的元素便依次成为[1, 5, 4, 3, 2, 6],其中从array[1]到array[4]之前的元素被反序了。此外补充一点……其实本不用补充:这个方法需要对传入参数的正确性进行校验,如果用户调用该方法时传入了非法的参数,那么则需要抛出异常,并写清原因。简单,不是吗?只可惜截止到目前,也只有1人给出了正确答案。 阅读全文

ActorLite:一个轻量级Actor模型实现(下)

2009-05-16 17:52 by Jeffrey Zhao, 26011 阅读, 收藏, 编辑
摘要:在上一篇文章中,我们实现了一个简单的Actor模型。如果要构建一个Actor,便只是简单地继承Actor类型并实现其Receive方法即可。在上次文章的末尾,我们使用C#演示了该Actor模型的使用。不过现在我们将尝试一下F#。 阅读全文

ActorLite:一个轻量级Actor模型实现(中)

2009-05-14 09:29 by Jeffrey Zhao, 29470 阅读, 收藏, 编辑
摘要:从上一篇文章的反响来看,似乎大家对于这一话题并没有太大兴趣。而这篇文章将会为大家带来一个简单但完整的Actor模型实现。此外,在下一篇文章中……可能会出现一些让您觉得有趣的东西。:) 阅读全文

ActorLite:一个轻量级Actor模型实现(上)

2009-05-11 20:10 by Jeffrey Zhao, 36234 阅读, 收藏, 编辑
摘要:Actor模型为并行而生,具Wikipedia中的描述,它原本是为大量独立的微型处理器所构建的高性能网络而设计的模型。而目前,单台机器也有了多个独立的计算单元,这就是为什么在并行程序愈演愈烈的今天,Actor模型又重新回到了人们的视线之中了。在这篇文章中,我们会先对Actor Model的相关知识进行简单的介绍。 阅读全文

语言真是不重要的吗?谈语言的*层次*与技术的三六九等

2009-05-03 17:24 by Jeffrey Zhao, 28037 阅读, 收藏, 编辑
摘要:关注——或“专注”于多语言编程之后,老赵对于语言的关注也越来越多,对于语言在编程中所带来的“美感”也有了越来越深的体会,还在博客的标题中加上“追求编程之美”。关注语言多了,关注纯粹的编程实践多了,自会有所比较,然后写出了引人注目的《为啥老赵不喜欢Java*语言*》。这篇文章所得到的负面评论的确也和想象中差不多,大部分朋友的观点是“语言不是关键”或类似说法,似乎对语言的讨论和比较非常没有必要。有个朋友说的更是直接:“在看到这些文章之前,我还是比较敬重老赵的,不过现在发现你也就这点高度”。老赵认为,这是对这方面的误解,而有这种误解无论是对于社区还是个人的发展都是没有益处的,因此单独开篇,讨论一下这个问题。 阅读全文

事理越辩越明,那么就来详细说说为什么我不喜欢Java*语言*

2009-04-19 02:56 by Jeffrey Zhao, 38442 阅读, 收藏, 编辑
摘要:最近我对Java语言唱衰似乎凶狠了一点,让有些朋友不是很爽,认为我不负责任凭个人感觉乱说话,影响不好。这讨论事情事小,否认我做事方式就不好了。因此我这里也继续整理一下我对Java语言的观点,这样大家不必四处查看我的说辞,再者也可以控制一下讨论事情的方式,以免大家舞蹈半天尘土飞扬最后停下一看——得,双方在自说自话,这怎能辩明事理,您说呢? 阅读全文

高阶函数、委托与匿名方法

2009-04-18 12:25 by Jeffrey Zhao, 30148 阅读, 收藏, 编辑
摘要:这是几个月前就写的文章,只是一直忙于QCon的各项事宜,最近才发表出来。这篇是对.NET中委托,匿名方法和高阶函数使用的一个介绍,非常简单,目的是强调一下C#中对于高阶函数的使用,体现一下现在C#的高度生产力。 阅读全文

浅谈尾递归的优化方式

2009-04-01 01:00 by Jeffrey Zhao, 55625 阅读, 收藏, 编辑
摘要:在上文《尾递归与Continuation》里,我们谈到了尾递归的概念和示例,不过有些朋友对于尾递归的功效依然有所怀疑。因此现在,老赵再简单讲解一下尾递归的优化原理,希望能给大家以一定理性认识。 阅读全文

尾递归与Continuation

2009-03-26 22:24 by Jeffrey Zhao, 53490 阅读, 收藏, 编辑
摘要:这几天恰好和朋友谈起了递归,忽然发现不少朋友对于“尾递归”的概念比较模糊,网上搜索一番也没有发现讲解地完整详细的资料,于是写了这么一篇文章,权当一次互联网资料的补充。 阅读全文

使用IronPython检测ASP.NET程序状况(下)

2009-03-25 09:03 by Jeffrey Zhao, 27747 阅读, 收藏, 编辑
摘要:在上一篇文章中,我们在一个请求中执行了IronPython代码,通过这个方法我们可以轻松地的检查系统运行的状态,或对系统进行一些简单修改。但是这种做法只能检查系统在当前时刻的状态,在很多情况下,我们需要对系统的请求进行一段时间的采样。对于简单的数据(例如每秒执行的请求数量,请求时间),我们可以通过查看Performance Monitor中相关的计数器来获得一些概要的数据。但是,如果我们需要获取一些系统的详细状态,甚至是需要根据需要进行动态改变的自定义需求,则势必要深入到系统内部进行数据采集。那么,我们该怎么做呢? 阅读全文

使用IronPython检测ASP.NET程序状况(上)

2009-03-23 09:09 by Jeffrey Zhao, 15507 阅读, 收藏, 编辑
摘要:在维护一些生产环境中的ASP.NET应用程序时,老赵经常会感到“力不从心”。虽然我们可以建立丰富有效的监控或日志等维护机制,但是调试和分析一次程序经常需要耗费大量的脑细胞。因为我们可以使用的工具大都非常抽象,即使是一个非常微小的问题,也要用较多的时间才能发现“哦,原来是这个变量的值进入了一种奇怪的状态”。如果我们有一种机制,可以直观地检查生产环境中正在运行的程序的状态,那么一定可以大大方便我们的工作。 阅读全文

警惕匿名方法造成的变量共享

2009-03-13 09:03 by Jeffrey Zhao, 31581 阅读, 收藏, 编辑
摘要:匿名方法是强大的,但是也会造成一些令人难以察觉的陷阱。 阅读全文

从CSDN的趣味题学C# 3.0

2009-02-01 10:43 by Jeffrey Zhao, 13062 阅读, 收藏, 编辑
摘要:引文参见:从CSDN的趣味题学Python。引文用了Python来解这种趣味题,很有意思,Python也很适合。不过我看了看似乎这篇文章没有真正理解如今的C#可以怎么用,老赵一时兴起,也来设法做了一下。 阅读全文

一个利用扩展方法的实例:AttachDataExtensions

2009-01-07 14:05 by Jeffrey Zhao, 19336 阅读, 收藏, 编辑
摘要:扩展方法是C# 3.0(老赵对VB不熟)中最简单,也是最常用的语言特性之一。这是老赵自以为的一个简单却不失经典的实例。 阅读全文

您善于使用匿名函数吗?

2008-04-04 00:10 by Jeffrey Zhao, 29817 阅读, 收藏, 编辑
摘要:合理使用匿名方法能够大大简化开发,提高代码质量。您善于使用匿名方法吗? 阅读全文

Suggest Reading: An Introduction to Reflection-Oriented Programming

2007-04-12 19:42 by Jeffrey Zhao, 2376 阅读, 收藏, 编辑
摘要:http://www.cs.indiana.edu/~jsobel/rop.html 阅读全文

图灵奖40年来首次授予女性

2007-02-24 19:50 by Jeffrey Zhao, 2789 阅读, 收藏, 编辑
摘要:本年度的图灵奖(Turing Award)授予了75岁的Frances E. Allen,以对其在编译器优化理论和实践方面做出的开创性贡献予以充分肯定。Allen是该奖项创立40年来的第一位女性得主。她在密歇根大学获得数学硕士学位后,于1957年加盟了IBM公司。她之前的工作还包括为美国国家安全局编写智能分析软件,以及为IBM的蓝色基因(Blue Gene)超级计算机设计软件等。2002年退休后,... 阅读全文

The Problem with Programming(翻译)

2006-12-11 19:21 by Jeffrey Zhao, 3762 阅读, 收藏, 编辑
摘要:这是一次访谈。访谈的对象是大名鼎鼎的Bjarne Stroustrup,“C++之父”的称号注定他永远是大师。这次他在接受了Technology Review的采访,对于软件开发的目前状况谈了他的看法,指出了不少问题。那么这些问题是否真的如他所述?按照我个人的习惯,我始终把对于大师的“尊敬”和对于其言论的“吸收”相分离,我们不妨围绕着这次Bjarne Stroustrup的谈话内容,展开我们的讨论吧。 阅读全文

F# Resources

2006-11-24 17:36 by Jeffrey Zhao, 1523 阅读, 收藏, 编辑
摘要:The F# WebsiteF# Library DocumentationThe Hub - "The place for F# on the Web"Dominic Cooney's weblogBenvenuti in F#!Jack's F# DirectX TutorialThe F# Wiki on strangelightsF# News from Jon Harrop 阅读全文