0%

  • 编程语言的最终目的是什么?是为了让编程更容易。
  • 人们对编程语言有一个必然要求,就是能为公共的模式命名,建立抽象,然后直接在抽象的层次上工作。
  • 动态语言之所以很流行,就是因为人们可以在很短的时间内建立起一种原型。
  • 编程应该有一整套系统,包括人,技能,库,框架,工具。
  • 如何才能让程序功能更加丰富,如何才能让它更加有趣,如何组织代码。
  • 人们总是尝试做着软件的模块化结构,并且这种手段越来越先进。
  • 编程技术的历史,首先是使用机器码,然后是符号化的汇编语言,接下来是高级语言,后面是结构化编程,现在又来到了面向对象的时代。
  • 在我设计困难算法的经验中,我发现了一个扩展自己能力的方法。一个具有挑战性的问题解决之后,我从头再做一遍,回顾之前方法中的关键点。重复这么做,直到解决方案如我所希望的那样明确和直接。然后我们考虑类似问题的通用准则,这将促使我在起初的时候更有效的解决问题。通常,这样的法则具有永恒的价值。
  • 递归,编程工具库中一件最强大的工具。
  • 优秀程序员的一个衡量标准,必须有所进展,还得能加以改进。
  • 就基本技能而言,编程所包含的就是逻辑和数学,我们应当学会逻辑思考,学会清晰的思考。
  • 建设性的懒惰,坚持复用,遵循DRY(Don’t Repeat Yourself)原则,拒绝编写重复的胶合代码。
  • 所谓的主流,实际上是以实效为主导。
  • 培养构建大型应用程序的能力,因为写大程序非常耗时费力,这需要我们发明新方法,以减轻由于大程序的功能和细节而引起的沉重负担。
  • 实现复杂度——代码的数量很重要,因为开发一个程序所耗费的时间主要取决于程序的长度。
  • 面向对象编程只是程度不同的问题,事实上只有两种,某些语言允许以这种方式编程,另一些语言则强迫你一定要这样编程。
  • 有了对象,我们就可以对任何事物建模;用对象做模拟是威力强大的,因为它非常符合我们对身处其中并与之交互的世界的看法。
  • Duck Typing (generic programming) ——如果它走路像鸭子,而且叫起来像鸭子,我就会称之为鸭子。

如何测试软件的稳定性其实是很难的,按照常规思路,只有长期的用户场景测试才能一定程度上保证软件的稳定性是可靠的,但并不能百分之百确定软件就是稳定的。软件测试本身就是由局限和尽头的,无穷的测试只能带来高成本的投入和无限期的计划延长。

阅读全文 »

聊天的时候,总会有人一腔热血的向我推荐,“这部电影太励志了”,“这本书讲正能量诶”,或者是“昨天那个讲座我听得热血澎湃,讲的太有道理了”,刚开始我还会说,这些都是骗人的,后来,每次我都是摸摸我的狗头笑了,我明白,这些人都得了一种病,一种叫做鸡血狂躁症的沉疴,一种会间歇性发作的痼疾。这种病会让人免疫退化,犹如习武之人内力全失,让你在亢奋和低落之间跌宕起伏,而且传染力极强,会让你头脑发热。

阅读全文 »

可以颠覆掉所有的春天
用一小片枯薄了的秋叶
而昨夜犹在梦中
所以围脖和小火炉
还搁在去年的架上
去年还搁在
小小的记忆里