资源描述:
《hacker_and_painter》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、“Brimmingwithcontrarianinsightandpracticalwisdom.”—AndyHertzfeld,co-creatoroftheMacintoshcomputerPAULGRAHAMHACKERS&PAINTERSBIGIDEASFROMTHECOMPUTERAGEChapter2HackersandPaintersWhenIfinishedgradschoolincomputerscienceIwenttoartschooltostudypainting.Alotofpeopleseemedsurprisedthatsomeoneint
2、erestedincomputerswouldalsobeinterestedinpainting.Theyseemedtothinkthathackingandpaintingwereverydifferentkindsofwork—thathackingwascold,precise,andmethodical,andthatpaintingwasthefrenziedexpressionofsomeprimalurge.Bothoftheseimagesarewrong.Hackingandpaintinghavealotincommon.Infact,ofal
3、lthedifferenttypesofpeopleI’veknown,hackersandpaintersareamongthemostalike.Whathackersandpaintershaveincommonisthatthey’rebothmakers.Alongwithcomposers,architects,andwriters,whathackersandpaintersaretryingtodoismakegoodthings.They’renotdoingresearchperse,thoughifinthecourseoftryingtomak
4、egoodthingstheydiscoversomenewtechnique,somuchthebetter.I’veneverlikedtheterm“computerscience.”ThemainreasonIdon’tlikeitisthatthere’snosuchthing.Computerscienceisagrabbagoftenuouslyrelatedareasthrowntogetherbyanaccidentofhistory,likeYugoslavia.Atoneendyouhavepeoplewhoarereallymathematic
5、ians,butcallwhatthey’redoingcomputersciencesotheycangetDARPAgrants.Inthemiddleyouhavepeoplework-ingonsomethinglikethenaturalhistoryofcomputers—studyingthebehaviorofalgorithmsforroutingdatathroughnetworks,forexample.Andthenattheotherextremeyouhavethehackers,whoaretryingtowriteinteresting
6、software,andforwhomcomput-ersarejustamediumofexpression,asconcreteisforarchitects18hackersandpaintersorpaintforpainters.It’sasifmathematicians,physicists,andarchitectsallhadtobeinthesamedepartment.Sometimeswhatthehackersdoiscalled“softwareengineer-ing,”butthistermisjustasmisleading.Good
7、softwaredesignersarenomoreengineersthanarchitectsare.Theborderbetweenarchitectureandengineeringisnotsharplydefined,butit’sthere.Itfallsbetweenwhatandhow:architectsdecidewhattodo,andengineersfigureouthowtodoit.Whatandhowshouldnotbekepttooseparate.You’reaskingfortroubleifyoutrytode