偉大的程序員找到解決複雜問題的簡單

2009年6月30日由prashant · 評論
提起下: 雜項

過了許久,我可以找到以下的源報價,

初級程序員創建簡單的解決方案,以簡單的問題。 高級程序員創建複雜的方式來解決複雜的問題。 偉大的程序員找到簡單的方式來解決複雜的問題。

這是從一篇文章稱美軟件由查爾斯康奈爾。

另一個是我的最愛之一的禪宗Python的 -

美麗優於醜陋。
顯優於隱式的。
簡單勝於複雜。
複雜勝於複雜。
平優於嵌套。
稀疏勝於密集。
可讀性罪名。
有特殊情況特殊,不違反規定。
雖然實用性節拍的純潔性。
默默的錯誤不應該通過。
除非明確地鴉雀無聲。
在面對不確定性,拒絕誘惑猜測。
應該有一個,最好只有一個顯而易見的方法來做到這一點。
雖然這種方式可能不是很明顯,除非你在第一荷蘭人。
現在好過。
雖然從未往往優於 *權 *現在。
如果實現很難解釋,這是一個壞主意。
如果實現容易解釋,它可能是一個好主意。
命名空間是一個偉大的想法鳴喇叭 - 讓我們做更多的!
-------------------------
然後有經典道程序設計

-

學分,對聯繫網站

翻譯杰弗裡詹姆斯

轉錄由杜克希爾拉德

轉交 Anupam特里維迪,Sajitha Tampi和Meghshyam賈甘

再HTML的ized和編輯的克拉根西特勒

-

預訂 1 - 沉默的空

編程大師如是說:

“當你已經學會了搶奪錯誤代碼從陷阱框架,它
時間讓你離開。“

1.1

神秘的東西,形成出生在沉默的空白。 獨自等候
一動不動,它是在一次,但仍然在不斷運動。 它是源
所有方案。 我不知道它的名字,所以我將它稱為濤
編程。

如果道是完美的,那麼操作系統是偉大的。 如果作業
制度是完美的,那麼編譯器是偉大的。 如果編譯器是偉大的,
那麼應用程序是偉大的。 用戶很高興和存在
協調世界。

該道程序設計流量和回報遠風的早上。

1.2

道生機器語言。 機器語言誕生了
彙編。

彙編編譯器誕生了。 現在有10000
語言。

每一種語言都有其目的,但謙虛。 每種語言表達了
陰陽軟件。 每一種語言都有自己的位置在道。

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

1.3

在開始時是道。 道生在空間和時間。
因此,空間和時間是陰陽的節目。

不懂編程之道的總的時間不多了
和空間的方案。 程序員理解道總是
有足夠的時間和空間來實現他們的目標。

怎麼會這樣呢?

1.4

聰明的程序員是講述道,遵循它。 平均
程序員是告訴道和搜索它。 愚蠢的程序員
聞道笑著它。

如果沒有笑,就沒有道。

最高的聲音是最難聽到的聲音。
展望未來,是一個退路。
偉大的天才表演本身晚年。
即使是一個完美的方案仍有缺陷。

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

圖書 2 - 古代名人

編程大師如是說:

“三天後無需編程,生活變得毫無意義。”

2.1

程序員老了神秘和深刻的。 我們無法捉摸
他們的想法,所以我們要做的就是描述他們的外貌。

意識到,像一隻狐狸穿過水。 警報,像一般的
戰場。 類,如女主人問候她的客人。 很簡單,如
兮若未琢塊木頭。 不透明的,像在漆黑的洞穴黑池。

誰可以告訴秘密他們的心和頭腦?

答案只存在於道。

2.2

大師圖靈曾夢見自己是一台機器。 當他醒來後
叫道:

“我不知道我是否圖靈夢見自己變成機器還是一
機器夢見我圖靈!“

2.3

程序員從一個非常大的電腦公司去了一家軟件
會議提出報告,然後返回到他的經理,他說:“什麼樣
程序員工作的其他公司? 他們舉止,被
冷漠的外表。 他們的頭髮長而蓬亂和
滿臉皺紋,舊衣服。 他們墜毀套房及他們的好客
作出粗暴的聲音在我的發言。“

經理說:“我不應該讓你參加這次會議。 那些
程序員生活在現實世界之外。 他們認為生活是可笑的,一
偶然的巧合。 他們來來去去,不知道的限制。
如果沒有照顧,他們只為他們的節目。 他們為什麼要麻煩
與社會習俗?

“他們是活在道。”

2.4

一個初學者問大師:“這是一個程序員,他從來沒有設計,
文件或測試他的程序。 然而,所有誰知道他認為他一
最好的程序員在世界上。 這是為什麼?“

師父說:“那個程序員掌握了道。 他走了
以後需要設計,他不會變成憤怒時,系統
崩潰,但沒有接受宇宙的關注。 他已經超越了
需要的文件;他不再關心,如果沒有人看他的代碼。
他已經超越了需要測試,每次他的方案是完美的
在自我,平靜而優雅,它們的目的不言自明。 誠然,
他已經進入了神秘的道。“

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

圖書 3 - 設計

編程大師如是說:

“當被測試的程序,但為時已晚,使設計
變化。“

3.1

曾經有一個人誰去計算機展覽。 每天他
進入,該名男子告訴警衛在門口:

“我是一個偉大的小偷,我的技藝而聞名的高買。
事先警告,這表明貿易 unplundered不得逃脫。“

這個講話極大地擾亂了後衛,因為有幾百萬
美元的計算機設備裡面,所以他仔細觀看了男子。
這個人只是偏離了展台,展台,哼著悄悄對自己說。

當這個人離開時,警衛把他叫到一邊,並搜查了他的衣服,但
什麼也沒有找到。

第二天的貿易展,該男子又對警衛
他說:“我逃過了廣闊的戰利品昨天,但是今天我會更
更好。“所以警衛更加緊密地看著他,但都無濟於事。

在最後一天的貿易展,警衛可以抑制他的好奇心
不再。 “小偷先生,”他說道,“我感到很困惑,我不能住在
和平。 請告訴我。 它是什麼,你到底偷?“

該名男子笑了。 “我偷的想法,”他說。

3.2

曾經有一個主程序員誰寫非結構化的程序。
新手程序員,刻意模仿他,也開始寫
非結構化的程序。 當新手問大師評價他的
進步時,大師批評他寫非結構化的程序,
他說,“什麼是適當的主人是不恰當的
新手。 你必須了解道超越前結構。“

3.3

從前有一個程序員誰是附著在法院的軍閥
吳。 軍閥問程序員:“哪個更容易設計:1
會計軟件和一個操作系統嗎?“

“作業系統”,回答了程序員。

軍閥發出一聲感嘆難以置信。 “當然會計
包是微不足道旁邊的一個操作系統的複雜性,“他
說。

“不,”這位程序員,“當設計一個財務軟件,
程序員經營作為調停人之間有不同
理念:要如何運作,必須出現怎樣的報告,以及如何就必須
符合稅法。 與此相反,一個操作系統不限
外界亮相。 當設計一個操作系統,程序員
尋求最簡單的設想與機器之間的和諧。 這是為什麼
操作系統更容易設計。“

軍閥吳點頭,笑了。 “這的確是很好,很好,但
哪一個更容易調試?“

程序員沒有回答。

3.4

一位經理到主程序員,表明他的要求
文件為新的申請。 經理問大師:“多久
會否採取設計這個系統,如果我給你5個程序員呢?“

“這將需要一年”,大師說。

“但我們需要這種系統立即或更早! 多久
如果我給你10採取程序員呢?“

主程序員皺起了眉頭。 “在這種情況下,將需要兩年時間。”

“如果我給你什麼百程序員呢?”

編程大師聳了聳肩。 “那這個項目就永遠不會被
完成,“他說。

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

預訂 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

一個經理將被解僱,但一個程序員誰替他
發明了一種新的方案,成為流行和暢銷。 作為一個結果,
經理保住他的工作。

經理試圖讓程序員分紅,但程序員
拒絕了,說:“我寫的計劃,因為我認為它是一
有趣的概念,因此我不期望回報。“

經理聽後說:“這位程序員,但他認為
小自尊的立場,理解和正確的職責 1
僱員。 讓我們大家一起推動他的崇高地位的管理
顧問!“

但是,當被告知此情況,程序員又一次拒絕了,說:“我的存在使
我可以計劃。 如果我被提升了,我會做什麼,但浪費
每個人的時間。 現在我可以走? 我有一個計劃,我的工作了。“

6.4

一位經理對程序員,並告訴他們:“至於你的工作
時間:你將不得不進來在上午9點離開
下午五家。“這回,他們都成了憤怒和幾個
當場辭職。

因此,經理說:“好吧,在這種情況下你可以設定自己的
工作時間,只要您完成您的項目如期進行。“該
程序員,現在滿意了,他們在中午和凌晨工作
時間在上午。

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

圖書 7 - 企業智慧

編程大師如是說:

“你能證明一個企業的執行方案,但你不能
使他精通電腦。“

7.1

一個初學者問大師:“在東方,有一個很大的樹結構
男子致電`公司總部。 這是為數眾多的大小與
副總裁和會計師。 它發出大量的備忘錄,每個
他說'去吧,因此! 或'去吧,希澤! 沒有人知道是什麼意思。 一切
今年新的名字放在樹枝上,但都無濟於事。 怎樣才能
這樣不自然的實體呢?“

大師說:“你看這個巨大的結構,並
不安的是,它沒有任何理性的目的。 你可以不採取從娛樂
其無盡的波動? 你不喜歡平靜易於編程
它的掩護下分行? 你為什麼困擾其
無用?“

7.2

在東方,有一個較大的鯊魚這是比所有其他魚類。
轉變成鳥的翅膀如雲填補了天空。 當這
鳥移動全國的土地,它帶來了一個消息從公司
總部。 此消息中掉進了它的程序員,
像海鷗作出標記後,在海灘上。 這時那鳥坐騎上
風和,與藍天,背,返回家園。

新手程序員在不知道在盯著鳥,因為他的理解
沒有。 一般的程序員怕鳥的到來,因為他擔心
它的消息。 主程序員繼續工作在他的終端,為
他不知道,鳥來了又走了。

7.3

魔術師了象牙之塔帶著他的最新發明的
編程大師審查。 魔術師輪式成一個大黑盒子
主人的辦公室,而在沉默中等待主人。

“這是一個綜合的,分佈式,通用工作站,”開始
魔術師“,人體工學設計的專有操作系統
系統,第六代的高級語言,以及多種國家最先進的用戶
接口。 我的助手花了幾百人年的時間興建。
難道不令人吃驚?“

大師揚了一下眉毛。 “這的確是令人吃驚,”他
說。

“公司總部已經說了,”這位學究繼續說:“這
大家使用這台工作站作為平台的新方案。 你是否同意
這樣做呢?“

“當然,”大師回答說,“我將它運到
數據中心立即!“而魔術師回到他的塔,以及
高興。

幾天後,一個新手走進辦公室主
程序員說:“我找不到我的新上市的方案。
你知道它可能是什麼?“

“是的,”大師回答說,“你的程序是堆放在該平台中
數據中心。“

7.4

主程序員移動從計劃項目,沒有恐懼。 沒有
改變管理可以傷害他。 他不會被解僱,即使
項目被取消。 這是為什麼? 他充滿了道。

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

預定 8 - 硬件和軟件

編程大師如是說:

“沒有風,草不會移動。 如果沒有軟件,硬件
無用的。“

8.1

一個初學者問大師:“我知道有一家電腦公司是多
大於所有其他人。 它上面的塔就像一個巨人之間的競爭
矮星。 任何一個部門可以包括它的整個業務。 為什麼
這樣呢?“

主人回答說:“你為什麼問這個愚蠢的問題? 這家公司
大是因為它是很大的。 如果它只做硬件,沒有人會買
它。 如果它只是軟件,沒有人會使用它。 如果它只維護
系統,人們只會把它像一個僕人。 但是,由於它結合了所有
這些東西,人們認為這其中的神! 如果不尋求
努力,毫不費力地征服它。“

8.2

通過一個主程序員新手程序員的一天。 主人說
初級用戶的關注與手持電腦遊戲。 “請原諒我,”
他說,“我可以看一下?”

新手把注意力和設備交給主人。 “我
看到該設備聲稱有三個層次的玩法:容易,中等,高
硬說:“主人。 “但是每個這樣的裝置有另一個層次的
遊戲中,該器件的目的不是征服人類,也不是被征服
由人。“

“請問大師,”懇求的新手,“如何做一個發現這
神秘的呢?“

大師把遊戲機摔到地上,粉碎它踩在腳下。
突然醒悟的新手。

8.3

從前有一個程序員誰工作時微處理器。 “你看如何
富裕我在這裡,“他說大型機程序員誰前來參觀,
“我有我自己的操作系統和文件存儲設備。 我沒有要
與其他人分享我的資源。 該軟件是自洽和
易於使用。 你為什麼不辭去你現在的工作到這裡來?“

大型機程序員然後開始描述他的系統給他的朋友,
他說:“大型機就像古代聖人的沉思中
數據中心。 它的磁盤驅動器所在的端至端的就像是一個巨大的海洋
機械。 該軟件是多方面的鑽石,和錯綜複雜
作為一個原始叢林。 這些方案,每一個獨特的,將通過系統
就像一個快速流動的河流。 這就是為什麼我很高興我在哪裡。“

微機程序員聽了這些話後,默默不語。 但兩
程序員仍然朋友,直到結束的日子。

8.4

硬件軟件會見了道路上的Changtse。 軟件說:“你
陰我陽。 如果我們一起旅行,我們將成為著名的和賺取
巨額的資金。“而所以走到了一起,考慮怎樣征服
世界。

目前,他們會見了固件,誰是穿著破爛的碎布及步履蹣跚
沿支撐一個棘手的大棒。 固件對他們說:“道在於
超越陰陽。 它是沉默的,仍作為一個游泳池的水。
不追求名利,所以沒有人知道它的存在。 它不尋求
幸福,它本身是內完成。 它的存在超越時空
時間。“

軟件和硬件,羞愧,回到自己的家園。

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

預定 9 - 後記

編程大師如是說:

“這是你離開的時候了。”

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

如果你喜歡這些,你可能還喜歡閱讀更糟糕的是更好的