摘要: KISS理论不是一个感情方面的娱乐节目,而是编程领域里面很重要的设计思想。电脑编程与其它方面的科学相比,总差了一些严谨性或者理论不是那么完善,很多理论都是基于猜想说话,而没有数据支持。不过KISS这个理论我是认同的,从某种程度上讲,KISS很像是奥卡姆剃刀原理,越简单越正确。 KISS是什么意思?这个就众说纷纭,也可见电脑编程之不科学。有人说是Keep it simple, Stupid!翻译过来就是,“简单点,傻瓜!”很有一些Nerd傲视群雄的气派,但是我喜欢翻译成“要简单,要尽量傻!”(也就是stupid翻译为形容词),理由后面会解释。在维基百科上http://en.wikipedia.o 阅读全文
posted @ 2010-12-09 22:45 林志玲 阅读(1264) 评论(1) 推荐(0) 编辑
摘要: http://sunxiunan.com/?p=1640我们将代码稍作修改,让一些宏定义变成函数更容易理解一些:为了不和标准库的strcpy名字冲突,我将其改为strcpy2.如果你把上面的程序编译运行一下就会发现,快的原因在于strcpy2这个函数最后一部分while循环里面的这几行:对C语言指针了解的朋友都知道,第一行是把l这个unsigned long类型变量值赋值给s1为地址的一个unsigned long型指针指向的内容。在我的i386cpu PC机上,第二第三行分别是将s2以及s1指针增加了4(而不是通常函数实现里面的++)。这也就实现了每次拷贝4个char(也就是一个unsign 阅读全文
posted @ 2010-12-09 20:36 林志玲 阅读(924) 评论(1) 推荐(0) 编辑
摘要: http://sunxiunan.com/?p=1749这篇文字主要来自我在TopLanguage讨论组里面的发言,仅作总结留记。首先要介绍一下原文作者Walter Bright,从他主页可见他是一个很牛的程序员,主要工作领域是写编译器。这个背景很重要,这是原文第二条的主要基础。但是也要注意到,一百个程序员里面也许都没有一个知道如何编写编译器,知道如何读写汇编的程序员比例也许会高一些,但不会很高,估计也就是百分之几的样子,比如我只会读一些简单的汇编代码,但是不会写。这篇文章认为Profiling和看汇编语言如何被运行的是两个基本技术,我在讨论中也没有提到写汇编,因为会读的人要比会写的多出不少。 阅读全文
posted @ 2010-12-09 20:01 林志玲 阅读(354) 评论(0) 推荐(0) 编辑
摘要: 龙猫公交车 http://home.cnblogs.com/233971/ 在我前一篇《c语言指针与数组》http://www.cnblogs.com/lua5/archive/2010/12代码首先说这段代码的问题,为何clear_string不生效,龙猫的理解其实是不对的。对于main函数中的string变量以及clear_string中的str,它们指向同一个地址,由于所指定的类型也是一样的,基本可以认为它们就是一回事,只是要时刻牢记我们调用clear_string(string);,实际上是把string第一个元素起始地址作为参数传入。要记住一个原则:C语言中,任何函数想修改传入的值, 阅读全文
posted @ 2010-12-09 14:33 林志玲 阅读(586) 评论(0) 推荐(0) 编辑