寫作與寫代碼

前不久我在DZone上讀到一篇文章,講的是寫作與作曲之間的聯(lián)系。對(duì)于大部分程序員來說作曲似乎離我們有些遙遠(yuǎn),可寫作卻始終與我們的工作、生活緊密相連,比如在工作中你需要編寫各種文檔、做項(xiàng)目計(jì)劃,而在生活中,你也可能會(huì)寫自己的博客或是日記。

我在簡書上寫博客,已經(jīng)四個(gè)月了,雖然寫的都是技術(shù)類文章,但還是得到了不少讀者的認(rèn)可,也使我成為了簽約作者。我并沒有高超的寫作技巧,之所以能寫出一些不錯(cuò)的文章,我覺得是與我多年編程有著某種聯(lián)系的,我也嘗試著將我體會(huì)到的寫作與寫代碼之間的這些聯(lián)系記錄下來,希望給那些正在或準(zhǔn)備開始寫作的程序員們一些啟發(fā)。

寫作很像寫代碼

1. 都需要遵循一定邏輯規(guī)則
寫作和寫代碼一樣,都要求我們?nèi)プ裱欢ǖ囊?guī)則和規(guī)律,你需要懂得:

語法:我們都知道寫代碼時(shí),需要遵守所使用編程語言的語法。如果語法不對(duì),代碼根本無法編譯通過。同樣,在寫作中,你需要遵守中文語法,包括正確使用斷句、標(biāo)點(diǎn)、段落等等,這些都是在寫作過程中最基本的要求。

邏輯:沒有邏輯的代碼,會(huì)漏洞百出,甚至?xí)斐上到y(tǒng)的嚴(yán)重缺陷。同樣,文章的前后章節(jié)或所寫的故事也需要遵循一定的邏輯,沒有邏輯性的文章會(huì)讓人覺得不知所云,放棄繼續(xù)閱讀。

修飾:文章需要通過一些表現(xiàn)方式(議論、抒情、描寫 等)或修辭手法(比如:排比、比喻、對(duì)比、夸張等等)來使文章更加生動(dòng)有趣,沒有修飾的文章就像沒有界面的軟件,讓人覺得枯燥、乏味,失去閱讀的興趣。

上面所說的三點(diǎn)都是寫作中最基本的要求,如果你都能做到,那么它已經(jīng)是一篇合格的文章了,如果能加上更吸引人的標(biāo)題和內(nèi)容,相信那將會(huì)是一篇精彩的文章。

2. 都是將細(xì)節(jié)組合成更美的東西
文章是由一個(gè)個(gè)段落組成的,而每一個(gè)段落又由很多詞句組成。很像一個(gè)軟件由很多模塊組成,每個(gè)模塊又包含了很多代碼段一樣。他們都是將這些很微小的部分一點(diǎn)點(diǎn)組合起來變成一個(gè)完整的作品:一篇文章或一個(gè)軟件應(yīng)用。

3. 你需要能夠看到全局
軟件開發(fā)中有架構(gòu)師角色,他會(huì)負(fù)責(zé)整個(gè)應(yīng)用的架構(gòu),確定模塊間的調(diào)用關(guān)系,以保證整個(gè)應(yīng)用都能協(xié)調(diào)高效地運(yùn)作。同樣,在寫一篇文章時(shí),你就成了整篇文章的架構(gòu)師,你需要對(duì)文章的段落構(gòu)成和每個(gè)章節(jié)進(jìn)行合理的規(guī)劃,使文章既有清晰的層次,又能突出重點(diǎn)并且完整地表達(dá)你的主題。

4. 自我表達(dá)非常關(guān)鍵
寫作和寫代碼都需要?jiǎng)?chuàng)造力以及自我表達(dá)能力,它們不是與生俱來的,需要你通過不斷地練習(xí)(寫作和寫代碼),逐漸地去發(fā)現(xiàn)它,并最終創(chuàng)造出屬于你自己的風(fēng)格和表現(xiàn)形式。

5. 考慮你的讀者或用戶
我們看到現(xiàn)在的應(yīng)用變得越來越重視用戶了,從UI(用戶界面)設(shè)計(jì)到UX(用戶體驗(yàn))設(shè)計(jì)再到情感設(shè)計(jì),軟件設(shè)計(jì)師們?cè)絹碓街匾曈脩舻氖褂酶惺堋M瑯樱谀銓懸黄恼聲r(shí)也需要能夠站在讀者的角度去審視你的文章,并通過一些方法,比如強(qiáng)調(diào)某一個(gè)你希望引起讀者關(guān)注的段落,來引導(dǎo)你的讀者更好地閱讀和理解你的文章,并且從中獲得愉悅的閱讀體驗(yàn)。

6.每個(gè)人都可以寫作和學(xué)會(huì)寫代碼
我還沒有看過一本介紹如何寫作的書籍,我既不懂得很多修辭手法,文筆也不算老道,但這些卻都不會(huì)成為我寫作的障礙,我做的只是將我所想的用最簡單的語言表達(dá)出來,然后通過反復(fù)的修改,讓它們讀起來通順,僅此而已。同樣的,你也不需要任何準(zhǔn)備就可以開始學(xué)習(xí)寫代碼,就像我在“【好奇心】什么是機(jī)器學(xué)習(xí)”一文中提到我只用5分鐘就學(xué)會(huì)了如何寫一個(gè)能夠識(shí)別橙子和蘋果的人工智能程序一樣,你也可以通過“自學(xué)編程”來學(xué)會(huì)寫代碼。

寫作和寫代碼又是不一樣的

1. 寫作和寫代碼的目的不同
我們寫代碼的目的都是相似的,那就是去解決某一個(gè)或者一類問題。寫作的目的則寬泛得多,它可以用來敘事,用來說明,用來議論,用來描寫,更可以用來抒情。相比寫代碼而言,寫作的目的是如此豐富,這也正是它吸引我的原因。

2.寫作能夠表達(dá)情感,而寫代碼不能
我看過很多別人寫的代碼,可我從來沒有從中發(fā)現(xiàn)過那些喜悅的代碼,悲傷的代碼,激動(dòng)的代碼,以及愛情的代碼,我從這一行行代碼中完全體會(huì)不到情感。但我卻能從閱讀他人的文章中感受到這些。我喜歡那些富有情感的文章,并且真心喜歡那些文章的作者。或許,能夠給文章賦予情感才是寫作與寫代碼的最大區(qū)別,也應(yīng)該是最重要的區(qū)別吧!

我的寫作之旅還在簡書上繼續(xù)著,我會(huì)堅(jiān)持用最簡單的文字去表達(dá)我的所得所感。同樣如果你是一名程序員,我也非常鼓勵(lì)你能夠開始寫作,因?yàn)槟銜?huì)發(fā)現(xiàn)寫作同樣能夠促進(jìn)你編程水平的提升,并在很多其他方面給你帶來收獲。


簡書簽約作者:技匠,以上內(nèi)容歡迎大家分享到朋友圈/微博等。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,324評(píng)論 25 708
  • 我總結(jié)了二十七點(diǎn), 其一 在當(dāng)今小說泛濫的年代,越來越多的小說慢慢都忽略了創(chuàng)作技巧,盲目地追求快感、發(fā)泄、濫竽充數(shù)...
    四季的毛褲閱讀 13,100評(píng)論 30 196
  • 單例和delegate是oc最常用的兩種設(shè)計(jì)模式。其實(shí)從設(shè)計(jì)模式層面而言,delegate叫做觀察者模式更為貼切。...
    悲觀患者閱讀 822評(píng)論 1 0
  • 大家好,我又來了,我是評(píng)論尸,一個(gè)不愿透露身份的科技媒體從業(yè)者,大概只有在聊到媒體的時(shí)候我會(huì)收起一部分調(diào)侃來認(rèn)真的...
    評(píng)論尸閱讀 3,303評(píng)論 2 32
  • GET和POST是HTTP請(qǐng)求的兩種基本方法,要說它們的區(qū)別,接觸過WEB開發(fā)的人都能說出一二。最直觀的區(qū)別就是G...
    imkakaxi閱讀 458評(píng)論 0 1