伟大的程序员找到简单的解决复杂问题

2009年6月30日, prashant · 评论
提交下 MISC

很长一段时间后,我能找到的源报价

初级程序员创建简单的问题简单的解决方案。 高级程序员创建复杂的解决方案到复杂的问题。 伟大的程序员找到解决复杂问题的简单解决方案。

这是一篇文章,呼吁由查尔斯·康奈尔美丽的软件

另一个我最喜欢的是Python的禅 -

美丽优于丑陋。
明确的是比隐含更好。
简单比复杂好。
复杂的是比复杂。
平板是优于嵌套。
稀疏较密集更好。
可读性罪名。
特殊情况下,是不是够特别,打破规则。
虽然实用性击败纯度。
错误应该永远默默传递。
除非明确沉默。
在模糊的脸,拒绝猜测的诱惑。
应该有一个,最好只有一个显而易见的方式做到这一点。
虽然这种方式可能起初并不明显,除非你是荷兰人。
现在是总比没有好。
虽然从未往往比*权*现在。
如果实现是很难解释的,这是一个坏主意。
如果实现是很容易解释,它可能是一个好主意。
命名空间是一个鸣喇叭伟大的想法 - 让我们做这些!
-------------------------
再有就是经典编程之道

-

学分链接网站

杰弗里·詹姆斯译

转录由杜克Hillard

转交Anupam Trivedi,Sajitha Tampi和Meghshyam Jagannath

重新HTML化的和由Kragen Sittler的编辑

-

本书第1 - 寂静的虚空

的编程大师如是说:

“当你已经学会从陷阱帧,抢夺错误代码,
将是你离开的时候了。“

1.1

神秘的东西正在形成,出生在寂静的虚空。 等待单独与
一动不动,仍然是一次,但在不断地运动。 这是源
所有的程序。 我不知道它的名字,所以我将它称为陶
编程。

如果道是伟大的,那么操作系统是巨大的。 如果操作系统
系统是伟大的,那么编译器是伟大的。 如果编译器是伟大的,
然后,应用程序是伟大的。 用户高兴和存在
在世界的和谐。

编程之道流远,早上风的回报。

1.2

道生机器语言。 机器语言诞生了
汇编。

生下汇编编译器。 现在有一万
语言。

每一种语言都有其目的,但谦虚。 每种语言都表达
以阴阳软件。 每一种语言都有其内道的地方。

但不要用COBOL编程,如果你能避免它。

1.3

在开始时道。 陶生下了空间和时间。
因此,空间和时间是编程的阴阳。

总是不理解道的程序员的时间不多了
为他们的程序和空间。 程序员理解陶总是
有足够的时间和空间来实现他们的目标。

否则怎么会这样呢?

1.4

聪明的程序员告诉陶,并遵循它。 平均
程序员告诉涛和它的搜索。 愚蠢的程序员
约陶告诉它笑。

如果不笑,就不会有陶。

最高声音是最难听到。
展望未来,是一种撤退。
伟大的天才,显示自己在生命的晚期。
即使是一个完美的方案仍然有错误。

-------------------------

第2册 - 古代大师

的编程大师如是说:

“经过三日不编程,生活变得毫无意义。”

2.1

老程序员是神秘而深刻。 我们无法捉摸
他们的想法,所以我们所做的一切是描述自己的外貌。

知道,像狐狸过水。 提醒,像一般上
战场。 一种,像一个女主人,迎接她的客人。 简单的,像
呆若木鸡。 不透明的,就像在黑暗的洞穴黑池。

谁可以告诉他们的心和头脑的秘密是什么?

答案只存在于陶。

2.2

超级大师图灵曾梦见自己是一台机器。 当他醒来时,他
惊呼:

“我不知道我是否图灵梦见我是一台机器,或
做梦,我图灵机!“

2.3

从一个非常大的电脑公司的程序员参加一个软件
会议后,报告给他的经理,他说:“什么样
程序员的工作,为其他公司吗? 他们表现不好,
与外表冷漠。 他们的头发长,蓬头垢面,
衣服是满脸皱纹,老。 他们坠毁好客套房和他们
在我的演讲粗鲁的声音。“

经理说:“我应该让你参加这次会议,。 那些
程序员生活在现实世界之外。 他们认为生活是荒谬的,
偶然的巧合。 他们来来去去,不知道的局限性。
无牵挂,他们只住他们的节目。 他们为什么要打扰
社会习俗?

“他们是活在道。”

2.4

一个初学者问大师:“这是一个程序员,他从来没有设计,
文件或测试他的程序。 然而,所有谁知道他,认为他是一个
在世界上最好的程序员。 这是为什么?“

大师回答道:“那个程序员掌握了道。 他已经走了
超出了设计的需要;他不生气时系统
崩溃,但接受的宇宙,而不用担心。 他已经超越了
需要的文件;他不再在乎别人看到他的代码。
他已经超越了需要进行测试,他的每一个方案是完美的
在自我,平静而优雅,其目的不言自明。 诚然,
他已进入道的奥秘。“

-------------------------

本书3 - 设计

的编程大师如是说:

“程序被测试时,它是为时已晚,使设计
的变化。“

3.1

曾经有一个人去计算机展览。 因为他的每一天
进入,该名男子在门口的警卫告诉:

“我是一个伟大的小偷行窃功勋闻名。
谅解,为这个贸易展会,不得逃避unplundered。“

这个讲话扰乱警卫很大,因为有百万
美元的计算机设备里面,所以他仔细观看的人。
这个人只是从一个摊位逛到另一个摊位,悄悄给自己哼唱。

该名男子离开时,警卫把他拉到一边,搜查了他的衣服,但
什么也没有发现。

在展览会的第二天,男子返回,并斥责卫兵
他说:“我逃昨天满载而归,但是今天我会连
更好。“所以警卫更加紧密地看着他,但无济于事。

在展览会的最后一天,警卫再也不能忍住他的好奇心
不再。 “小偷先生,”他说,“我很困惑,我不能住在
和平。 请赐教。 这是什么,你偷了吗?“

该名男子笑了​​。 “我在偷想法,”他说。

3.2

曾经有一位编程大师,谁写非结构化的程序。
初学者刻意模仿他,也开始写
非结构化的程序。 当初学者问大师评价他的
进步时,大师批评他写非结构化的程序,
没有适当的说,“什么是适当的主
新手。 在超越结构化之前,你必须明白的道。“

3.3

曾经有程序员一名军阀法院的
吴。 军阀问程序员:“哪个更容易设计:
会计包或操作系统吗?“

“操作系统”,这位程序员回答说。

军阀发出一声难以置信的惊叹号。 “当然,会计
包旁边的一个操作系统的复杂性是微不足道的,“他
说。

“事实并非如此,”程序员说,“当设计一个会计包,
程序员的工作作为一种人与人之间有不同的调停
思路:它必须如何运作,如何其报告中必须出现,以及如何就必须
符合税法。 相反,一个操作系统不仅限于
外露面。 当设计一个操作系统,程序员
寻求最简单的机器和思想之间的和谐。 这就是为什么
操作系统是更容易设计。“

吴笑着说。 “那都是很好很好,但
这是更容易调试吗?“

程序员没有回答。

3.4

一位经理到编程大师,显示了他的要求
一个新的应用程序文件。 经理问大师:“多久
将它设计这个系统,如果我给你5个程序员呢?“

“这将需要一年时间,”大师说。

“但我们需要这种系统立即或更早! 多久
采取如果我给你1​​0程序员呢?“

编程大师皱起了眉头。 “在这种情况下,这将需要两年时间。”

“如果我给你一百个程序员呢?”

主程序员耸耸肩。 “然后设计将永远
完成后,“他说。

-------------------------

书4 - 编码

的编程大师如是说:

“一个精心编写的程序是它自己的天堂;欠佳的书面程序
它自己的地狱。“

4.1

一个程序应该是轻灵,像一个子程序连接
字符串的珍珠。 应保留方案的精神和意图
整个。 应该既不太少或太多,既不
不必要的循环也不是无用的变量,既不缺少结构,也不
至于僵硬呆板。

一个程序应该遵循最小惊讶“`”。 这是什么法?
它仅仅是该计划的方式向用户应该总是回应
他至少让人惊讶。

一个方案,不管多么复杂,应作为一个单一的单位。 该方案
应直接由内部逻辑,而不是由外表。

如果该计划未能在这些要求,这将是在一个国家
无序和混乱。 只有这样,才能纠正这种改写
方案。

4.2

一个初学者问大师:“我有一段时间运行一个程序,
有时中止。 我已经完全遵循编程的规则,但我
完全莫名其妙。 是什么原因呢?“

主人回答说:“你困惑是因为你不明白陶。
只有傻瓜预计从他的同胞的人类理性的行为。 你为什么
期望从一个人类建造的机呢? 计算机模拟
决定,只道是完美的。

“编程的规则是暂时的,只道是永恒的。 因此
你必须考虑涛之前收到的启示。“

“但问:我怎样才能知道当我收到的启示呢?”
新手。

,“大师回答说:”你的程序将正常运行。

4.3

法师解释道的性质,他的一个新手。
陶体现在所有的软件 - 无论多么微不足道,说:“
主。

初学者问:“是在一个手持计算器之道吗?”。

“是的,”他回答说。

“是道,在视频游戏吗?”持续的新手。

“即使是在一个视频游戏,”师傅说。

“道为一台个人电脑,在DOS”

主咳嗽,并略有改变他的位置。 “这个教训是超过
今天,“他说。

4.4

王王子的程序员编写的软件。 他的手指跳舞后
键盘。 没有错误信息,程序编制的程序
像一个温柔的风跑。

“好极了!”王子感叹道,“你的技术是无可挑剔的!”

说程序员转向从他的终端,“我”技术?“
遵循的是道 - 超越了所有的技术! 当我第一次开始的节目,我
会看到我之前在一个大规模的问题。 三年后,我没有
看到的是。 相反,我用的子程序。 但现在我什么也看不见。
我的整个存在在无形无效。 我的感觉是闲置的。 我的精神,
自由地工作,没有计划,遵循自己的本能。 总之,我的程序
写入本身。 诚然,有时也有难以解决的问题。 我看到他们
来了,我放慢,静静地观察。 然后,我改变了一行代码
和困难,像一阵轻烟消失。 然后我编译
方案。 我坐不住了,并让工作的喜悦。 关闭我的
一会儿眼睛,然后注销。“

王王子说,“会,我的程序员都是明智的!”

-------------------------

预订5 - 维护

的编程大师如是说:

“尽管一个程序,但三线长,总有一天它必须
保持下去。“

5.1

需要一个良好的使用门在铰链上的油。
迅速流动的流不增长停滞。
无论是声音和思想都不能在真空中传播。
如果不使用软件腐烂。

这些都是伟大的奥秘。

5.2

经理问程序员多久,会带他来完成
程序上,他的工作。 “明天,将完成”
程序员及时回答。

“我想你是不切实际的,”经理说,“说实话,如何
需要多长时间?“

程序员想了一会儿。 “我有一些特点,我想
添加。 这将需要至少两个星期,“他最后说。

“即使是太多期望,”经理坚持,“我一定会
满意,如果你只是告诉我,当程序是完整的。“

程序员同意这一点。

几年后,经理退休。 在他退休的方式
午餐时,他发现程序员在他的终端睡着了。 他曾
编程整夜。

5.3

曾经被分配到一个新手程序员编写一个简单的财务方案。

他疯狂地工作了很多天,但是当他的主人检讨
他的计划,他发现,它包含一个屏幕编辑器,一套
图形程序,人工智能接口,但
没有丝毫提及任何财务。

当主对此问,新手成为愤慨。 “不要
等的不耐烦了,“他说,”我最终把财务的东西。“

5.4

一个好的农民不会忽视他的庄稼?
一个好的老师不会忽视,即使最不起眼的学生吗?
一个好的父亲不会允许任何一个孩子挨饿?
一个好的程序员不会拒绝,以维护自己的代码吗?

-------------------------

预订6 - 管理

的编程大师如是说:

“让程序员是许多经理 - 那么所有会
生产力。“

6.1

当经理们忙于无休无止的会议,程序员在写游戏。 何时
会计师谈论季度盈利,即将开发预算
被削减。 当老科学家在谈天空的蓝色,云是即将推出
英寸

诚然,这不是编程之道。

当管理者作出承诺,游戏节目被忽略。 何时
会计师做长期计划,是和谐和秩序
恢复。 当高级科学家处理手头上的问题,
问题将很快得到解决。

诚然,这是编程之道。

6.2

为什么程序员非生产性?
因为他们把时间都浪费在开会。

为什么程序员难于管理?
因为管理者的干预太多。

为什么程序员一个接一个地辞职由?
因为他们都烧坏了。

在管理不善的工作,他们不再看重自己的工作。

6.3

一位经理将被解雇,但为他工作的程序员
发明了一种新的方案,成为流行和畅销。 作为结果,该
经理保住了他的工作。

经理试图给程序员分红,但程序员
拒绝了,说:“我写的程序,因为我认为这是一个
有趣的概念,因此,我希望没有奖励。“

听到这个经理说,“这程序员,但他认为
小自尊的位置,也明白了一个适当的责任
雇员。 让我们推动他管理的崇高地位
顾问!“

但这位程序员又一次拒绝了,说,“我的存在
我可以计划。 如果我被提拔,我会做只是浪费
大家的时间。 我可以走了吗? 我有一个程序,我的工作。“

6.4

一位经理去他的程序员,并告诉他们:“至于你的工作
时间:你要来,在早上九点离开
在下午五。“在此,他们都成了愤怒和几个
当场辞职。

因此,经理说:“所有的权利,在这种情况下,你可以设置自己的
工作时间,只要你按时完成您的项目。“
程序员,现在满意了,中午工作到凌晨
早上小时。

-------------------------

第七册 - 企业智慧

的编程大师如是说:

“你能证明一个企业的执行程序,但你不能
让他计算机知识。“

7.1

一位初学者问大师:“在东方,有一个伟大的树结构
人们称为'公司总部'。 臃肿的形
副总裁和会计师。 它发出大量的备忘录,每个
说'去,因此! 或`去,到这里来!“ 没有人知道是什么意思。 一切
一年新的名字放在树枝上,但都无济于事。 如何才能
这种非自然的实体是什么?“

主人回答说:“你认为这个巨大的结构和
感到不安的是,它有没有合理的目的。 你能不能采取游乐
无尽的回旋? 你不享受无忧无虑的轻松编程
下方的掩护分行? 你为什么要打扰其
无用吗?“

7.2

在东部地区,这是比所有其他的鱼大鲨鱼。
成鸟的翅膀像填补了天空云层的变化。 当此
鸟移动全国的土地,它带来了企业消息
总部。 此消息下降到程序员中,
像一只海鸥在海滩的标志。 然后安装在鸟
风,并在其后面的蓝天,返回家园。

难怪新手程序员在盯着鸟,他理解
不。 一般的程序员最怕鸟的到来,为他担心
它的消息。 主程序员,继续工作在他的终端,
他不知道,鸟来了又走。

7.3

魔法师了象牙之塔带来了他最新发明
主程序员检查。 魔术师轮式一个大黑盒子
主人的办公室,而主人在沉默中等待。

“开始”,这是一个综合的,分布式的,通用的工作站,
魔术师“,符合人体工程学的设计与专有操作系统
系统,第六代语言,多个国家的艺术用户
接口。 花了我的助手好几百人年建设。
这是不令人惊讶吗?“

主略微扬眉。 “这实在是惊人的,”他
说。

“公司总部已经吩咐,”魔术师继续“
每个人都要用这个工作站,作为一个新的方案的平台。 你是否同意
这样做呢?“

“当然,”大师回答说,“我将它运到
数据中心立刻!“魔术师回到他的塔,
高兴。

几天后,一个新手走进大师的办公室
程序员说,“我无法找到我的新计划上市。
你可能知道它在哪里?“

“是的,”大师回答说,“上市堆放平台上
数据中心。“

7.4

编程大师从程序到程序移动毫不畏惧。 没有
改变管理可以伤害他。 他不会被解雇,即使
项目被取消。 这是为什么? 他充满了陶。

-------------------------

书8 - 硬件和软件

的编程大师如是说:

“没有风,草不动。 没有软件,硬件
没用。“

8.1

一个初学者问大师:“我认为,一个电脑公司是多
比所有其他人。 这高于其竞争当中就像一个巨大的塔
相形见绌。 任何一个部门可以组成一个完整的业务。 为什么
这样呢?“

主人回答说:“你为什么问这样愚蠢的问题呢? 该公司
是大的,因为它是大的。 如果它只做硬件,就没有人会买
它。 如果只是做软件,没有人会使用它。 如果它只维护
系统,人们会像对待一个仆人。 但是,因为它结合了所有
这些东西,人们认为众神之一! 不求
努力,毫不费力地征服了。“

8.2

有一天,一位编程大师,通过一个新手程序员。 主指出
用手提电脑游戏的新手的当务之急。 “对不起,”
他说,“我可以检查吗?”

新手狂奔的关注和设备交给主。 “我
看到该设备号称有三个层次的玩法:容易,中等,
硬,“师傅说。 “然而,每一个这样的设备有另一个水平
发挥设备的目的不是征服人类,也不被征服
由人类。“

“请问大师”,恳求的新手,“如何找到这
神秘的设置吗?“

主下跌到地面设备和粉碎它踩在脚下。
突然初学者明白了。

8.3

曾经有一个程序员工作在微处理器。 “你看如何
小康我在这里,“他说,前来参观的大型机程序员,
“我有我自己的操作系统和文件存储设备。 我没有
与其他人分享我的资源。 该软件是自洽
易于使用。 为什么你不辞去你现在的工作和我一起在这里吗?“

大型机的程序员,然后开始对他的朋友来形容自己的系统,
说:“大型机坐落在中间,像一个古老的圣人沉思
数据中心。 其磁盘驱动器所在月底到年底,像一个巨大的海洋
机械。 该软件是多方面的钻石,令人费解的
作为一个原始丛林。 的节目,每一个独特的,系统通过移动
像一个迅速流动的河流。 这就是为什么我很高兴我在哪里。“

微机程序员听了这些话后,陷入了沉默。 但两
程序员仍然是朋友,直到结束的日子。

8.4

硬件满足对道路Changtse软件。 软件说:“你是
我和尹扬。 如果我们一起旅行,我们将成为著名的和赚取
巨额金钱。“等规定一起,想征服
世界。

目前,他们遇到了固件,人衣衫褴褛,步履蹒跚
一起撑起一个棘手的棒。 固件对他们说:“道在于
超越阴阳。 它是沉默,还是作为一个水池。
不求名利,所以没有人知道它的存在。 它不寻求
它的财富,在本身是完整的。 它的存在和超越时空
时间。“

软件和硬件,羞愧,回到自己的家园。

-------------------------

9本书 - 后记

的编程大师如是说:

“这是你离开的时候了。”

-------------------------

如果你喜欢这些,你可能还喜欢读恶化是更好