編程與寫作

文 | 一鳴

讀大學(xué)的時(shí)候我選的專業(yè)是計(jì)算機(jī),大一下學(xué)期開始學(xué)習(xí)編程。我記得有一次,一項(xiàng)編程作業(yè)出了一點(diǎn)問題,我對(duì)其反復(fù)調(diào)試以找出錯(cuò)誤,一直忙到凌晨四點(diǎn)才把問題全部解決。當(dāng)時(shí)我心里興奮難言,跟通宵寫完了一部中篇小說一樣痛快。那時(shí)候我就發(fā)現(xiàn)自己對(duì)編程感興趣,畢業(yè)之后也找了一份程序員工作。

公司里的程序員分了兩個(gè)方向,一個(gè)開發(fā)方向,一個(gè)維護(hù)方向。顧名思義,開發(fā)小組負(fù)責(zé)研發(fā)新產(chǎn)品,維護(hù)小組是在舊產(chǎn)品的基礎(chǔ)上進(jìn)行一些小改動(dòng)或者修復(fù)小毛病。大部分時(shí)間里我都呆在開發(fā)組,我認(rèn)為開發(fā)比維護(hù)更有意思。工作幾年來,我發(fā)現(xiàn)自己的興趣點(diǎn)在于創(chuàng)造,編程和寫作都能給我滿足感。盡管我喜歡編程這份工作,但也知道它并不是我此生最大的興趣所在,后來我選擇了更加純粹的創(chuàng)造性工作,當(dāng)一個(gè)小說寫作者。

幾年程序員工作的一些感悟和習(xí)慣可以很好地應(yīng)用到寫作領(lǐng)域。軟件開發(fā)中有一個(gè)術(shù)語叫“迭代式開發(fā)”,簡(jiǎn)單理解就是先做出一個(gè)功能簡(jiǎn)單但是可以運(yùn)行的系統(tǒng),然后在這個(gè)可運(yùn)行的系統(tǒng)上進(jìn)行逐步擴(kuò)充。有一個(gè)時(shí)期我負(fù)責(zé)一個(gè)大模塊的開發(fā),那也是我第一次接到大任務(wù)。那時(shí)我還不會(huì)采用迭代式開發(fā),而是習(xí)慣性采用“瀑布式開發(fā)”,先把所有的細(xì)節(jié)和功能設(shè)計(jì)好,然后再開始編程實(shí)現(xiàn)功能。

一開始光是數(shù)據(jù)表就設(shè)計(jì)了幾十個(gè),各種設(shè)計(jì)文檔寫了一堆。隨著設(shè)計(jì)工作一路下來,我發(fā)現(xiàn)那個(gè)模塊組件的復(fù)雜性超出我的想象,里面復(fù)雜多變的程序邏輯也讓我頭大如斗。這種情況就好比工頭要我建一所房子,而我卻建成了迷宮,還把設(shè)計(jì)圖弄丟了,自己困在里面無法脫身。主管見我被這個(gè)任務(wù)折騰得心力交瘁,沒有讓我跟進(jìn)后面的編碼工作。這是我工作幾年來最大的一次失敗,我一度感到羞愧郁悶。但這次失敗的經(jīng)歷讓我明白到,面對(duì)大規(guī)模任務(wù)“瀑布式開發(fā)”并不適合自己。

之后我又接了一個(gè)任務(wù),也是一個(gè)重要的系統(tǒng)功能開發(fā)。這一次我就沒有再用“瀑布式開發(fā)”,而嘗試使用“迭代式開發(fā)”。我先提取出關(guān)鍵功能,并早早把它實(shí)現(xiàn)出來,這是一個(gè)能運(yùn)行的系統(tǒng)。接下來,我再對(duì)總體功能進(jìn)行拆分,把功能要點(diǎn)羅列出來,每一次只實(shí)現(xiàn)一個(gè)功能。在這樣不斷擴(kuò)充之下,復(fù)雜的系統(tǒng)逐漸成型,實(shí)現(xiàn)過程也比我之前想象的要容易一些。

跟之前“建迷宮”的感覺很不一樣,這一次開發(fā)的條理性清晰了很多,系統(tǒng)開發(fā)的進(jìn)度,當(dāng)前的功能狀況我都能心中有數(shù)。當(dāng)然,原來的一些設(shè)計(jì)跟后面的功能相沖突,也需要及時(shí)修正而付出一些時(shí)間精力。事實(shí)上,也難保“瀑布式開發(fā)”的實(shí)現(xiàn)過程中不會(huì)出現(xiàn)矛盾,而且各種設(shè)計(jì)已經(jīng)確定下來,引發(fā)出連鎖效應(yīng)式的修改成本可能更大。最重要的是,這個(gè)過程來得舒服,還有幾分實(shí)驗(yàn)成功的樂趣。能在工作中感受到快樂,這是一件很難得的事情。

后來我開始寫長(zhǎng)篇小說,我也不知不覺地沿用了迭代式開發(fā)的方式。在寫一部小說之前,我會(huì)先設(shè)計(jì)好作品的完整性。我把作品中的一些大事件想出來,然后進(jìn)行估算,如果這一部作品包含了這些事件,它的起承轉(zhuǎn)合是不是完整了,以這些事件作為作品的主要?jiǎng)∏槭遣皇亲銐蚝每础_@些事件列表也可以理解為簡(jiǎn)單的大綱。定好大綱之后,我針對(duì)每個(gè)大事件進(jìn)行寫作,類似于迭代式開發(fā)中的功能擴(kuò)充。創(chuàng)作每個(gè)大事件的過程,也是這個(gè)模式的嵌套實(shí)現(xiàn):先定好事件,起承轉(zhuǎn)合都安排好之后再創(chuàng)作正文。我之前寫過一些關(guān)于大綱設(shè)計(jì)的文章,談到大綱的一個(gè)作用就是保持作品的完整性。大綱的價(jià)值在于,在最壞的情況之下,小說的情節(jié)也能寫到這個(gè)水平。

一開始我并不能把小說的各個(gè)細(xì)節(jié)完全想好,我只是先把關(guān)鍵事件記錄下來。每一個(gè)大事件作為一次創(chuàng)作的完整過程:包括情節(jié)構(gòu)思,寫正文,修改分章。跟編程類比,相當(dāng)于一個(gè)功能的開發(fā)過程,先設(shè)計(jì)再實(shí)現(xiàn)后測(cè)試。我發(fā)現(xiàn)這樣的寫作方式更容易保持我的創(chuàng)作熱情,我的作品有一個(gè)逐漸成型的過程,它的進(jìn)度能被我清楚感知。

作為寫作新人,我也經(jīng)歷過全憑靈感創(chuàng)作的階段。有一年我花了十個(gè)月的時(shí)間寫一部武俠小說,起初想寫六萬字左右的篇幅。寫下來收不住,結(jié)果寫了差不多十八萬字。而且這個(gè)寫作過程常常感到痛苦,不知道接下來要怎樣寫,腦子里一團(tuán)混亂。我隱約知道故事發(fā)展的方向,但細(xì)節(jié)毫無頭緒。到了后來,我回想起這個(gè)寫作過程,感覺它跟之前那次失敗的編程經(jīng)歷差不多。總體感覺是混亂,更難受的是長(zhǎng)期看不到盡頭,不知道哪一天才能將它完成。這種挫敗感一度讓我創(chuàng)作停滯,造成惡性循環(huán)。我不知道自己會(huì)不會(huì)摸索出更好的創(chuàng)作方式,而目前迭代式的創(chuàng)作模式是最適合我的。

曾經(jīng)有朋友問我,為什么從程序員轉(zhuǎn)變成小說寫作者,感覺這個(gè)兩個(gè)職業(yè)完全沒有相通的地方。這篇文章正好回答這個(gè)問題,兩者確實(shí)有相通點(diǎn):第一點(diǎn),它們都是創(chuàng)造性的工作;第二點(diǎn),工作過程相似,迭代模型可以適用于編程和寫作。

它們之間確實(shí)也有不同的地方,我感覺最明顯的一點(diǎn)就是對(duì)靈感的需求。編程工作在設(shè)計(jì)階段需要的靈感比較多,實(shí)現(xiàn)過程所需的靈感不多。甚至,編程有很多成熟的設(shè)計(jì)模式,可以直接采用相應(yīng)的設(shè)計(jì)解決對(duì)應(yīng)的問題,免去自己動(dòng)腦設(shè)計(jì)。編程的實(shí)現(xiàn)過程基本上是體力活,哪怕腦子有點(diǎn)累了,但還是知道工作應(yīng)該怎樣做下去,依然可以碼字如飛。寫作則不然,不管在設(shè)計(jì)階段還是實(shí)現(xiàn)階段,無時(shí)無刻都需要靈感。寫作者大概都有過這樣的經(jīng)歷,明明腦袋很清醒,但是沒有靈感,想寫也寫不下去。

在我看來,寫作跟編程最大的區(qū)別在于對(duì)待“復(fù)用”的態(tài)度。編程鼓勵(lì)復(fù)用,以提高工作效率,把現(xiàn)成的功能和代碼稍稍改一下就可以直接使用。編程者可以自己開發(fā)完整的組件,同一個(gè)組件可以用到多個(gè)項(xiàng)目之中。而寫作則不鼓勵(lì)“復(fù)用”。精巧的比喻只能出現(xiàn)一次,如果多次出現(xiàn)就會(huì)被讀者批評(píng),甚至作者慣用的高頻用詞被讀者發(fā)現(xiàn)了,他們也會(huì)覺得別扭。寫作者不要有“口頭禪”,發(fā)現(xiàn)了要及時(shí)修改。有趣的情節(jié)設(shè)計(jì)也只能出現(xiàn)一次,用多了讀者同樣會(huì)反感。如果某些橋段跟另一部作品類似,更有可能被指責(zé)抄襲,這可是寫作界非常嚴(yán)重的罪名。說到這里,可能有朋友會(huì)以網(wǎng)文的套路模式向我反駁。熟悉我的朋友都知道我對(duì)這種現(xiàn)象的態(tài)度,在此也不多作討論了。


更多寫作經(jīng)驗(yàn)分享請(qǐng)點(diǎn)擊:【寫作那些事】目錄
關(guān)于轉(zhuǎn)載問題:請(qǐng)聯(lián)系我的經(jīng)紀(jì)人 南方有路
青春小說《晴時(shí)有風(fēng)》已經(jīng)上市,請(qǐng)大家多多支持~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,363評(píng)論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,497評(píng)論 3 416
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,305評(píng)論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,962評(píng)論 1 311
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,727評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,193評(píng)論 1 324
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,257評(píng)論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,411評(píng)論 0 288
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,945評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,777評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,978評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,519評(píng)論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,216評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,642評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,878評(píng)論 1 286
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,657評(píng)論 3 391
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,960評(píng)論 2 373

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,643評(píng)論 25 708
  • 在編程方法論上有個(gè)有趣的現(xiàn)象可以對(duì)應(yīng)寫作談一談。最早的編程方法,強(qiáng)調(diào)寫代碼前的靜態(tài)分析,相當(dāng)于動(dòng)筆寫作前要進(jìn)...
    思考的藍(lán)閱讀 383評(píng)論 0 0
  • 我是個(gè)三分鐘熱度的人,興致來了會(huì)非常投入的專注一件事。只是不多久激情消退后會(huì)放下,堅(jiān)持不下來。唯有一件事倒是例外,...
    思考的藍(lán)閱讀 242評(píng)論 0 2
  • 隨著移動(dòng)互聯(lián)網(wǎng)的蓬勃發(fā)展,技術(shù)編程和知識(shí)變現(xiàn)越發(fā)的成為許多人關(guān)注的話題。感覺自己沒趕上一個(gè),就是落后了。 2016...
    夢(mèng)想貓閱讀 733評(píng)論 2 4
  • 這里的MVC 是一種設(shè)計(jì)模式,它將應(yīng)用劃分為 3 個(gè)部分 : 數(shù)據(jù)(model)、展現(xiàn)層(view)和用戶交互層(...
    七_(dá)五閱讀 416評(píng)論 0 0