有時候不得不承認仑扑,寫代碼是會上癮的。
很多人認為寫著一行行命令是一件很枯燥的事跪呈。沒錯段磨,當我沒有學寫程序時也是這么想的。我當時不只認為寫程序很無聊耗绿,我還不理解為什么像蓋茨苹支,像扎克伯格都會堅持寫代碼,他們都已經(jīng)過了那個艱苦奮斗的階段了误阻。
但怎么說呢债蜜?就像我看到一本書《黑客與畫家》里說的晴埂,程序是最公平的事物了。
世界上沒有比這更好的: 你輸入什么肯定能得到相應(yīng)的結(jié)果的東西了寻定。**或許以前我認為有——物理學不也是確確實實的遵循定律的嗎儒洛?**這個理念也在我了解量子物理學以后差不多崩塌了。那數(shù)學呢狼速?或許是吧琅锻,但學編程不就是在鍛煉自己數(shù)學思維和能力嗎。
###在計算機的世界里只有0和1
這就是計算機世界的規(guī)則向胡,程序不會出錯恼蓬,出錯的只有寫程序的你。我是從C語言寫起的捷枯,你寫的每一行命令滚秩,都會被轉(zhuǎn)化成最基本的 0 和 1 運算到計算機,然后通過那幾十億計的集成電路管淮捆,完成這次浩大的運算郁油,返回給你結(jié)果。
這是難以被人掌握的攀痊,早期會使用計算機編程的人都是天才桐腌。于是就有了編譯器,有了高級語言苟径。這兩件東西把底層的邏輯打了個包案站,讓人類能更貼近自然的去使用它(雖然這'自然'脫離了計算機的自然)。
編譯器能幫你檢查對錯棘街,高級語言能幫你打包邏輯蟆盐。當一個沒有邏輯的語句輸入編譯器時,它不會再進行一次明顯是南轅北轍的運算遭殉,而直接在編碼之前就檢查出了你的錯誤石挂;高級語言可以直接封裝好一部分的邏輯,你可以不用重新再造一個輪子來使用它险污。越高級的計算機語言就越接近人們的習慣痹愚。
而且編程就像搭積木一樣,其實從c語言到更后面先進的語言都會呈現(xiàn)出這種趨勢蛔糯,你把一塊塊的函數(shù)組合在一起拯腮,那程序就能產(chǎn)生作用。我用的 Xcode 編譯器能很深的感受到這一點蚁飒,紅紅綠綠的是一塊一塊的積木动壤,之間用另一些藍色黑色的積木拼搭起來,有一些'指針'穿梭在其間淮逻,把兩塊老遠的積木聯(lián)系了起來狼电,或是直接把一塊積木 '引用' 用到了其它空缺的部位蜒灰。**確實好玩。**
編程在哲學意義上來講就更加的偉大肩碟,辯證法證明了任何事物都有轉(zhuǎn)化的可能性强窖,而世界更是虛虛實實瞬息萬變,在這里沒有因果律削祈,我想**再重復(fù)一遍這事實翅溺,沒有因果律**。
而計算機則給了你另一個世界髓抑,這里你的每一個結(jié)果和原因都會相互關(guān)聯(lián)咙崎,簡單且強大。使得很多程序員沉浸在其中的也是這點吨拍,因為在這個世界里褪猛,公平完美。
而一個寫代碼的人確實是可以十分有趣的羹饰,就我所知王小波是會寫程序的伊滋,他寫的小說也特別有趣;劉慈欣也是會寫程序的队秩,但他既是發(fā)電廠的工程師也是一名科幻作家笑旺;有能力的設(shè)計師也是會寫程序的,他會自己設(shè)計工具來使用馍资。
**因此在我看來會寫程序只是一種愛好**筒主,我也會寫程序,但我想做的是佩奇蓋茨那種事鸟蟹,至少也得是扎克伯格那樣的事乌妙。
我認識的很多朋友,它們有的是和我一樣想創(chuàng)立一家偉大公司的夢想家建钥;有的是想在學術(shù)海洋中尋找彼岸的追尋者藤韵;有的是一心報效國家的預(yù)備軍人,但他們都是會寫程序的锦针,這是一種最適合現(xiàn)代這個社會的生存方式。
而在未來可見的十數(shù)年或數(shù)十年置蜀,軟件的重要性還會繼續(xù)的加重奈搜。我們的生活越來越被軟件給覆蓋,或者說吞噬盯荤,不管你是什么職業(yè)馋吗、興趣,軟件會直接的介入你的生活秋秤。
那何不學會了解它們呢宏粤?跟我一樣脚翘,我并不準備未來在工作中使用代碼,但在這卻成為了一種興趣或者是能力绍哎,足以拓展你的現(xiàn)實世界了来农。