程式設計同寫作,寫程式碼只是在碼字

Phodal發表於2014-07-15

看到一篇文章《We Are Typists First, Programmers Second》,日期是2008年,好早的一篇文章。當現在打算以一個新人的身份重新進入程式設計領域,或許是受《重來》的影響,或者只是在重新思考——我們究竟應該如何去程式設計。(轉載保留:程式設計同寫作,寫程式碼只是在碼字

寫程式碼只相當於寫字

?或許這是一篇軟文

程式設計這件事情實際上一點兒也不難,當我們只是在使用一個工具創造一些東西的時候,比如我們拿著電烙鐵、晶片、電線等去焊一個電路板的時候,我們學的是如何運用這些工具。雖然最後我們的電路板可以實現相同的功能,但是我們可以一眼看到差距所在。

換個貼切一點的比喻,比如燒菜做飯,對於一個優秀的廚師和一個像我這樣的門外漢而言,就算給我們相同的食材、廚具,一段時間後也許一份是誘人的美食,一份只能餵豬了——即使我模仿著廚師的步驟一步步地來,也許看上去會差不多,但是一吃便吃出差距了。

我們還做不好飯,還焊不好電路,還寫不好程式碼,很大程度上並不是因為我們比別人笨,而只是別人比我們做了更多。有時候一種機緣巧遇的學習或者bug的出現,對於不同的人的程式設計人生都會有不一樣的影響(ps:說的好像是蝴蝶效應)。我們只是在使用工具,使用的好與壞,在某種程式上決定了我們寫出來的質量。

寫字便是如此,給我們同樣的紙和筆(ps:減少無關因素),不同的人寫出來的字的差距很大,寫得好的相比於寫得不好的 ,只是因為練習得更多。而程式設計難道不也是如此麼,最後寫程式碼這件事就和寫字一樣簡單了。

剛開始寫字的時候,我們需要去了解一個字的筆劃順序、字型結構,而這些因素相當於語法及其結構。熟悉了之後,寫程式碼也和寫字一樣是簡簡單單的事。

學習程式設計只是在學造句

?多麼無聊的一個標題

“計算機語言同人類語言一樣”,有時候我們也許會感慨一些計算機語言是多麼地背離我們的世界,但是它們才是真正的計算機語言。

計算機語言是模仿人類的語言,從 if 到其他,而這些計算機語言又比人類語言簡單。故而一開始學習語言的時候我們只是在學習造句,用一句話來概括一句程式碼的意思,或者可以稱之為函式、方法(method)。

於是我們開始組詞造句,以便最後能拼湊出一整篇文章。

程式設計是在寫作

?程式設計是在寫作,這是一個怎樣的玩笑?這是在諷刺那些寫不好程式碼,又寫不好文章的麼

程式碼如詩,又或者程式碼如散文。總的來說,這是相對於英語而言,對於中文而言可不是如此。如果用一種所謂的中文語言寫出來的程式碼,不能像中文詩一樣,那麼它就算不上是一種真正的中文語言。

那些所謂的寫作邏輯對程式設計的影響

- 早期的程式碼是以行數算的,文章是以字數算的 - 程式碼是寫給人看的,文章也是寫給人看的 - 程式設計同寫作一樣,都由想法開始 - 程式碼同文章一樣都可以堆砌出來(ps:如本文) - 寫出好的文章不容易,需要反覆琢磨,寫出好的程式碼不也是如此麼 - 構造一個類,好比是構造一個人物的性格特點,多一點不行,少一點又不全 - 程式碼生成,和生成詩一樣,沒有情感,過於機械化 - ......

然而好的作家和一般的寫作者,區別總是很大,對同一個問題的思考程度也是不同的。從一個作者到一個作家的過程,是一個不斷寫作不斷積累的過程。而從一個普通的程式設計師到一個優秀的程式設計師也是如此,需要一個不斷程式設計的過程。

當我們開始真正去程式設計的時候,我們還會糾結於“僧推月下門”還是“僧敲月下門”的時候,當我們越來越熟練就容易決定究竟用哪一個。而這樣的“推敲”,無論在寫作中還是在程式設計中都是相似的過程。

寫作的過程真的就是一次探索之旅,而且它會貫穿人的一生。

程式設計只是在碼字

程式設計只是在碼字,難道不是麼?

真正的想法都在腦子裡,而不在紙上,或者IDE裡。

相關文章