《黑客与画家》阅读14
2016-01-25 本文已影响0人
owhereg
梦寐以求的编程语言
- 大多数人选择某一种编程语言,不是因为这种语言有什么独特之处,而是听说其他人在使用,这是因为大多数程序员无法分辨语言的好坏。但专家级的黑客一眼就能认出它们,并拿来使用。找一款优秀的编程语言,可以看看优秀的作品是用什么开发的,牛人更喜欢用什么语言。
- 语言的流行会促进它变得更好。
- 影响流行的因素,有语言本身的优秀,广告宣传,还有一点它必须是某个流行计算机系统的脚本语言。Fortran和Cobol是早期IBM的脚本语言,C是Unix的,Visual Basic是WIndows的,Lisp是Emacs的,Java和Javascript是浏览器的。一本由O'Reilly公司出版的书。
- 简洁。黑客都是懒人。
- 可编程性。语言设计者应该假设他的目标用户是天才,而不是傻瓜,生怕程序员用错。要既整洁又混乱,前者指设计清晰,内核简洁,混乱指自由度高。比如C和Lisp
6.一次性程序,完成某些简单的临时性任务而在短时间内写出来的程序。开发大型程序的一个方法就是从一次性程序开始,然后不断改进。什么样的语言适合写一次性程序?一是易于装备,一次性程序是你只想一个小时写出来的程序,所以不能耗费很多时间来配置部署。二是容易与使用则互动:比如一种有命令行界面,可实时反馈的语言。比如perl,c。三是简洁,简洁的最高形式就是用别人的,优秀的函数库。四是效率,提高代码运行速度的关键是使用好的性能分析器(profiler),而不是其它。 - 新技术被市场接纳的方式有两种,一种是自然成长式,另一种是大爆炸式。最终来看,后者比前者有更好的技术,能为创始人带来更多的财富。
- “最好的文字来自不停的修改” --著名散文家E.B.怀特。软件开发也是如此。
- 为了写出优秀的软件,需要两种冲突的信念,信心万丈和自我怀疑。但两者并不矛盾,因为前者是针对解决难题的可能性,后者针对当前解法的合理性。要平衡这两股力量。为此要“再设计”,修改可以无休无止,如何避免再设计过程中接口问题,一种方法是将软件内部接口设计成垂直接口而不是水平接口,软件内部的模块是一个个垂直堆积起来的抽象层,层与层之间的接口完全由其中一层控制。如果较高的一层使用了较低一层定义的语言,那么接口就由较低的一层控制;如果较低的一层从属于较高的一层,那么接口就由较高的一层控制。
- 梦寐以求的编程语言:干净简练;最高层次的抽象和互动行;容易装备;优秀的函数库(强大易用);以层的方式构建,需要的话可以直接使用较低抽象层;优秀的范例;开放自身的源码,设计。