黑客与画家 第十三章

2013/7/16 14:48 写于 家
第十三章 书呆子的复仇
经理就是对技术一无所知而且对技术有强烈的个人倾向。
他们会说 ,你们要用JAVA,因为这是业内标准。可真的是这样吗?为什么不能用别的呢?在10几年前,经理或许会说,你要用C++,因为这是业内标准。为什么从C++变成了JAVA呢?肯定是有原因的,JAVA做了C++不能做的事,还有Java的宣传确实不错。那么这么说,每种语言都是不一样的,而且有优劣之分了。
如果是这样的话,经理就头疼了,他就要找到能够使用20年左右的最佳语言,还要找到合适的程序员,库函数。这两个难题让经理头晕,于是他们装傻,认为所有的编程语言是一样的。
事实是,编程语言现在的发展不过是刚刚赶上了1958年的LISP语言的水平。
LISP是数学,而不是技术。所以它没有过时,而且无法被超越。而其他的一些语言的基础是硬件架构,这使得后者永远无法超越LISP。
LISP的思想有
1.条件结构
2.函数也是一种数据结构
3.递归
4.变量的动态类型
5.垃圾回收机制
6.程序由表达式组成
7.符号类型
8.代码使用符号和常量组成的树形表示法
9.无论何时,整个语言都是可用的。
前五项已经是大家习以为常的,第六项在主流的编程语言中体现,第七项在PYTHON中出现,第八九想则是LISP独有的。
这说明了,现在的大部分编程语言只是在往LISP靠近。
条件越苛刻,使用强大的编程语言就越能发挥作用。选择更强大的编程语言会减少所需要的开发人员数量,因为,你使用的语言很强大,可能会减少编程的工作量,使用更高级语言的黑客可能比别的程序员更聪明。
你不能让那些衣冠楚楚,西装革履的家伙替你做技术决策。千万不要为了取悦风投而设计你的产品,让用户感到满意才是你的最终目标。
随大众的话,你写出来的程序代码会更长(比起使用给位强大的编程语言的话).
 编程语言业界所谓的“最佳实践”,实际上不会让你别的更佳,只会让你变得平凡,如果你的编程语言开发速度是别人的几分之一,那还是最佳实践吗?
得出两点结论:
一。不同的编程语言能力不一样 
二。大多数的经理故意忽视第一条
所以,利用这两点,不要选择“业内最佳实践”
转载请表明出处  http://www.huangweibin.com/
原文地址:https://www.cnblogs.com/hwb1992/p/3193422.html