標籤:持續閱讀 響應式設計 編程 電腦 程式員
看到一篇文章《We Are Typists First, Programmers Second》,日期是2008年,好早的一篇文章。當現在打算以一個新人的身份重新進入編程領域,或許是受《重來》的影響,或者只是在重新思考——我們究竟應該如何去編程。(轉載保留:編程同寫作,寫代碼只是在碼字)
寫代碼只相當於寫字
?或許這是一篇軟文
編程這件事情實際上一點兒也不難,當我們只是在使用一個工具創造一些東西的時候,比如我們拿著電烙鐵、晶片、電線等去焊一個電路板的時候,我們學的是如何運用這些工具。雖然最後我們的電路板可以實現相同的功能,但是我們可以一眼看到差距所在。
換個貼切一點的比喻,比如燒菜做飯,對於一個優秀的廚師和一個像我這樣的門外漢而言,就算給我們相同的食材、廚具,一段時間後也許一份是誘人的美食,一份只能餵豬了——即使我模仿著廚師的步驟一步步地來,也許看上去會差不多,但是一吃便吃出差距了。
我們還做不好飯,還焊不好電路,還寫不好代碼,很大程度上並不是因為我們比別人笨,而只是別人比我們做了更多。有時候一種機緣巧遇的學習或者bug的出現,對於不同的人的編程人生都會有不一樣的影響(ps:說的好像是蝴蝶效應)。我們只是在使用工具,使用的好與壞,在某種程式上決定了我們寫出來的品質。
寫字便是如此,給我們同樣的紙和筆(ps:減少無關因素),不同的人寫出來的字的差距很大,寫得好的相比於寫得不好的 ,只是因為練習得更多。而編程難道不也是如此麼,最後寫代碼這件事就和寫字一樣簡單了。
剛開始寫字的時候,我們需要去瞭解一個字的筆劃順序、字型結構,而這些因素相當於文法及其結構。熟悉了之後,寫代碼也和寫字一樣是簡簡單單的事。
學習編程只是在學造句
?多麼無聊的一個標題
電腦語言同人類語言一樣,有時候我們也許會感慨一些電腦語言是多麼地背離我們的世界,但是他們才是真正的電腦語言。
電腦語言是模仿人類的語言,從 if 到其他,而這些電腦語言又比人類語言簡單。故而一開始學習語言的時候我們只是在學習造句,用一句話來概括一句代碼的意思,或者可以稱之為函數、方法(method)。
於是我們開始組詞造句,以便最後能拼湊出一整篇文章。
編程是在寫作
?編程是在寫作,這是一個怎樣的玩笑?這是在諷刺那些寫不好代碼,又寫不好文章的麼
代碼如詩,又或者代碼如散文。總的來說,這是相對於英語而言,對於中文而言可不是如此。如果用一種所謂的中文語言寫出來的代碼,不能像中文詩一樣,那麼它就算不上是一種真正的中文語言。
那些所謂的寫作邏輯對編程的影響
- 早期的代碼是以行數算的,文章是以字數算的
- 代碼是寫給人看的,文章也是寫給人看的
- 編程同寫作一樣,都由想法開始
- 代碼同文章一樣都可以堆砌出來(ps:如本文)
- 寫出好的文章不容易,需要反覆琢磨,寫出好的代碼不也是如此麼
- 構造一個類,好比是構造一個人物的性格特點,多一點不行,少一點又不全
- 代碼產生,和產生詩一樣,沒有情感,過於機械化
- 。。。
然而好的作家和一般的寫作者,區別總是很大,對同一個問題的思考程度也是不同的。從一個作者到一個作家的過程,是一個不斷寫作不斷積累的過程。而從一個普通的程式員到一個優秀的程式員也是如此,需要一個不斷編程的過程。
當我們開始真正去編程的時候,我們還會糾結於"僧推月下門"還是"僧敲月下門"的時候,當我們越來越熟練就容易決定究竟用哪一個。而這樣的“推敲”,無論在寫作中還是在編程中都是相似的過程。
寫作的過程真的就是一次探索之旅,而且它會貫穿人的一生。
編程只是在碼字
編程只是在碼字,難道不是嗎?
真正的想法都在腦子裡,而不在紙上,或者IDE裡。