Wushuang’blog


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

论对东西的崇拜

发表于 2016-03-15   |  

论对东西的崇拜

在之前的几篇博文里面,我多次提到了 Lisp,它相对于其它语言的优势,以及 Lisp Machine 相对于 Unix 的优点。于是有人来信请教我如何学习 Lisp,也有人问我为什么 Lisp Machine 没有“流行”起来。我感觉到了他们言语中对 Lisp 的敬畏和好奇心,但也感觉到了一些隐含的怀疑。

阅读全文 »

解密“设计模式”

发表于 2016-03-15   |   分类于 设计模式   |  

解密“设计模式”

有些人问我,你说学习操作系统的最好办法是学习程序设计。那我们是不是应该学习一些“设计模式”(design patterns)。这是一个我很早就有定论,而且经过实践检验的问题,所以想在这里做一个总结。

总的来说,如果光从字面上讲,程序里确实是有一些“模式”可以发掘的。因为你总是可以借鉴以前的经验,用来构造新的程序。你可以把这种经验叫做“模式”。可是自从《设计模式》(通常叫做 GoF,“Gang of Four”,“四人帮”)这本书在 1994 年发表以来,“设计模式”这个词有了新的,扭曲的含义。它变成了一种教条,带来了公司里程序的严重复杂化以及效率低下。

阅读全文 »

几个超炫的专业词汇

发表于 2016-03-15   |  

几个超炫的专业词汇

从同事的博客上学会了几个超炫的专业词汇,激动不已。觉得这些词汇可以言简意赅的概括我的好几篇博文,自己的文章水准真是自愧不如。现在来见识一下真正大师级的英语词汇:

  • Yoda Notation(Yoda 表示法)


阅读全文 »

关于语言的思考

发表于 2016-03-15   |   分类于 程序语言   |  

关于语言的思考

之前写了那么多 Haskell 的不好的地方,却没有提到它好的地方,其实我必须承认我从 Haskell 身上学到了非常重要的东西,那就是对于“类型”的思考。虽然 Haskell 的类型系统有过于强烈的约束性,从一种“哲学”的角度(不是数学的角度)来看非常“不自然”,但如果一个程序员从来没学过 Haskell,那么他的脑子里就会缺少一种重要的东西。这种东西很难从除 Haskell,ML,Clean,Coq,Agda 以外的其它语言身上学到。

阅读全文 »

对函数式语言的误解

发表于 2016-03-15   |   分类于 程序语言   |  

对函数式语言的误解

很早的时候,“函数式语言”对于我来说就是 Lisp,因为 Lisp 可以在程序的几乎任何位置定义函数,并且把它们作为值来传递(这叫做 first-class function)。后来有人告诉我,Lisp 其实不算是“函数式语言”,因为 Lisp 的函数并不“纯”(pure)。所谓“纯函数”的意思,就是像数学的函数一样,如果你给它同样的输入,它就给你同样的输出。然后你就发现在这种定义下,几乎所有程序语言里面常见的随机数函数(random),其实都不是“纯函数”。因为每一次调用 random(),你都会得到不同的随机数。

阅读全文 »

程序语言的常见设计错误(2) - 试图容纳世界

发表于 2016-03-15   |   分类于 程序语言 设计   |  

程序语言的常见设计错误(2) - 试图容纳世界

之前的一篇文章里,我谈到了程序语言设计的一个常见错误倾向:片面追求短小,它导致了一系列的历史性的设计错误。今天我来谈一下另外一种错误的倾向,这种倾向也导致了很多错误,并且继续在导致错误的产生。

阅读全文 »

程序语言不是工具

发表于 2016-03-15   |   分类于 程序语言   |  

程序语言不是工具

在谈论到程序语言的好坏的时候,总是有人说:“程序语言只是一种工具。只要你的算法好,不管用什么语言都能写出一样好的程序。”在本科第一堂编程课上,我的教授就这么对我们说。可是现在我却发现,这是一个根本错误的说法。

我不知道这种说法确切的来源,然而昨天在浏览网页的时候,偶然发现了 C++ 的设计者 Bjarne Stroustrup 的一些类似的说法。这些说法来自于 2007 年 MIT Technology Review 对 Stroustrup 的采访。

阅读全文 »

程序语言的常见设计错误(1) - 片面追求短小

发表于 2016-03-15   |   分类于 程序语言 设计   |  

程序语言的常见设计错误(1) - 片面追求短小

我经常以自己写“非常短小”的代码为豪。有一些人听了之后很赞赏,然后说他也很喜欢写短小的代码,接着就开始说 C 语言其实有很多巧妙的设计,可以让代码变得非常短小。然后我才发现,这些人所谓的“短小”跟我所说的“短小”完全不是一回事。

阅读全文 »

编辑器与IDE

发表于 2016-03-15   |   分类于 IDE 编辑器   |  

编辑器与IDE

无谓的编辑器战争

很多人都喜欢争论哪个编辑器是最好的。其中最大的争论莫过于 Emacs 与 vi 之争。vi 的支持者喜欢说:“看 vi 打起字来多快,手指完全不离键盘,连方向键都可以不用。”Emacs 的支持者往往对此不屑一顾,说:“打字再快又有什么用。我在 Emacs 里面按一个键,等于你在 vi 里面按几十个键。”

其实还有另外一帮人,这些人喜欢说:“对于 Emacs 与 vi 之争,我的答案是 {jEdit, Geany, TextMate, Sublime…}”这些人厌倦了 Emacs 的无休止的配置和 bug,也厌倦了 vi 的盲目求快和麻烦的模式切换,所以他们选择了另外的更加简单的解决方案。

阅读全文 »

爱因斯坦谈教育

发表于 2016-03-15   |   分类于 教育   |  

爱因斯坦谈教育

继续看爱因斯坦的 Ideas and Opinions,发现挺多有趣的东西。现在把他关于教育的话题摘录在下面。自己关于教育的一些想法,等整理好了再写。

阅读全文 »
1…345
Wu Shuang

Wu Shuang

胡编一通,乱写一气。猴赛雷。

50 日志
16 分类
12 标签
RSS
Weibo Twitter GitHub 简书 王垠 Node中文 阮一峰 前端乱炖 淘宝前端 腾讯前端 w3ctech 前端观察 开源中国 Fedora社区 大前端 蓝色理性 css88 汤姆大叔 夏天的森林 前端导航 Js秘密花园 徐飞 Div.IO 极客学院 妙味课堂 慕课网 智能社 传智播客 notes
© 2016 Wu Shuang
由 Hexo 强力驱动
主题 - NexT.Pisces