# 黑客與畫家-拒絕平庸 ## 創業撇步 > 如果你掌管创业公司,当然也可以这样。你把每件事都做到平均水准,就能得到平均结果。问题在于,小公司的平均结果就意味着关门倒闭。创业公司的生存率远低于50%。所以,如果你掌管创业公司,最好做一些独特的事情,否则就会有麻烦。 不同的環境有不同的生存條件 > 这种新出现的自由是一把双刃剑。既然你可以使用任何语言,你就不得不思考到底使用哪一种语言。如果你的公司对这种选择的自由视而不见,而竞争对手看到了,那么你就有被击败的危险。 看到別人沒看到的優勢。有過這種經驗? ## 習慣的,就好? > 如果你同意这一点,就意味着你也认可一种高级语言可以比另一种高级语言更强大。因此,必然能够接着推导出,除了某些特殊情况,你就是应该使用目前最强大的语言。不过在现实中这个结论很少能落实。到了一定年龄之后,程序员极少主动更换自己的编程语言。不管习惯使用的是哪一种语言,他们往往认为这种语言已经足够好了。 > 只要这位程序员向曲线下方望去,他就肯定知道自己正在看的是一些比较低层次的语言。因为那些语言明显不如Blub语言强大,缺少他习惯使用的某些功能。但是,当他向曲线上方望去,他不会意识到自己正在看更高层次的语言,而是仅仅觉得自己正在看某些奇怪的语言。他可能认为那些语言也许与Blub一样强大,但是加入了不少怪东西。他觉得Blub语言已经够用了,不用再考虑那些语言了。这时,他的思维就是已经被Blub同化了。 > 通过归纳法我们就会知道,唯一洞悉所有语言优劣的人必然是懂得最强大的那种语言的人。(这大概就是埃里克·雷蒙德所说的Lisp语言使你成为一个更好的程序员的意思。)由于Blub困境的存在,++你无法信任其他人的意见:他们都满足于自己碰巧用熟了的那种语言++,他们的编程思想都被那种语言主宰了。 適時的抽離,客觀的審視。 怎麼知道自己現在所用的(語言/技術)就是最強大的? 怎麼知道自己所了解的就是最正確、最客觀的? ## 語言這種東西 > 因为编程语言的特点之一就是它会使得大多数使用它的人满足于现状,不想改用其他语言。人类天性变化的速度大大慢于计算机硬件变化的速度,所以编程语言的发展通常比CPU的发展落后一二十年。 > 技术的变化速度通常是很快的。但是,编程语言不一样,与其说它是技术,还不如说是++程序员的思考模式。编程语言是技术和宗教的混合物^++。所以,一种很普通的编程语言就是很普通的程序员使用的语言,它的变化就像冰山那样缓慢。 學習新語言的心得? ## 「以柔克剛」,「借勁使力」,「不主動攻擊」 > 很显然,那些很普通的编程语言正在主导一切。我不建议你挑战这种强大的习惯势力,相反,我建议你向日本合气道选手学习,利用这种势力削弱你的竞争对手,让他们自食其果。 [合氣道](https://zh.wikipedia.org/zh-tw/%E5%90%88%E6%B0%A3%E9%81%93) 「將對方的力量引導至無威脅的方向,甚至吸收化為自己的力量而反擊」 >#### *不能說的話* >> *如果你想要清晰地思考,就必须远离人群。但是走得越远,你的处境就会越困难,受到的 阻力也会越大,因为你没有迎合社会习俗,而是一步步地与它背道而驰。小时候,每个人都会 鼓励你不断成长,变成一个心智成熟、不再耍小孩子脾气的人。但是,很少有人鼓励你继续成 长,变成一个怀疑和抵制社会错误潮流的人。* 懷疑、抵制潮流 => 利用潮流