編程同寫作,寫代碼只是在碼字

來源:互聯網
上載者:User

標籤:持續閱讀   響應式設計   編程   電腦   程式員   

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

寫代碼只相當於寫字
?或許這是一篇軟文

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

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

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

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

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

學習編程只是在學造句
?多麼無聊的一個標題

電腦語言同人類語言一樣,有時候我們也許會感慨一些電腦語言是多麼地背離我們的世界,但是他們才是真正的電腦語言。

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

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

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

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

那些所謂的寫作邏輯對編程的影響

  • 早期的代碼是以行數算的,文章是以字數算的
  • 代碼是寫給人看的,文章也是寫給人看的
  • 編程同寫作一樣,都由想法開始
  • 代碼同文章一樣都可以堆砌出來(ps:如本文)
  • 寫出好的文章不容易,需要反覆琢磨,寫出好的代碼不也是如此麼
  • 構造一個類,好比是構造一個人物的性格特點,多一點不行,少一點又不全
  • 代碼產生,和產生詩一樣,沒有情感,過於機械化
  • 。。。
然而好的作家和一般的寫作者,區別總是很大,對同一個問題的思考程度也是不同的。從一個作者到一個作家的過程,是一個不斷寫作不斷積累的過程。而從一個普通的程式員到一個優秀的程式員也是如此,需要一個不斷編程的過程。

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

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

編程只是在碼字
編程只是在碼字,難道不是嗎?

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.