随笔分类 -  个人总结

【转】C 编译器优化过程中的 Bug
摘要:一个朋友向我指出一个最近他们发现的 GCC 编译器优化过程(加上 -O3 选项)里的 bug,导致他们的产品出现非常诡异的行为。这使我想起以前见过的一个 GCC bug。当时很多人死活认为那种做法是正确的,跟他们说不清楚。简言之,这种有问题的优化,喜欢利用 C 语言的“未定义行为”(undefine 阅读全文

posted @ 2018-03-03 14:47 AlanTu 阅读(1019) 评论(0) 推荐(0)

【转】AlphaGo与人工智能
摘要:AlphaGo与人工智能 在之前的一篇文章中我指出,自动驾驶所需要的“视觉识别能力”和“常识判断能力”,对于机器来说是非常困难的问题。至今没有任何机器可以在视觉方面达到驴的水平,更不要说和人比。可是最近Google的AlphaGo战胜了围棋世界冠军,挺闹腾的,以至于对AI的误解又加深了。 本来玩个游 阅读全文

posted @ 2018-03-03 14:21 AlanTu 阅读(435) 评论(0) 推荐(0)

【转】给Java说句公道话
摘要:有些人问我,在现有的语言里面,有什么好的推荐?我说:“Java。” 他们很惊讶:“什么?Java!” 所以我现在来解释一下。 Java超越了所有咒骂它的“动态语言” 也许是因为年轻人的逆反心理,人们都不把自己的入门语言当回事。很早的时候,计算机系的学生用Scheme或者Pascal入门,现在大部分学 阅读全文

posted @ 2018-03-03 14:20 AlanTu 阅读(174) 评论(0) 推荐(0)

【转】图灵的光环
摘要:图灵的光环 仿佛全世界的人都知道,图灵(Alan Turing)是个天才,是他创造了计算机科学,是他破解了德国纳粹的Enigma密码。由于他的杰出贡献,计算机科学的最高荣誉,被叫做“图灵奖”。然而根据自己一直以来对图灵机等计算模型的看法,加上一些历史资料,我发现图灵本人的实际成就,相对于他所受到的崇 阅读全文

posted @ 2018-03-03 14:15 AlanTu 阅读(429) 评论(0) 推荐(0)

【转】对 Parser 的误解
摘要:一直很了解人们对于parser的误解,可是一直都提不起兴趣来阐述对它的观点。然而我觉得是有必要解释一下这个问题的时候了。我感觉得到大部分人对于parser的误解之深,再不澄清一下,恐怕这些谬误就要写进歪曲的历史教科书,到时候就没有人知道真相了。 什么是 Parser 首先来科普一下。所谓parser 阅读全文

posted @ 2018-03-03 14:14 AlanTu 阅读(589) 评论(0) 推荐(0)

【转】数学和编程
摘要:好些人来信问我,要成为一个好的程序员,数学基础要达到什么样的程度?十八年前,当我成为大学计算机系新生的时候,也为同样的问题所困扰。面对学数学,物理等学科的同学,我感到自卑。经常有人说那些专业的知识更加精华一些,难度更高一些,那些专业的人毕业之后如果做编程工作,水平其实比计算机系毕业的还要高。直到几年 阅读全文

posted @ 2018-03-03 14:11 AlanTu 阅读(198) 评论(0) 推荐(0)

【转】DRY原则的误区
摘要:很多编程的人,喜欢鼓吹各种各样的“原则”,比如KISS原则,DRY原则…… 总有人把这些所谓原则奉为教条或者秘方,以为兢兢业业地遵循这些,空喊几个口号,就可以写出好的代码。同时,他们对违反这些原则的人嗤之以鼻——你不知道,不遵循或者藐视这些原则,那么你就是菜鸟。所谓“DRY原则”(Don’t Rep 阅读全文

posted @ 2018-03-03 14:06 AlanTu 阅读(154) 评论(0) 推荐(0)

【转】编程的宗派
摘要:总是有人喜欢争论这类问题,到底是“函数式编程”(FP)好,还是“面向对象编程”(OOP)好。既然出了两个帮派,就有人积极地做它们的帮众,互相唾骂和鄙视。然后呢又出了一个“好好先生帮”,这个帮的人喜欢说,管它什么范式呢,能解决问题的工具就是好工具!我个人其实不属于这三帮人中的任何一个。 面向对象编程( 阅读全文

posted @ 2018-03-03 14:03 AlanTu 阅读(155) 评论(0) 推荐(0)

【转】谈语法
摘要:谈语法 使用和研究过这么多程序语言之后,我觉得几乎不包含多余功能的语言,只有一个:Scheme。所以我觉得它是学习程序设计最好的入手点和进阶工具。当然 Scheme 也有少数的问题,而且缺少一些我想要的功能,但这些都瑕不掩瑜。在用了很多其它的语言之后,我觉得 Scheme 真的是非常优美的语言。 要 阅读全文

posted @ 2018-03-03 12:18 AlanTu 阅读(239) 评论(0) 推荐(0)

【转】Braid - 一个发人深思的游戏
摘要:Braid - 一个发人深思的游戏 我已经很久很久没有打游戏了(如果不算 Angry Birds 之类用来打发时间的游戏的话)。我的最后一个真正意义上的游戏机,是 PlayStation 1。在那上面,我真正欣赏的最后一个游戏,是 [Metal Gear Solid (1)]。 我曾经是一个游戏迷, 阅读全文

posted @ 2018-03-03 12:17 AlanTu 阅读(477) 评论(0) 推荐(0)

【转】TeXmacs:一个真正“所见即所得”的排版系统
摘要:TeXmacs:一个真正“所见即所得”的排版系统 好久没有推荐过自己喜欢的软件了,现在推荐一款我在美国做数学作业的私家法宝:TeXmacs。我恐怕不可能跟以前那么有闲心写个长篇的 TeXmacs 说明文档了,不过这东西如此的简单好用,所以基本上不用我写什么文档了。鉴于知道的人很少,不理解它的人很多, 阅读全文

posted @ 2018-03-03 12:15 AlanTu 阅读(2216) 评论(0) 推荐(0)

【转】怎样写一个解释器
摘要:写一个解释器,通常是设计和实现程序语言的第一步。解释器是简单却又深奥的东西,以至于好多人都不会写,所以我决定写一篇这方面的入门读物。 虽然我试图从最基本的原理讲起,尽量不依赖于其它知识,但这并不是一本编程入门教材。我假设你已经理解 Scheme 语言,以及基本的编程技巧(比如递归)。如果你完全不了解 阅读全文

posted @ 2018-03-03 12:12 AlanTu 阅读(311) 评论(0) 推荐(0)

【转】什么是语义学
摘要:什么是语义学 很多人问我如何在掌握基本的程序语言技能之后进入“语义学”的学习。现在我就简单介绍一下什么是“语义”,然后推荐一本入门的书。这里我说的“语义”主要是针对程序语言,不过自然语言里的语义,其实本质上也是一样的。 一个程序的“语义”通常是由另一个程序决定的,这另一个程序叫做“解释器”(inte 阅读全文

posted @ 2018-03-03 12:11 AlanTu 阅读(672) 评论(0) 推荐(0)

【转】设计的重要性
摘要:我曾经在一篇文章里谈过关于设计的问题,然而那篇文章由于标题不够醒目,可能很多人没有注意看。我觉得现在有必要把里面的内容专门提出来讲一下,因为设计在我的心目中具有至关重要的地位,却被很多计算机科学家和程序员所轻视。 我觉得自己不但是一个计算机科学家和程序员,在很大程度上我还是一个设计师。我不但是一个程 阅读全文

posted @ 2018-03-03 12:10 AlanTu 阅读(531) 评论(0) 推荐(0)

【转】什么是“对用户友好”
摘要:什么是“对用户友好” 当我提到一个工具“对用户不友好”(user-unfriendly)的时候,我总是被人“鄙视”。难道这就叫“以其人之道还治其人之身”?想当年有人对我抱怨 Linux 或者 TeX 对用户不友好的时候,我貌似也差不多的态度吧。现在当我指出 TeX 的各种缺点,提出新的解决方案的时候 阅读全文

posted @ 2018-03-03 12:10 AlanTu 阅读(240) 评论(0) 推荐(0)

【转】怎样尊重一个程序员
摘要:得知一位久违的同学来到了旧金山湾区,然而我见到他时,这人正处于一生中最痛苦的时期。他告诉我,自己任职的公司在他加入之前和之后,判若两人。录取的时候公司对他说,我们对你在实习期间的表现和学术背景非常满意,你不用面试,甚至不用毕业拿学位,直接就可以加入我们公司成为正式员工。然而短短一年后的今天,这位同学 阅读全文

posted @ 2018-03-03 12:08 AlanTu 阅读(221) 评论(0) 推荐(0)

【转】所谓“人为错误”
摘要:昨天是一个让人悲哀的日子。旧金山湾区主要的上下班交通工具Caltrain,在24小时之内发生三次事故,撞死三人。其中一次事故发生在Menlo Park,一辆汽车被困在铁轨上,因为被前后的车辆堵塞而无法逃避,终于被飞驰而来的列车撞成一堆废铁。开车人被消防队员从残骸里切割出来,送往医院后不久死亡。(新闻 阅读全文

posted @ 2018-03-03 12:05 AlanTu 阅读(295) 评论(0) 推荐(0)

【转】其他人的BUG
摘要:在软件行业,经常看到有的公司管理让一个人修补另一个人代码里的BUG。有时候有人写了一段代码,扔出来不管了,然后公司管理让其他工程师来修复它。我想告诉你们,这种方法会很失败。 首先,让一个人修复另一个人的BUG,是不尊重工程师个人技术的表现。久而久之会降低工程师的工作积极性,以至于失去有价值的员工。代 阅读全文

posted @ 2018-03-03 12:00 AlanTu 阅读(207) 评论(1) 推荐(1)

【转】牛校综合征
摘要:我在牛校待过(清华,Cornell),也在非牛校待过(川大,Indiana)。我见过许多的牛校与非牛校学生,我感觉牛校的学生确实不一样,他们的脑子貌似有一种病。经过很长一段时间,我终于总结出了这病的基本特征,这些症状被我统称为“牛校综合症”。牛校综合症萌芽于进牛校之前的“奋斗”过程,在牛校的人群中互 阅读全文

posted @ 2018-03-03 11:56 AlanTu 阅读(198) 评论(0) 推荐(0)

【转】关系模型的实质
摘要:每当我批评关系式数据库,就会有人说,SQL和关系式数据库的设计,其实偏离了E.F.Codd最初的关系式理论。关系式理论和关系式模型,本身还是很好的,只不过被人实现的时候搞砸了。如果你看透了本质,就会发现这只是一个托词。关系式数据库的问题是根源性的,这个问题其实源自关系式理论本身,而不只是具体的实现。 阅读全文

posted @ 2018-03-03 11:45 AlanTu 阅读(491) 评论(0) 推荐(0)

导航