《黑客与画家》读书笔记(六)

1. 拒绝平庸

    秘密武器

    创业公司要么赢得一切,要么彻底失败。

    创业的时候,如果选择了错误的技术,竞争对手就会一举打败你。

    选择技术时,不能考虑别人的做法,只能考虑最适合你的。

    软件快速开发

    对于市场来说,快速开发出产品是很重要的。

    选择编程语言

    对于应用程序,应该选择更强大、效率也在可接受范围内的编程语言。

    选择更强大的编程语言减少编程的工作量,减少所需要的开发人员数量。

2.书呆子的复仇

    选错编程语言的代价

    衡量语言能力的最简单方法可能就是:看代码数量。

    高级语言能够提供更强大抽象能力的语言,语言的编程能力越强大,写出来的程序就越短小,所需的开发时间越少。

    在一个高度竞争的市场中,即使开发速度只相低两三倍,也足以使得你永远处在落后的位置。

    选择编程语言的诀窍

   (1)不同语言的编程能力不一样;

   (2)大多数经理故意忽视第一点。

    想在软件业获得成功,就使用最强大的语言,用它解决最难的问题,并且等待竞争对手做出自甘平庸的选择。

    编程语言的所谓“业界最佳实践”,实际上不会让你变成最佳,只会让你变得很平常。

3. 梦寐以求的编程语言

    编程语言流行的秘诀

    (1)专家级黑客的看法;

    (2)强有力的广告宣传;

    (3)有语言所依附的计算机系统;

    (4)需要一个好的实现,而且这个实现必须是免费的;

    (5)需要有一本介绍它的书;

    (6)应该有在线文档;

    简洁性

    简洁使得语言更抽象。简洁性是静态类型语言的力所不及之处,单个的语法单位也应该很简短。

    可编程性

    编程语言必须能够帮助程序员做到想做的事。

    一种真正优秀的编程语言应该既整洁又混乱。

    “整洁”的意思是设计得很清楚,内核由数量不多的运算符构成,这些运算符易于理解,每一个都有很完整的独立用途。

    “混乱”的意思是它允许黑客以自己的方式使用。

    一次性程序

    编程语言必须很适合开发一次性程序。

    一次性程序,就是指为了完成某些很简单的临时性任务而在很短时间内写出来的程序。

    适合写一次性程序的语言必须很容易安装,有命令行界面,可以实时反馈运行结果。

    函数库

    未来编程语言的进步很大一部分与函数库有关,函数库将像语言内核一样精心设计。

    优秀函数库的重要性将超过语言本身。

    时间考验

    程语言要想变得流行,需要经受住时间的考验。

    发明新事物的人必须有耐心,要常年累月不断地做市场推广,直到人们开始接受这种发明。

    再设计

    最好的文字来自不停的修改,软件开发也是如此。

    为了写出优秀软件,需要有乐观主义和怀疑倾向,对解决难题的可能性保持乐观,同时对当前解法的合理性保持怀疑。

小结

    总结一下优秀的编程语言的特点:

 (1)干净简练,抽象度高和互动性强;

(2)内核简洁强大,函数库高度独立;

(3)语言细节高度透明;

(4)容易安装,实时反馈运行结果;

(5)有大量优秀的范例可供学习;

(6)以层次的方式构建,较高的抽象层构建在较低的抽象层之上。

发布了538 篇原创文章 · 获赞 168 · 访问量 32万+

猜你喜欢

转载自blog.csdn.net/liyazhen2011/article/details/104186551