知乎上看到的,覺得討論很有意思~
如何讓編程不枯燥,甚至把編程變成一件很愉悅很爽的事?
23 票
有的人就是生來喜歡編程。即便他因爲編程這件事情受過多少挫折,失去多久目標,最終還是會坐到電腦前,從 coding 中找到樂趣。這種樂趣是內在的。沒有的話不必強求,有的話,其它的事情都不會讓你更快樂。
7 票
給自己定目標,實現,然後定下一個目標。通過一個又一個逐步達到的目標,最終完成一個會讓最初的自己感到驕傲的事。
讓編程成爲一件有成就感,且不斷讓自己靠近實現自己想要得到的事物的過程。
讓編程成爲一件有成就感,且不斷讓自己靠近實現自己想要得到的事物的過程。
6 票
哈哈,這個問題問我,我覺得算是問對人了
其他同學如何從編程尋找樂趣我不知道,我只是談談我的一點經驗
常常,我會有一些新奇的idea(可以與工作相關的,也可以毫無關係的,比如,自己寫個小遊戲,可以自己玩,自娛自樂,也可以給那些無知的小妹妹玩,聽聽她們那如同天籟般的"哇,好厲害 "),然後就嘗試着將這些idea用程序實現,當這些idea在你手中通過程序成爲現實時,你獲得的成就感是無法言表的,這時編程序就成了一件很愉快很舜的事情
這裏有幾個實際的例子,可以給你一點啓示
其他同學如何從編程尋找樂趣我不知道,我只是談談我的一點經驗
常常,我會有一些新奇的idea(可以與工作相關的,也可以毫無關係的,比如,自己寫個小遊戲,可以自己玩,自娛自樂,也可以給那些無知的小妹妹玩,聽聽她們那如同天籟般的"哇,好厲害 "),然後就嘗試着將這些idea用程序實現,當這些idea在你手中通過程序成爲現實時,你獲得的成就感是無法言表的,這時編程序就成了一件很愉快很舜的事情
這裏有幾個實際的例子,可以給你一點啓示
4 票
下面是我很久以前寫的一篇blog(稍稍有修改),我想,到目前爲止,這篇blog裏的寫的東西依舊是我能夠一直都喜歡編程的最根本的原因。當然,對很多人來說,這些可能還是很枯燥,這種事情太因人而異了。不過,從一般論來說,人要改變對一個事物的看法和感受,總是需要從與平時的不同角度來觀察和分析它纔有可能的。如果下面這堆東西能夠給有些人提供一個新的角度來看待編程,那也就足夠了吧。
教會別人一項新的技能毫無疑問會給我帶來很多快樂,而編程,事實上就是在教一個笨到極點又聽話到極點的孩子做事情,而這個孩子,很顯然就是電腦。
電腦雖然很笨,像一個永遠不會長大的孩子那樣,什麼都需要教,但是他非常地聽話,不論我叫他做什麼,只要我向他描述清楚,告訴他怎麼做,在什麼時候做,做多少次等等等等,那麼他就會毫無怨言地,竭盡全力(當然,只要我要求他竭盡全力)地去做。如果我要他不停地做1+1的運算直到永遠,那麼,他就會爲1+1的事業窮其一生而毫無怨言。話說在這個世界上我到哪裏才能找到另一個這麼聽話的孩子呢?當然,如果是另一臺電腦的話不算!
另外,作爲一個學生,這個叫電腦的孩子還有許許多多人類孩子所不具有的優點喲。比如,對於這個孩子,我可以不負責任地用任何方式教給他任何東西,而不用擔心他的家長來找我麻煩,我可以教給他任何在別人看來很傻的東西,而不用擔心他會擅自宣揚我的醜事,我可以隨時抹除他的記憶重新開始教,我還可以把這個孩子學會的所有技能很方便地複製給另一個孩子...其實優點夠多了吧已經。
事實上,“絕對地聽話”這個屬性是多麼的簡單而美麗呀,正因爲這份簡單,才使得在這個孩子身上一切都變爲可能。
雖然他所會的一切都是我教他的,但是因爲他那讓所有人類爲之汗顏的計算能力以及持之以恆且對任何東西都不會感到厭倦的精神,他學會了做很多我——也就是一個普通的人類——所不可能做到的事情。他能用幾個小時的時間在屏幕上繪製出一個逼真的蘿蔔來,只要我教給他一個叫做“Ray Tracing”的技能,他能竭盡全力持續幾天幫我解方程組,只要我教給他一個叫做“Non-linear Optimization”的技能……另外,我還聽說在世界上的其他地方,比如某些研究所,有一些大孩子,他們所學會的東西能預測天氣變化,構造新的能治病的蛋白質,甚至下贏國際象棋大師。
最後的最後,我想說的是如果我有能力,我甚至可以教這個孩子怎麼“長大”,教他如何“學習”,如何“思考”。只不過到目前爲止,曾經來到過這個世界的和當今世界上還活着的所有最偉大的計算機天才們都沒有教會我們這個笨孩子怎麼“長大” 怎麼“學習”怎麼“思考”。殘念...我不是天才,所以我只能愛着這個孩子,然後爲他的“長大”盡一點微薄之力。
教會別人一項新的技能毫無疑問會給我帶來很多快樂,而編程,事實上就是在教一個笨到極點又聽話到極點的孩子做事情,而這個孩子,很顯然就是電腦。
電腦雖然很笨,像一個永遠不會長大的孩子那樣,什麼都需要教,但是他非常地聽話,不論我叫他做什麼,只要我向他描述清楚,告訴他怎麼做,在什麼時候做,做多少次等等等等,那麼他就會毫無怨言地,竭盡全力(當然,只要我要求他竭盡全力)地去做。如果我要他不停地做1+1的運算直到永遠,那麼,他就會爲1+1的事業窮其一生而毫無怨言。話說在這個世界上我到哪裏才能找到另一個這麼聽話的孩子呢?當然,如果是另一臺電腦的話不算!
另外,作爲一個學生,這個叫電腦的孩子還有許許多多人類孩子所不具有的優點喲。比如,對於這個孩子,我可以不負責任地用任何方式教給他任何東西,而不用擔心他的家長來找我麻煩,我可以教給他任何在別人看來很傻的東西,而不用擔心他會擅自宣揚我的醜事,我可以隨時抹除他的記憶重新開始教,我還可以把這個孩子學會的所有技能很方便地複製給另一個孩子...其實優點夠多了吧已經。
事實上,“絕對地聽話”這個屬性是多麼的簡單而美麗呀,正因爲這份簡單,才使得在這個孩子身上一切都變爲可能。
雖然他所會的一切都是我教他的,但是因爲他那讓所有人類爲之汗顏的計算能力以及持之以恆且對任何東西都不會感到厭倦的精神,他學會了做很多我——也就是一個普通的人類——所不可能做到的事情。他能用幾個小時的時間在屏幕上繪製出一個逼真的蘿蔔來,只要我教給他一個叫做“Ray Tracing”的技能,他能竭盡全力持續幾天幫我解方程組,只要我教給他一個叫做“Non-linear Optimization”的技能……另外,我還聽說在世界上的其他地方,比如某些研究所,有一些大孩子,他們所學會的東西能預測天氣變化,構造新的能治病的蛋白質,甚至下贏國際象棋大師。
最後的最後,我想說的是如果我有能力,我甚至可以教這個孩子怎麼“長大”,教他如何“學習”,如何“思考”。只不過到目前爲止,曾經來到過這個世界的和當今世界上還活着的所有最偉大的計算機天才們都沒有教會我們這個笨孩子怎麼“長大” 怎麼“學習”怎麼“思考”。殘念...我不是天才,所以我只能愛着這個孩子,然後爲他的“長大”盡一點微薄之力。
3 票
編程最有意思的是改寫操作系統. 步伐小, 較簡單, 但是效果明顯(成就感,嘻嘻). 並且你和別人說: 哦, 最近在搞操作系統內核, 一下子就能把別人拉出幾條街了.
跟進一步, 開始搞軟硬結合, 這個嘻嘻嘻嘻... 很裝x的.
哦. 其實我有時候覺得寫代碼很無聊的時候, 我就把註釋寫的搞笑點...其實玩操作系統是爲了更好了解計算機原理。
跟進一步, 開始搞軟硬結合, 這個嘻嘻嘻嘻... 很裝x的.
哦. 其實我有時候覺得寫代碼很無聊的時候, 我就把註釋寫的搞笑點...其實玩操作系統是爲了更好了解計算機原理。
2 票
當編程對你不是那麼難的時候,你就不會感到枯燥了...所以,一般來說編程得有一個付出的過程
似乎很少見過有人發生這樣的轉變。也就是象題主那樣,對他來說編程是枯燥的,然後希望轉變爲不枯燥的。
我所認識的人,倒多數是一直覺得編程很有樂趣,從未覺得編程是枯燥的,所以所謂“轉變”無從談起。
那麼在這個問題上,我支持馮東的說法。
我所認識的人,倒多數是一直覺得編程很有樂趣,從未覺得編程是枯燥的,所以所謂“轉變”無從談起。
那麼在這個問題上,我支持馮東的說法。