美文网首页
黑客与画家

黑客与画家

作者: 水手0913 | 来源:发表于2018-05-15 00:04 被阅读23次
    黑客与画家

    书籍购买链接:点我购买

    一、为什么书呆子不受欢迎

    1、技术背后的思想就像数学一样,不会过时
    2、只有知道未来会怎样,才能选出最值得投资的创业公司
    3、人应该“向死而生”,人面对死亡,才会停止那些无谓琐碎的关注和困扰,体会到什么是重要的事情,从而达到真正的存在
    4、“向未来而生”,我们的目光应该盯着未来的世界,以此决定人生应该怎么走
    5、活在未来,然后造出现在还有没有的部分(Live in the future, then build what’s missing)
    6、我们生活中的一切,都正在成为计算机。所以,如果你想理解我们目前的世界以及它的未来动向,那么多了解一些黑客的想法会对你有帮助
    7、选择天使投资人的时候,最好选择那些自己有过创业经验的人
    8、创业公式:1.搭建原型 2.上线运营(别管BUG)3.收集反馈 4.调整产品 5.成长壮大
    9、鼓励创业公司快速发布产品,因为这样可以尽早知道一个创意是否可行。其次,一定要特别关注用户需要什么,这样才有办法将一个坏项目转变成好项目
    10、许多伟大的公司,一开始的时候做的都是与后来业务完全不同的事情。乔布斯创建苹果后的第一个计划是出售计算机零件,然后让用户自己组装,后来才变成开发苹果电脑。你需要倾听用户的声音,琢磨他们需要什么,然后就去做
    11、小团队更容易成功,创始成员总数最好不要超过三人。其中一个原因是,创始人越多,股权越不容易平等分配,容易造成内耗
    12、以前创业很昂贵,你不得不找到投资人才能创业。而现在,唯一的门槛就是勇气
    13、对于科技公司来说,未来充满了机会,前景一片光明。所有东西都在变成软件。印刷机诞生后,人类写过多少个字,未来就有多少家软件公司
    14、出于兴趣而解决某个难题,不管它有没有用,这就是黑客
    15、黑客行为三个特点:好玩、高智商、探索精神
    16、黑客的6个价值观:1.使用计算机以及所有有助于了解这个世界本质的事物都不应该受到任何限制。任何事情都应该亲手尝试 2.所有信息应该都是自由的 3.不信任权威,提倡去中心化 4.判断一名黑客的水平应该看他的技术能力,而不是看他的学历、年龄或地位等其他标准 5.你可以用计算机创造美和艺术 6.计算机使生活更美好
    17、黑客不服从管教,具有叛逆精神
    18、真正的黑客致力于改变世界,让世界更美好
    19、”书呆子“与”高智商“有强烈的正相关关系。你越喜欢读书,就越不受别人的欢迎,因此”书呆子“和”受欢迎“之间,有一种强烈的负相关关系
    20、我想要做伟大的事情
    21、”书呆子“的目标具有两重性。他们毫无疑问想让自己受欢迎,但是他们更愿意让自己聪明
    22、任何一种艺术,不管是否重要,如果你想要在该领域出类拔萃,就必须全身心的投入
    23、对于那些高度困难的领域,只有身处其中的人,才能意识到成功需要不间断(虽然未必是自觉)的付出
    24、到了11岁左右,孩子们逐渐把家庭生活当做寻常事了。他们在同伴中开辟了一个新的世界,并认为那个世界才是重要的,比家里的世界更重要。实际上,如果他们在家里与父母发生冲突,反而能在那个新的世界中挣得面子,而他们也确实更在乎那个世界
    25、青少年在心理上还没有摆脱儿童状态,许多人都会残忍地对待他人。在一个人产生良知之前,折磨就是一种娱乐
    26、在任何社会等级制度中,那些对自己没自信的人就会通过虐待他们眼中的下等人来突显自己的身份
    27、怎么才能让自己更受欢迎?个人魅力只是很小的一方面,你应该更多地考虑如何结盟。秘诀就是不停地设法使自己与其他受欢迎的人变得关系更密切。没有什么比一个共同的敌人更能使得人们团结起来了
    28、当你所做的事情能产生真实的效果,那就不仅仅是好玩而已了,发现正确的答案就开始变得重要了
    29、真实世界的特点是,它极其庞大。如果总体积足够大,即使是人数最少的少数派,只要聚集在一起,也能产生可观的力量

    二、黑客与画家

    30、“做什么”和“怎么做”不应该分得太开。如果你决定做一件事,却不知道怎么做,你就是在自找麻烦
    31、创造优美事物的方式往往不是从头做起,而是在现有成果的基础上做一些小小的调整,或者将已有的观点用比较新的方式组合起来
    32、人们对一个作家的评价,需要100年才能达成一致。你必须先等他的那些有影响力的朋友都死了,然后再等他的追随者都死了,才能对他有一个公正的评价
    33、编程语言是用来帮助思考程序的,而不是用来表达你已经想好的程序。它应该是一支铅笔,而不是一支钢笔
    34、大学和实验室强迫黑客成为科学家,企业强迫黑客成为工程师
    35、真正竞争软件设计的战场是新兴领域的市场,这里还没有人建立过防御工事。只要你能做出大胆的设计,由一个人或一批人同时负责设计和实现产品,你就能在这里战胜大公司
    36、自己开公司的话,必须处理很多与开发软件完全无关的事情;赚钱的软件往往不是好玩的软件,两者的重叠度不高。设计编程语言是很好玩的事情,事实上,微软的第一个产品就是一种编程语言。但是,如今没有人会出钱买编程语言。如果你想赚钱,你可能不得不去干那些很麻烦很讨厌的事情,因为这些事情没人愿意义务来干
    37、黑客如何才能做自己喜欢的事情?找一份养家糊口的“白天工作”
    38、如果你不爱一件事,你不可能把它做得真正优秀,要是你很热爱编程,你就不可避免地会开发你自己的项目
    39、应该定期地从头开始,而不要长年累月地在一个项目上不断工作,并且试图把所有的最新想法都以修订版的形式包括进去
    40、黑客可以通过观看优秀的程序学会编程,不是看它们的执行结果,而是看它们的源代码
    41、坚持一丝不苟,就能取得优秀的成果。因为那些看不见的细节累加起来,就变得可见了
    42、要设身处地为他人着想。现实中,这必然意味着你要做其他人需要的事情,而不是你自己想做的事情
    43、从他人的角度思考问题正是成功的奥秘所在。“换位思考”并不意味着你要做自我牺牲。了解别人对于事情的看法,并不代表你为他的利益服务,比如打仗的时候,了解对手正是为了打击对手
    44、判断一个人是否具备“换位思考”的能力的一个好方法,就是看他怎么向没有技术背景的人解释技术问题
    45、程序写出来是给人看的,附带能在机器上运行

    三、不能说的话

    46、所谓“时尚”,本质上就是自己看不见自己的样子。好比我们在地球上,却感觉不到地球在动。
    47、你一定要小心自己说的话。自以为无害的言论会给你惹来大麻烦
    48、凡是不认同社会之处,你连想都不敢想,马上就放弃自己的观点,那才会真正出问题
    49、触怒他人的言论是那些可能会有人相信的言论
    50、你只要看看人们怎么称呼那些自己不赞成、但是又不算错的观点就行了
    51、我们可以去那些过去被认为理所当然,如今却被认为不可思议的事情,这是用来找出我们自己正在犯下的错误的第三种方法
    52、想要做出优秀作品,你需要一个什么问题都能思考的大脑。尤其是那些似乎不应该思考的问题,你的大脑也要养成思考它们的习惯
    53、优秀作品往往来自于他人忽视的想法,而最被忽视的想法就是那些被禁止的思想观点
    54、科学家做事的方式就是寻找传统观点无法自圆其说的地方,然后试着拆开那里,看个究竟,瞧瞧里面到底出了什么问题。新的理论就是这样子产生的
    55、智力越高的人,越愿意去思考那些惊世骇俗的思想观点。这不仅仅因为聪明人本身地寻找传统观念的漏洞,还因为传统观念对他们的束缚力很小,很容易摆脱
    56、训练自己去想那些不能想的事情,你获得的好处会超过所得到的想法本身
    57、如果你能“远远地”跳出传统思维,提出让别人一听就脑袋轰一声炸开的惊人观点,那么你就在“小小地”跳出传统思维方面不会有任何困难。要知道,人们把后面这种情况称为“创新”
    58、一旦发现了“不能说的话”,就别说,至少要挑选合适的场合再说,只打那些值得打的仗
    59、鼓励自己在心里默默思考那些最无法无天的想法
    60、你要对每一个人微笑,但是不要说出自己的真实想法
    61、不要直接攻击某个标签,而要攻击它的“元标签”。所谓“元标签”,就是对某个标签的抽象描述
    62、如果你想要清晰的思考,就必须远离人群
    63、如果自己就是潮水一部分,怎么能看见潮流的方向?你只能永远保持质疑。

    四、良好的坏习惯

    1、黑客永远是自负的
    2、很自负的人必须培养出敏锐的感觉,及时发现周围情势的变化,知道怎样才能脱身

    五、另一条路

    1、普通用户根本没必要知道“操作系统”这个词,更不要说“驱动程序”和“补丁”了
    2、“你的电脑”这个概念正慢慢成为过去时,取而代之的是“你的数据”。你应该可以从任何电脑上获取你的数据。或者更准确地说,在任何终端设备上获取你的数据,终端设备不一定是电脑。终端设备部应该存储数据,它们应该像电话那样
    3、硬件需要考虑的地方,不仅仅在于怎么才能避免出问题,还在于怎样才能最大地发挥它们的作用
    4、互联网软件的发布规则是,它运行不了,你就无法发布;一旦它能运行了,你就可以立刻发布
    5、互联网软件的另一个技术优势在于,你能再现大部分bug
    6、解决新代码的bug要比解决历史遗留代码的bug容易
    7、早一点发现bug就不容易形成复合式bug,也就是互相影响的两个bug
    8、构思这种东西有一个特点,那就是它会导致更多的构思。你有没有注意过,坐下来写东西的时候,一半的构思是写作时产生的?软件也是这样。实现某个构思,会带来更多的构思
    9、随着参与人数的增加,人与人之间需要的沟通呈现指数式增长
    10、人数越来越少,软件开发的效率将指数式增长
    11、软件应该做到用户认为它可以做到的事情。但是,你不知道用户到底怎么想,除非你亲眼看到他们如何使用你的软件,相信我,看到和看不到大不相同。互联网软件能够让你前所未有地了解用户行为
    12、效率队互联网软件至关重要,因为硬件费由你支付。你的资本支出成本除以服务器所能支持的最大用户数量,就是你为每个用户付出的成本
    13、只要有可能,商业性公司就会采用一种叫做“价格歧视”的定价方法,也就是针对不同的客户给出不同的报价,使得利润最大化
    14、如果某样商品购买起来很困难,人们就会改变主意,放弃购买。反过来也成立,如果某样东西易于购买,你就会多买一点
    15、如果你放弃对服务器的直接控制,你就放弃了互联网软件的大部分优势
    16、有钱的客户倾向于更贵的选择,即使便宜的选择更符合他们的需要,他们也不会买
    17、把个人和小企业客户放在第一位。其他的客户该来的时候就会来
    18、这是创业公司的黄金时代,小公司竞相争艳,做出很酷的产品,使得自己快速发展起来
    19、典型的创业公司行动快速,看上去不是那么正式,只有很少几个人,资金也有限。这几个人勤奋工作,技术放大了他们的决策。如果他们赌赢了,那就是一场大胜利
    20、桌面软件迫使用户成系统管理员,互联网软件则是迫使程序员变成系统管理员;用户的压力变小了,程序员的压力变大了
    21、只要人们继续上网,互联网软件就输不了
    22、如果你是一个黑客,并且梦想自己创业,可能会有两件事情令你望而却步,不敢真正开始采取行动。一件事你不懂得管理企业,另一件是你害怕竞争。可是实际上,这两件事都是没有通电的电篱笆
    23、做出用户喜欢的产品,保证开支小于收入

    六、如何创造财富

    1、如果你想致富,我认为最好的方法就是自己创业,或者加入创业公司
    2、创业公司往往与技术无关,所以“高技术创业公司”这个短语几乎就是同义重复。创业公司其实就是解决了某个技术难题的小公司
    3、从经济学观点看,你可以把创业想象成一个压缩过程,你的所有工作年份被压缩成了短短几年。你不再是低强度地工作四十年,而是以极限强度工作四年。在高技术领域,这种压缩的回报尤其丰厚,工作效率越高,额外报酬就越高
    4、如果你想赚100万美元,就不得不忍受相当于100万美元的痛苦
    5、名人不适合用来举例子,媒体只报道那些最有钱的人,而他们往往属于特例
    6、通过创造有价值的东西而致富,这种方法的优势不仅仅在于它是合法的,还在于它更简单。你只要做出别人需要的东西就可以了
    7、创造有价值的东西就是创造财富。财富存在的时间与人类历史一样长久,甚至更长久。金钱是一种历史相对较短的发明
    8、如果财富真的这么重要,为什么大家都把挣钱挂在嘴边呢?部分原因是,金钱是财富的一种简便的表达方式:金钱有点像流动的财富,两者往往可以互相转化
    9、交换媒介的优点是,它使得交易可以进行下去。缺点是,它往往模糊了交易的实质。人们觉得做生意就是为了挣钱,但是金钱其实只是一种中介,让大家可以更方便地获得自己想要的东西。大多数生意的目的是为了创造财富,做出人们真正需要的东西
    10、我们这个世界,你向下沉沦或者向上奋进都取决于你自己,不能把原因推给外界
    11、财富就意味着人们需要的东西
    12、你需要去做一些人们需要的东西。即使不加入公司,你也能做到。公司不过是一群人在一起工作,共同做出某种人们需要的东西。真正重要的是做出人们需要的东西,而不是加入某个公司
    13、工作就是在一个组织中,与许多人共同合作,做出某种人们需要的东西
    14、要致富,你需要两样东西:可测量性和可放大性。你的职位产生的业绩,应该是可测量的,否则你做得再多,也不会得到更多的报酬。
    15、如果你有一个令你感到安全的工作,你是不会致富的,因为没有危险,就几乎等于没有可放大性
    16、如果你想同时具备可测量性和可放大性,不一定非当上CEO或电影明星不可。你只需要成为某个攻克难题的小团体的一部分就可以了
    17、如果你发现了一种做事的新方式,它的经济价值就取决于有多少人使用这种新方式
    18、餐馆煎鸡蛋,理发店剪头发,每次只能为一个顾客提供服务,但是如果你解决了一个热门的技术难题,别人都会使用你的解决方案。这就是可放大性
    19、假定软件有两个候选的新功能,它们创造的商业价值完全相同,那么我们总是选择比较困难的那个功能。不是因为这个功能能带来更多的收入,而是因为它比较难
    20、你最好做出令人信服的解释,阐明你的技术难以复制的原因。否则一旦大公司看到了,它们就会做出自己的版本,再加上它们的品牌,资本、经销能力,一夜之间就把你的市场全部抢走。那时你就像来到开阔地带的游击队,会被正规军一举歼灭
    21、设置“进入壁垒”的方法之一就是申请专利
    22、创业有一些潜规则的,其中一条就是很多事情由不得你
    23、真正创业以后,你的竞争对手决定了你到底要有多辛苦,而他们做出的决定都是一样的:你能吃多少苦,我们就能吃多少苦
    24、另一条潜规则是,创业的付出与回报虽然总体上是成比例的,但是在个体上是不成比例的
    25、如果你有两个选择,你就选择较难那个。如果你要选择是坐在家里看电视还是外出跑步,那就去跑步吧。这个方法有效地原因可能是遇到一难一易的两个选择时,往往出于懒惰的缘故,你会选择较易的那个选项。在意识深处,你其实知道不懒惰的做法会带来更好的结果,这个方式只是迫使你接受这一点
    26、潜在的买家会尽可能地拖延收购。收购这件事最难的地方就是让买方真正拿出钱。大多数时候,促成买方掏钱的最好办法不是让买家看到有获利的可能,而是让他们感到失去机会的恐惧
    27、他们真正在意的只是你拥有的用户数量
    28、你开办创业公司不是单纯地为了解决问题,而是为了解决那些用户关心的问题
    29、你必须时刻牢记的最基本的原则就是,创造人们需要的东西,也就是创造财富
    30、可测量性和可放大性。前者来自小团队的合作,后者来自开发新技术
    31、只要懂得藏富于民,国家就会变得强大。让书呆子保住他们的血汗钱,你就会无敌于天下

    七、关注贫富分化

    1、在真实世界中,财富是必须你自己创造出来的东西,而不是等着老爹买给你
    2、一个人的工作具有多少价值不是由政府决定的,而是由市场决定的
    3、如果巨大财富没有明显的来源,那可能就来源于精心安排的犯罪活动,由于掩盖的太好,使得罪行被人遗忘了
    4、技术的发展是否加剧了贫富分化?首先,技术肯定加剧了有技术者和无技术者之间的生产效率差异,毕竟这就是技术进步的目的
    5、技术应该会引起收入差距的扩大,但是似乎能缩小其他差距
    6、技术无法使其变得更便宜的唯一东西,就是品牌。这正是为什么我们现在越来越多地听到品牌的原因。富人与穷人之间的生活差异的鸿沟正在缩小,品牌是这种差距的遗留物
    7、如果得不到报酬,人们是否愿意创造财富?唯一的可能就是,工作必须能提供乐趣
    8、总的来说,你要避免的是绝对贫穷,而不是相对贫穷。如果必须在这两种社会之间做选择,根据目前的证据,我选择个人相对贫穷、但是整体上更富裕的社会
    9、一个社会需要富人,这主要不是因为你需要富人的支出创造就业机会,而是因为他们在致富的过程做出的事情

    九、设计者的品味

    1、做好自己的工作会真正令人感到自豪和愉快
    2、如果你是一个设计师,并且你不承认有一种人们共同认可的东西叫做“美”,那么你就没有办法做好工作。如果品味只是一种个人偏好,那么每个人都是完美无缺的:你喜欢自己看上的东西,那就足够了
    3、就像别的工作一样,只要你不断地从事设计工作,你就会做得越来越好。你的品味会出现变化,你会像别人一样有所提高
    4、好设计是简单的、永不过时的、解决主要问题的、启发性的、有点趣味性的、艰苦的、看似容易的、对称的、模仿大自然的、再设计能够复制的、奇特的、成批出现的、大胆的设计
    5、当你被迫把东西做得简单时,你就被迫直接面对真正的问题。当你不能用表面的装饰交差时,你就不得不做好真正的本质部分
    6、如果你希望自己的作品对未来的人们有吸引力,方法之一就是让你的作品对上几代人有吸引力
    7、在软件业中,你应该为用户提供一些基本模块,使得他们可以随心所欲自由组合,就像玩乐高积木那样
    8、幽默感是强壮的一种表现,始终拥有幽默感就代表你对厄运一笑了之,而丧失幽默感则表示你被厄运深深伤到。强壮的标志就是轻松面对自己的人生
    9、充满自信的人常常像燕子一样,已一种居高临下的姿态轻盈地看待周围的一切
    10、如果你工作得不艰苦,你可能正在浪费时间
    11、世界上有有益的痛苦,也有无益的痛苦。你需要的是咬牙向前冲刺的痛苦,而不是脚被钉子扎的痛苦
    12、在大多数领域,看上去很容易的事情,背后都需要大量的练习。练习的作用也许是训练你把刻意为之的事情变成一种自觉的行为
    13、对称有两种:重复性对称和递归性对称。递归性对称就是指子元素的重复,比如树叶上叶脉的纹路
    14、在软件中,能用递归解决的问题通常代表已经找到了最佳解法
    15、犯错误是很正常的事情。你不要把犯错看成灾难,要勇于承认、勇于改正
    16、如果你不知道自己的想法从何而来,那么你可能就是在模仿另一个模仿者
    17、等到你逐渐对一件事产生热情的时候,就不会满足于模仿了。你的品味就进入了第二阶段,开始自觉地原创
    18、推动人才成批涌现的最大因素就是,让有天赋的人聚在一起,共同解决某个难题
    19、今天的实验性错误就是明天的新理论。如果你想做出伟大的新成果,那就不能对常识与真理不相吻合之处视而不见
    20、单单是无法容忍丑陋的东西还不够,只有对这个领域非常熟悉,你才可能发现哪些地方可以动手改进。你必须锻炼自己。只有在成为某个领域的专家之后,你才会听到心里有一个细微的声音说:“这样解决太糟糕了!一定有更好的选择”不要忽视这种声音,要培育它们。优秀的作品的秘诀就是:非常严格的品味,再加上实现这种品味的能力

    十、编程语言解析

    1、命令计算机把两个数相加。这种操作命令的总和就是计算机的机器语言
    2、解释器的作用是实时地将代码解释为相应的机器语言,然后一行行运行。相比之下,编译器则是先将整个程序全部翻译成机器语言,然后再运行
    3、编译器处理的高级语言代码叫做源码。它经过翻译以后产生的机器码就叫做目标码
    4、有些“头重脚轻”的语言,他们的内核设计得并非很好,但是却有着无数强大的函数库,可以用来解决特定的问题。(你可以想象一辆本身性能很差的小汽车,车顶却绑着一个飞机发动机)

    十一、一百年后的编程语言

    1、基本运算符是一种语言能否长期存在的最重要因素。其他因素都不是决定性的。这有点像买房子的时候你应该先考虑地理位置。别的地方将来出问题都有办法弥补,但是地理位置是没法变的
    2、你仔细审视一种语言的内核,考虑哪些部分可以被摒弃,这至少也是一种很有用的训练。我发现冗余的代码会导致更多冗余的代码,不仅软件如此,而且像我这样性格懒散的人,我发现在床底下和房间的角落里这个命题也成立,一件垃圾会产生更多的垃圾
    3、那些内核最小、最干净的编程语言才会存在于进化的主干上。一种语言的内核设计得越小、越干净,它的生命力就越顽强
    4、语言只是一种书写法,而程序则是一种严格符合规则的描述,以书面形式记录计算机应该如何解决你的问题。编程语言的进化速度更像数学符号的进化速度,而不像真正的技术(比如交通和通信技术)的进化速度
    5、随着技术的发展,每一代人都在做上一代人觉得很浪费的事情
    6、浪费可以分成好的浪费和坏的浪费。我感兴趣的是好的浪费,即用更多的钱得到更简单的设计
    7、设计编程语言的时候,我们应该有意识地问自己,什么时候可以放弃一些性能,换来一点点便利性的提高
    8、将语言的语义与语言的实现予以分离。在语义上不需要同时存在列表和字符串,单单列表就够了。而在实现上做好编译器优化,使它在必要时把字符串作为连续字节的形式处理
    9、对于大多数程序,速度不是最关键的因素,所以你通常不需要费心考虑这种硬件层面上的微观管理。随着计算机速度越来越快,这一点已经越发明显了
    10、语言设计时,对实现方式少作限制还会使得程序具备更大的灵活性
    11、essay(论文)这个词来自法语的动词essayer,意思是“试试看”。从这个原始意义来说,论文就是你写一篇文章,试着搞清楚某件事。软件也是如此。我觉得一些最好的软件就像论文一样,也就是说,当作者真正开始动手写这些软件的时候,他们其实不知道最后会写出什么结果
    12、效率低下的软件并不等于很烂的软件。一种让程序员做无用功的语言才真正称得上很烂。浪费程序员的时间而不是浪费机器的时间才是真正的无效率
    13、如果一股不可抗拒的力量遇到了一个不可移动的物体,会发生什么事?一种效率低得不可想象的语言遇到了性能强大得不可想象的硬件,会发生什么事
    14、字节码是已经经过编译但是需要进一步处理才能变成机器码的中间代码。它的好处是与硬件和软件环境无关,在编译器的配合下,可以在不同的操作系统上运行
    15、如果你自己做不到,那就去当老师
    16、设计新语言的方法之一就是直接写下你想写的程序,不管编译器是否存在,也不管有没有支持它的硬件

    十二、拒绝平庸

    1、一般情况是,创业公司要么赢得一切,要么彻底失败。你要么成为富翁,要么一无所获。创业的时候,如果你选择了错误的技术,竞争对手就会一举打败你
    2、如果你掌管创业公司,你把每件事都做到平均水准,就能得到平均结果。问题在于,小公司的平均结果就意味着关门倒闭。创业公司的生存率远低于50%。所以,如果你掌管创业公司,最好做一些独特的事情,否则就会有麻烦
    3、商场如战场,对手摸不透你,你的胜算就增加了
    4、创业公司对竞争对手应该越保密越好
    5、总的来看,对于应用程序来说,还是应该选择总体最强大、效率也在可接受范围内的编程语言,否则都是不正确的选择,就好像你选择机器语言一样,只是程度上有差异而已
    6、技术的变化速度通常是很快的。但是,编程语言不一样,与其说它是技术,还不如说是程序员的思考模式

    十三、书呆子的复仇

    1、编程语言指的是用来告诉计算机怎么做的一种工具
    2、函数也是一种数据类型
    3、符号实际上是一种指针,指向存储在散列表中的字符串。所以,比较两个符号是否相等,只要看它们的指针是否一样就行了,不用逐个字符地比较
    4、使用一种不常见的语言会出现的问题有三个:你的程序可能无法很好地与其他语言写的程序协同工作;你可能找不到很多函数库;你可能不容易雇到程序员
    5、把软件运行在服务器端就可以没有顾忌地使用最先进的技术
    6、如果你创业的话,千万不要为了取悦风险投资商或潜在并购方面设计你的产品。让用户感到满意才是你的设计方向。只要赢得用户,其他事情就会接踵而来。如果没有用户,谁会关心你选择的“正统”技术是多么令人放心
    7、所谓高级语言,就是能够提供更强大抽象能力的语言,从某种意义上,就像能够提供更大的砖头,所以砌墙的时候用到的砖头数量就变少了。因此,语言的编程能力越强大,写出来的程序越短
    8、强大的编程语言如何让你写出更短的程序?一个技巧就是(在语言允许的前提下)使用“自上而下”的编程方法。你不是用基础语言开发应用程序,而是在基础语言之上先构建一种你自己的语言,然后再用后者开发应用程序
    9、你的经理其实不关心公司是否真的能获得成功,他真正关心的是不承担决策失败的责任。所以对他个人来说,最安全的做法就是跟随大多数人的选择
    10、技术本来就应该是尖端的

    十四、梦寐以求的编程语言

    1、优秀的语言不一定会被市场接受,很可能无人使用,因为语言的流行不取决于它本身
    2、大多数人选择某一种编程语言,不是因为这种语言有什么独特的特点,而是因为听说其他人使用这种语言
    3、设计编程语言的时候必须考虑到人类的长处和短处,就像设计鞋子的时候必须符合人类的脚型
    4、即使不考虑语言本身的优秀是否能带动流行,我想单单流行本身就肯定会使得这种语言变得更好
    5、发展最早的20个用户的最好方法可能就是使用特洛伊木马:你让人们使用一种他们需要的应用程序,这个程序偏巧就是用某种新语言开发的
    6、只有当一种语言是某个系统的脚本语言时,它才能真正成为编程语言
    7、黑客欣赏的一个特点就是简洁
    8、简洁性最重要的方面就是要使得语言更抽象
    9、对黑客来说,选择编程语言的时候,还有一个因素比简洁更重要,那就是这种语言必须能够帮助自己做到想做的事
    10、语言设计者应该假定他们的目标用户是一个天才,会做出各种他们无法预知的举动,而不是假定目标用户是一个笨手笨脚的傻瓜,需要别人的保护才不会伤到自己。如果用户真的是傻瓜,不管你怎么保护他,他还是会搬起石头砸自己的脚
    11、一种真正优秀的编程语言应该既整洁又混乱。“整洁”的意思是设计得很清楚,内核由数量不多的运算符构成,这些运算符易于理解,每一个都有很完整的独立用途。“混乱”的意思是它允许黑客以自己的方式使用
    12、为了吸引黑客,一种编程语言必须善于完成黑客想要完成的各种任务。这意味着它必须很适合开发一次性程序
    13、所谓一次性程序,就是指为了完成某些很简单的临时性任务而在很短时间内写出来的程序
    14、编程时提高代码运行速度的关键是使用好的性能分析器(profiler),而不是使用其他方法,比如精心选择一种静态类型的编程语言
    15、随着互联网软件的兴起,越来越多的程序主要不是受限于计算机的运算速度,而是受限于I/O的速度。加快I/O速度将是很值得做的一件事
    16、发明新事物的人必须有耐心,要常年累月不断地做市场推广,直到人们开始接受这种发明
    17、人们真正注意到你的时候,不是第一眼看到你站在那里,而是发现经过了这么久你居然还在那里
    18、最好的文字来自不停的修改
    19、设计一样东西,最重要的一点就是要经常“再设计”,编程尤其如此,再多的修改都不过分
    20、做出优秀成果的人,在做的过程中常常觉得自己做得不够好。其他人看到他们的成果觉得棒极了,而创造者本人看到的都是自己作品的缺陷。这种视角的差异并非偶然,因为只有对现状不满,才会造就杰出的成果
    21、任何措施,只要能让“再设计”周而复始地进行下去,就都是可取的

    十五、设计与研究

    1、设计与研究的区别看起来在于,前者追求“好”,后者追求“新”
    2、只有应用“新”的创意和理论,才会诞生超越前人的最佳设计;只有解决那些值得解决的难题(也就是“好”的难题),才会诞生最佳研究
    3、优秀的建筑师不会先设计,然后强迫用户接受,而是先研究最终用户的需求,然后做出用户需要的设计
    4、艺术的各个领域有着巨大的差别,但是我觉得任何一个领域的最佳作品都不可能由对用户言听计从的人做出来
    5、大多数优秀设计都是这样产生的,它们关注用户,并且以用户为中心
    6、如果你觉得自己在为傻瓜设计产品,那么很可能不仅无法设计出优秀的产品,而且就连傻瓜也不喜欢你的设计
    7、科学观点不需要服从人类工程学,到了艺术领域,情况就完全变了。设计必须以人为本
    8、如果你正在设计某种新东西,就应该尽快拿出原型,听取用户的意见
    9、如果你觉得画某样东西很乏味,那么你画出来的东西就会真的很乏味
    10、先做出原型,再逐步加工做出成品,这种方式有利于鼓舞士气,因为它使得你随时都可以看到工作的成效
    11、任何时候,代码都必须能够运行。如果你正在写的代码一个小时之后就可以看到运行结果,这好比让你看到不远处就是唾手可得的奖励,你因此会受到激励和鼓舞

    相关文章

      网友评论

          本文标题:黑客与画家

          本文链接:https://www.haomeiwen.com/subject/uqbsdftx.html