華文網

好程式師:在程式設計冰冷的世界裡,碼農有何價值?

|本文由好程式師特訓營編輯

|作者:好程式師

作為碼農,你有認真反思,或者認真思考過一些深層次的問題嗎?

碼農是一種游離於在二維世界(二進位)和人類現實世界的之間的一種奇異的生物。

人類現實世界是個很神奇的世界,很多東西經過抽象可以降維為二維世界的重複計算是非常具有經濟效益的,理論上,任何邏輯存在重複性的東西都可以通過部分抽象轉換為電腦的重複勞動,找到這種映射或者轉換關係,就是碼農這種生物的唯一生存價值。

碼農很多時候把簡潔容易理解的代碼成為某種程度的藝術,實際上這不過是一種錯覺,所謂的藝術性,無非就是站在人類的角度,最大限度地使用了某種電腦語言的特性而已。程式結構性的設計(比如封裝),本質上是協助了團隊完成更好的交流和溝通,因為人腦的缺陷,決定了在規模以上的問題上面,須要利用團隊來解決問題。另一方面,

電腦語言的發展,在很大程度上可以彌補工具使用上存在的巨大鴻溝,比方說,使用高級描述性的語言,在某些方面取代低級編譯型的語言,在某些領域(比如人機交互介面)方面的帶來的便捷性,就像使用挖掘機取代鏟子帶來的開發效率提升一樣。

電腦演算法的發展是另外一種人類世界和電腦世界映射關係科學的發展,好的演算法設計看起來也像是藝術品,當然這也是相對於人類世界而言的,電腦這個冷冰冰的世界,只存在我費了多少電的困惑。

需要程式設計的問題都是從人類現實中來,映射之後到電腦世界裡面去運算,然後運算結果再映射回人類世界,什麼是最為重要的事情?是在有限的時間,

資源,人力成本,和經濟效益下面的一種妥協的解,所謂設計,選型,經驗,模式,團隊,管理,甚至後勤服務,無外乎為這種妥協服務。

在眾多電腦程式設計的相關實踐中,重構是最為重要的一種活動,重複性(因為電腦就是最擅長處理重複性的)是重構的基石,

只要存在重複,就可以重構。重複的代碼可以重構(代碼級別重構),相同的模組可以重構(模組層級別重構),重複的設計可以重構(設計級別可以重構),語言的特性也可以重構(重新開發語言),平臺可以重構(平臺重構),重複的軟體發展過程可以重構,交互當然也可以重構。重構之所以重要,是因為他在哲學意義上是一種總結和昇華,日當三省吾身,每一天的點滴積累和昇華,可以造就你到達越來越高的境界。

一個“大神”,當然可以在最短的時間找到最優的解決問題的辦法,也許在效率上不是最優的,也許在設計上也不是足夠彈性的,但他在這個程式可以要求或者可以理解的範圍之類一定是穩定,可靠,可控的。

歡迎關注【“好程式師”頭條號】畢業工資不過萬,不收學費,極致高薪,最強保障——

可以造就你到達越來越高的境界。

一個“大神”,當然可以在最短的時間找到最優的解決問題的辦法,也許在效率上不是最優的,也許在設計上也不是足夠彈性的,但他在這個程式可以要求或者可以理解的範圍之類一定是穩定,可靠,可控的。

歡迎關注【“好程式師”頭條號】畢業工資不過萬,不收學費,極致高薪,最強保障——