設計意味著做出符合人類特點和需要的產(chǎn)品馋劈。但是屋摇,“人類”不僅包括用戶处铛,還包括設計師饲趋,所以設計工作本身也必須符合設計師的特點和需要。
“弱即是強"指的是一種軟件傳播的模式撤蟆,由Common Lisp專家理査德·加布里埃爾(Richard P. Gabriel)于1991年在Lisp: Good News, Bad News, How to Win Big(http://www.dreamsongs.com/WIB.html)一文中首先提出奕塑。它的含義非常廣泛,涉及軟件設計思想的各個方面家肯,其中的一個重要結(jié)論就是軟件功能的增加并不必然帶來質(zhì)量的提高龄砰。有時候,更少的功能(“弱”)反而是更好的選擇(“強”)讨衣,因為這會使得軟件的可用性提高换棚。相比那些體積龐大、功能全面反镇、較難上手的軟件固蚤,一種功能有限但易于使用的軟件可能對用戶有更大的吸引力。
在軟件領(lǐng)域歹茶,貼近用戶的設計思想被歸納為“弱即是強”(Worse is Better)模式^夕玩。這個模式實際上包含了好幾種不同的思想,所以至今人們還在爭論它是否真的成立惊豺。但是燎孟,其中有一點是正確的,那就是如果你正在設計某種新東西尸昧,就應該盡快拿出原型缤弦,聽取用戶的意見。
我說設計必須考慮用戶的需求彻磁,這里的“用戶”并不是指所有普羅大眾碍沐。事實上狸捅,你可以選擇任何想要的目標用戶。比如累提,假定你正在設計一種工具尘喝,你可以把目標用戶定為初學者,也可以定為專家級用戶斋陪。一種人眼里的優(yōu)秀設計可能在另一種人眼里卻是糟糕無比朽褪。這里的重點是你必須選出某些人作為你的目標用戶。我覺得无虚,除非設定目標用戶缔赠,否則一種設計的好壞根本無從談起。
可是友题,讓用戶滿意并不等于迎合用戶的一切要求嗤堰。用戶不了解所有可能的選擇,也經(jīng)常弄錯自己真正想要的東西度宦。
假定你的語言已經(jīng)能夠滿足上面三項條件——一種免費的實現(xiàn)踢匣,一本相關(guān)書籍,以及語言所依附的計算機系統(tǒng)——那么還需要做什么才能使得黑客喜歡上你的語言戈抄? 黑客欣賞的一個特點就是簡潔离唬。
編程語言還需要有一本介紹它的書。這本書應該不厚划鸽,文筆流暢输莺,而且包含大量優(yōu)秀的范例。布賴恩·柯尼漢和丹尼斯·里奇合寫的《C程序設計語言》(C Programming Language)就是這方面的典范裸诽。眼下嫂用,我大槪還能再加一句,這一類書籍之中必須有一本由O'Reilly公司出版發(fā)行崭捍。這正在變成是否能吸引黑客的前提條件了。
衡量語言的編程能力的最簡單方法可能就是看代碼數(shù)量啰脚。
如果是招聘C++或Java程序員的公司殷蛇,對你也不會構(gòu)成威脅。如果他們招聘Perl或Python程序員橄浓,就稍微有點威脅了粒梦。至少這聽起來像一家技術(shù)公司,并且由黑客控制荸实。如果我有幸見到一家招聘Lisp黑客的公司匀们,就會真的感到如臨大敵。
那些內(nèi)核最小准给、最干凈的編程語言才會存在于進化的主干上泄朴。一種語言的內(nèi)核設計得越小重抖、越干凈,它的生命力就越頑強祖灰。
會用到低層次語言的原因就是效率問題钟沛。如果你非常關(guān)注運行速度,那么最好使用接近機器的語言局扶。大多數(shù)操作系統(tǒng)都是用C語言寫的恨统,這并非偶然。
好設計常常是大膽的設計
好設計是成批出現(xiàn)的
好設計常常是奇特的設計
好設計是能夠復制的設計
好設計是一種再設計
好設計是模仿大自然的設計三妈。
好設計是對稱的設計畜埋。對稱有兩種:重復性對稱和遞歸性對稱。遞歸性對稱就是指子元素的重復畴蒲,比如樹葉上葉脈的紋路悠鞍。
好設計是看似容易的設計。
功能決定形式
好設計是艱苦的設計饿凛。
好設計通常是有點趣味性的設計狞玛。
好設計是啟發(fā)性的設計
好設計是解決主要問題的設計。
好設計是永不過時的設計涧窒。只要沒有錯誤心肪,每一個數(shù)學證明都是永不過時的
好設計是簡單的設計。從數(shù)學領(lǐng)域到繪畫領(lǐng)域纠吴,你都可以聽到這種說法
在一個剝奪個人財產(chǎn)的社會硬鞍,財富創(chuàng)造活動中所有那些沒有樂趣的事情都會急劇地放慢,乃至停頓
因為要是你現(xiàn)在還處于“老爹模式”戴已,認為財富就是從某個口子流出來固该、被大家分享的東西,而不是來源于滿足他人的需求的創(chuàng)造活動糖儡,那么當你注意到有些人賺錢比其他人多得多時伐坏,你就會不偏不倚地得出“不公平”這個結(jié)論。
每個人的技能不同握联,導致收入不同桦沉,這才是貧富分化的主要原因,正如邏輯學的“奧卡姆剃刀”原則所說金闽,簡單的解釋就是最好的解釋纯露。
理解這些有助于回答一個重要的問題:為什么歐洲在歷史上變得如此強大?是因為歐洲優(yōu)越的地理位置代芜,還是因為歐洲人天生就比較優(yōu)秀埠褪,或者是宗教原因?答案(或者至少是近因)可能就是歐洲人接受了一個威力巨大的新觀點:允許賺到大錢的人保住自己的財富。
關(guān)于工業(yè)革命的起因钞速,已經(jīng)有大量的文獻論述過贷掖。但是,創(chuàng)造財富的人能夠心安理得地享用自己的財富玉工,這確實是工業(yè)革命的一個必要條件(可能不是充分條件)^羽资。—個反面證據(jù)就是遵班,試圖違背這個條件的國家經(jīng)濟都出現(xiàn)了倒退屠升,比如20世紀六七十年代的英國工黨政府(它的后果相對不太嚴重)。沒有財富的激勵狭郑,技術(shù)革新就會逐漸停頓腹暖。
這兩種收購動機中,歸根結(jié)底的因素都是用戶數(shù)量翰萨。你以為買家在收購前會做很多研究脏答,搞清楚你的公司到底值多少錢,其實根本不是這么回事亩鬼。他們真正在意的只是你擁有的用戶數(shù)量殖告。
總的來說,這也是很好的處事原則雳锋。如果你有兩個選擇黄绩,就選較難的那個。如果你要選擇是坐在家里看電視玷过,還是外出跑步爽丹,那就出去跑步吧。這個方法有效的原因可能是遇到兩個一難一易的選擇時辛蚊,往往出于懶惰的緣故粤蝎,你會選擇較易的那個選項。在意識深處袋马,你其實知道不懶惰的做法會帶來更好的結(jié)果初澎,這個方法只是迫使你接受這一點÷橇荩」
要致富碑宴,你需要兩樣東西:可測量性和可放大性。你的職位產(chǎn)生的業(yè)績卧檐,應該是可測量的墓懂,否則你做得再多焰宣,也不會得到更多的報酬霉囚。此外,你還必須有可放大性匕积,也就是說你做出的決定能夠產(chǎn)生巨大的效應盈罐。
一個大學畢業(yè)生總是想“我需要一份工作”榜跌,別人也是這么對他說的,好像變成某個組織的成員是一件多么重要的事情盅粪。更直接的表達方式應該是“你需要去做一些人們需要的東西”钓葫。即使不加入公司,你也能做到票顾。公司不過是一群人在一起工作础浮,共同做出某種人們需要的東西。真正重要的是做出人們需要的東西奠骄,而不是加入某個公司^豆同。
我們說,財富就意味著人們需要的東西含鳞,那么把商品送到顧客手中也是人們需要的影锈。許許多多不生產(chǎn)物質(zhì)商品的公司都是在如此創(chuàng)造財富。幾乎所有情況下蝉绷,公司的存在目的就是滿足人們的某種需要鸭廷。
交換媒介的優(yōu)點是,它使得交易可以進行下去熔吗。缺點是辆床,它往往模糊了交易的實質(zhì)。人們覺得做生意就是為了掙錢磁滚,但是金錢其實只是一種中介佛吓,讓大家可以更方便地獲得自己想要的東西。大多數(shù)生意的目的是為了創(chuàng)造財富垂攘,做出人們真正需要的東西^维雇。
創(chuàng)造有價值的東西就是創(chuàng)造財富。你最好先搞清楚什么是財富晒他。財富與金錢并不是同義詞^吱型。財富存在的時間與人類歷史一樣長久,甚至更長久陨仅,事實上螞蟻也擁有財富津滞。金錢是一種歷史相對較短的發(fā)明。
至于如何做出用戶喜歡的產(chǎn)品灼伤,下面是一些通用規(guī)則触徐。從制造簡潔的產(chǎn)品開始著手,首先要保證你自己愿意使用狐赡。然后撞鹉,迅速地做出1.0版,并且不斷以改進,整個過程中密切傾聽用戶的反饋鸟雏。用戶總是對的享郊,但是不同的用戶要求不一樣。低端的用戶要求簡化操作和清晰易懂孝鹊,高端的用戶要求你增加新功能炊琉。軟件最大的好處就是讓一切變得簡單。但是又活,做到這一點的方法是正確設置默認值苔咪,而不是限制用戶的選擇。如果競爭對手的產(chǎn)品很糟糕柳骄,你也不要自鳴得意悼泌。比較軟件的標準應該是看對手的軟件將來會有什么功能,而不是現(xiàn)在有什么功能夹界。無論何時馆里,你都要使用自己的軟件
從制造簡潔的產(chǎn)品開始著手,首先要保證你自己愿意使用可柿。然后鸠踪,迅速地做出1.0版,并且不斷以改進复斥,整個過程中密切傾聽用戶的反饋营密。用戶總是對的,但是不同的用戶要求不一樣目锭。低端的用戶要求簡化操作和清晰易懂评汰,高端的用戶要求你增加新功能。軟件最大的好處就是讓一切變得簡單痢虹。但是被去,做到這一點的方法是正確設置默認值,而不是限制用戶的選擇奖唯。如果競爭對手的產(chǎn)品很糟糕惨缆,你也不要自鳴得意。比較軟件的標準應該是看對手的軟件將來會有什么功能丰捷,而不是現(xiàn)在有什么功能坯墨。無論何時,你都要使用自己的軟件
首先病往,管理企業(yè)其實很簡單捣染,只要記住兩點就可以了:做出用戶喜歡的產(chǎn)品,保證開支小于收入停巷。
「E.B.懷特(E.B.White耍攘,1899—1985)累贤,美國當代著名作家、散文家少漆,常年擔任《紐約客》雜志的主要撰稿人,以優(yōu)美的語體風格著稱于世硼被∈舅穑——譯者注」
口碑效應發(fā)揮效果需要很長一段時間。報道我們的媒體也不是很多嚷硫,后來我們以每月1.6萬美元(再加上一些認股權(quán)證)的代價检访,聘請了Schwartz Communications公司(他們大概是高科技行業(yè)中最好的公關(guān)公司),媒體報道才多了起來仔掸。但是脆贵,真正起到?jīng)Q定性作用的銷售推廣渠道只有一個,那就是我們自己的網(wǎng)站
沒有盜版是一種“優(yōu)勢”起暮,但也是一個問題卖氨。一定數(shù)量的盜版對軟件公司是有好處的。不管你的軟件定價多少负懦,有些用戶永遠都不會購買筒捺。如果這樣的用戶使用盜版,你并沒有任何損失纸厉。事實上系吭,你反而賺到了,因為你的軟件現(xiàn)在多了一個用戶贴妻,市場影響力就更大了一些帐姻,而這個用戶可能畢業(yè)以后就會出錢購買你的軟件惨远。
他們必須正確地設計軟件,使得它能夠平滑升級则吟,不讓使用者感到困惑。
“你的電腦”這個概念正慢慢成為過去時锄蹂,取而代之的是“你的數(shù)據(jù)”逾滥。你應該可以從任何電腦上獲取你的數(shù)據(jù)“芷ィ或者更準確地說寨昙,在任何終端設備上獲取你的數(shù)據(jù),終端設備不一定是電腦掀亩。
大多數(shù)人舔哪,在大多數(shù)時候,總是選擇最省事的做法槽棍。如果互聯(lián)網(wǎng)軟件能夠擊敗桌面軟件捉蚤,一定是贏在更方便這一優(yōu)勢上抬驴。無論從用戶的角度還是從開發(fā)者的角度來看都是如此。
所謂“元標簽”缆巧,就是對某個標簽的抽象描述布持。如果人們開始討論元標簽,那么原來的標簽反而不會受到注意了陕悬。
具體來說题暖,一種方法就是逐步把辯論提升到一個抽象的層次。假定總的來說捉超,你反對言論審查制度
與笨蛋辯論胧卤,你也會變成笨蛋。
我對任何被禁止的東西都有特別強烈的好奇心拼岳。我要親眼看一下枝誊,然后自己做決定。
大多數(shù)的斗爭惜纸,不管它們實際上爭的是什么,都會以思想斗爭的形式表現(xiàn)出來耐版。16世紀的英國宗教改革(English Reformation)本質(zhì)上是為了爭奪權(quán)力和財富痊乾,但是卻表現(xiàn)為英國人要求自主的精神與羅馬教廷腐化的控制之間的斗爭。思想斗爭更容易爭取支持者椭更。不管哪一方獲勝哪审,他們所代表的思想也就被認為獲得了勝利,仿佛上帝通過選擇勝利的一方表示了自己的傾向
我猜想虑瀑,道德禁忌的最大制造者是那些權(quán)力斗爭中略占上風的一方湿滓。你會發(fā)現(xiàn),這一方有實力推行禁忌舌狗,同時又軟弱到需要禁忌保護自己的利益叽奥。
如果一個團體強大到無比自信,它根本不會在乎別人的抨擊痛侍。美國人或者英國人對外國媒體的詆毀就毫不在意朝氓。但是,如果一個團體太弱小主届,就會無力推行禁忌赵哲。
孩子眼里的世界是不真實的,是一個被灌輸進他們頭腦的假想世界君丁。將來當孩子長大以后接觸社會枫夺,就會發(fā)現(xiàn)小時候以為真實的事情,在現(xiàn)實世界中是荒唐可笑的绘闷。
判斷一個人是否具備“換位思考”的能力有一個好方法橡庞,那就是看他怎樣向沒有技術(shù)背景的人解釋技術(shù)問題
同樣地较坛,優(yōu)秀的軟件也要求對美的狂熱追求。如果你查看優(yōu)秀軟件的內(nèi)部扒最,就會發(fā)現(xiàn)那些預料中沒有人會看見的部分也是優(yōu)美的丑勤。
黑客的出發(fā)點是原創(chuàng),最終得到一個優(yōu)美的結(jié)果吧趣;而科學家的出發(fā)點是別人優(yōu)美的結(jié)果法竞,最終得到原創(chuàng)性。
真正競爭軟件設計的戰(zhàn)場是新興領(lǐng)域的市場再菊,這里還沒有人建立過防御工事。只要你能做出大膽的設計颜曾,由一個人或一批人同時負責設計和實現(xiàn)產(chǎn)品纠拔,你就能在這里戰(zhàn)勝大公司。
我發(fā)現(xiàn)泛豪,黑客新想法的最佳來源稠诲,并非那些名字里有“計算機”三個字的理論領(lǐng)域,而是來自于其他創(chuàng)作領(lǐng)域诡曙。與其到“計算理論”領(lǐng)域?qū)ふ覄?chuàng)意臀叙,你還不如在繪畫中尋找創(chuàng)意。
創(chuàng)造優(yōu)美事物的方式往往不是從頭做起价卤,而是在現(xiàn)有成果的基礎(chǔ)上做一些小小的調(diào)整劝萤,或者將已有的觀點用比較新的方式組合起來。這種類型的工作很難用研究性的論文表達慎璧。
怪人使用毒品床嫌,是為了建立他們之間的社交紐帶,至少一開始如此胸私。因為毒品是非法的厌处,所以一起使用的話,就創(chuàng)造出了一種共同反叛的標志岁疼。
雖然黑客從外表看上去一般都是呆呆的阔涉,但是他們的大腦內(nèi)部卻是一個有趣得讓你吃驚的地方。
心里想著:“沒辦法捷绒,這些書呆子看上去正在接管世界瑰排。我最好能懂一點他們正在干的事情,這樣就不會被他們整出來的下一個東西唬到了暖侨⌒谆铮”
根據(jù)使用的語言不同,程序員往往會被分成不同的派別它碎。人們區(qū)分程序員甚至不是看他們寫了什么程序函荣,而是看他們使用什么語言显押。
我們生活中的一切,都正在成為計算機傻挂。
根據(jù)這六條“黑客倫理”乘碑,黑客價值觀的核心原則可以概括成這樣幾點:分享、開放金拒、民主兽肤、計算機的自由使用、進步绪抛。
根據(jù)理查德·斯托爾曼的說法资铡,黑客行為必須包含三個特點:好玩、高智商幢码、探索精神笤休。
想要把握這個時代,就必須理解計算機症副。理解計算機的關(guān)鍵店雅,則是要理解計算機背后的人。表面上這是一個機器的時代贞铣,但是實際上機器的設計者決定了我們的時代