編程的樂(lè)趣在于創(chuàng)造,創(chuàng)造指揮計(jì)算機(jī)工作的程序,創(chuàng)作軟件疾嗅,讓更多人能指揮計(jì)算機(jī)工作外厂。
編程為什么有趣?
《人月神話》的作者在第一章中進(jìn)行了總結(jié)分析代承。
首先汁蝶,這種樂(lè)趣來(lái)源于造東西的成就感。編程過(guò)程體現(xiàn)了一股強(qiáng)大的魅力——將相互嚙合的活動(dòng)部件組裝在一起论悴,以精妙的方式運(yùn)行著掖棉,并且收到了預(yù)期的效果。程序員通過(guò)自己的想象膀估,憑空建造自己的“城堡”幔亥,這種創(chuàng)作過(guò)程能讓程序員進(jìn)入心流,獲得享受察纯。
其次紫谷,這種樂(lè)趣來(lái)源于工作的非重復(fù)特性以及持續(xù)的學(xué)習(xí)。人們所面臨的問(wèn)題總有這樣那樣的不同捐寥,因而解決問(wèn)題的人可以從中學(xué)習(xí)新的事物笤昨。創(chuàng)作的軟件也能夠被他人使用,并能對(duì)他人有所幫助握恳。
編程活動(dòng)是智力創(chuàng)作瞒窒,滿足了程序員內(nèi)心深處進(jìn)行創(chuàng)作的渴望。程序員乡洼,就像詩(shī)人一樣崇裁,總是在單純的思考。創(chuàng)作介質(zhì)如此靈活束昵,如此易于打磨和重建拔稳,如此容易實(shí)現(xiàn)概念上的設(shè)想
職業(yè)的苦惱
凡是具有兩面性。嚴(yán)格規(guī)范化的編程語(yǔ)言是程序員面臨的第一個(gè)挑戰(zhàn)锹雏。計(jì)算機(jī)和傳說(shuō)中的魔法類似:如果“咒語(yǔ)”中的一個(gè)字符巴比、一個(gè)停頓,沒(méi)有以正確的形式出現(xiàn)礁遵,魔法的效果就不會(huì)出現(xiàn)轻绞。現(xiàn)實(shí)中,很少有人類活動(dòng)會(huì)如此玩要求完美佣耐,所以人類對(duì)它本來(lái)就不習(xí)慣政勃。
其次,對(duì)其他人的依賴也是個(gè)挑戰(zhàn)兼砖。單靠一個(gè)人很難完成全部的工作奸远,程序員會(huì)基于其他人的程序完成工作既棺,而這些程序往往設(shè)置的并不合理、實(shí)現(xiàn)拙劣懒叛、發(fā)布不完整或者文檔記錄得很糟糕援制。
三,設(shè)計(jì)宏大的概念是有趣的但尋找瑣碎的bug卻是一項(xiàng)重復(fù)性的活動(dòng)芍瑞。創(chuàng)造性活動(dòng)往往與枯燥晨仑、沉悶和艱苦的勞動(dòng)相伴,程序編寫(xiě)工作也不例外拆檬。
持續(xù)投入熱情
設(shè)計(jì)出的軟件產(chǎn)品洪己,還要面臨市場(chǎng)的考驗(yàn),避免“投入了大量辛苦的勞動(dòng)竟贯,產(chǎn)品在即將完成或者終于完成的時(shí)候答捕,卻已經(jīng)顯得陳舊過(guò)時(shí)”。一旦設(shè)計(jì)被凍結(jié)屑那,在概念上就已經(jīng)開(kāi)始陳舊了拱镐。雖然系統(tǒng)開(kāi)發(fā)所采用的技術(shù)在不斷的進(jìn)步。
為了讓軟件產(chǎn)品能夠保持長(zhǎng)久的生命力持际,制造者要持續(xù)的投入精力對(duì)產(chǎn)品進(jìn)行優(yōu)化和調(diào)整沃琅,以適應(yīng)時(shí)代——這也是驅(qū)動(dòng)持續(xù)學(xué)習(xí)、持續(xù)創(chuàng)造的動(dòng)力蜘欲。
參考文獻(xiàn):
- 人月神話:紀(jì)念典藏版. 2023