不以寫效率低下的程式為恥
先感謝 Cliffu 給出的連結,我跑去看了下原文,看來還是有一些味道是翻譯不過來的,看了原文更 能感受到作者的意思。
我在看了這章後,很有感慨。我很同意作者的觀點就是我想要的程式語言是一種能讓我快速簡單地開發 出我想開發的軟體的語言。在我不在研究程式設計和程式語言本身的時候,使用程式語言程式設計只是我想開發 出一個實現我想法的程式的一個步驟而已,我的真正在乎目標是實現一個程式,那個程式完成了我的 想法中的功能,而不管使用那種語言,它只是完成我目標的一個過程,一種工具。但是不同的語言之間 還是有很大差別的。我學的第一門程式語言是C語言,C語言給我的認識是核心很小的語言,語言本身的 特性很小,我很喜歡C語言,因為我學會了,而我應該再也不會忘記C語言了。但是C語言本身的標準庫 卻是非常有限的,當你需要什麼功能時,要不然自己實現,要不然就去找第三方庫去吧,使用起來很不 方便(在想完成自己的一些專案時)。而後面我接觸了Python,我的感覺是:臥槽,這語言用起來也 太爽了吧,自帶的標準庫功能就非常強大了,而且還有很多使用起來非常方便的第三方庫。使用Python, 我總能比較迅速的實現一個我想要的程式,而這才是我想要的。而效率是我關心的重點嗎?其實很多時候 並不是,我能接受Python版程式帶來的一些效能損失和執行時間變長。
作者也說了,即使計算機的硬體效能增長,帶來的效能提升很大可能也會被浪費掉。計算機上的一層 一層的抽象,每一層都在消耗著效能,但是我們還是樂此不疲地新增著一層一層的抽象層,因為每 多做一層抽象,我們就能更方便更直觀更直接的解決我們遇到的問題,而不用再在思考著高層次的問題 的時候還要考慮著底層的實現細節。這肯定會帶來效能損失的,是waste,不過這個是一種good waste, 因為這些抽象讓我們可以以更加簡潔的方式來解決問題。那麼在一層一層的抽象層之上我們的程式在 從底層的視角來看,是非常低效的,浪費了很多的效能;但是在高層的視角來看,我們簡潔明瞭地解決 了問題,而不是花費了很多的時間浪費在了與我們的目標問題無關的其他實現細節上。這樣實現出來的 軟體,可能效率低下,卻並不是爛的。
我認為作者的程式設計思維是浪費機器時間而節省程式設計師的時間。因為即使摩爾定律不成立了,機器計算 速度的增長肯定也是會比程式設計師開發時間的增多來的更加便宜的,那麼我們就沒有必要為了我們現在 明顯可以進行“浪費”的算力而花費大量開發時間來換取不划算的執行效率。
對於未來的程式語言,我的看法是宣告式程式設計(Declarative programming)會變得更流行,雖然 在底層我認為肯定還是使用指令式程式設計實現的,但是在不斷增加的抽象層之上,最終應用層會使用宣告 式程式設計,我們只需要告訴電腦要做什麼就可以了,至於怎麼做就不用應用層程式設計師操心了。
相關文章
- 為什麼說很多IDC企業管理效率低下
- Web3是中心化的且效率低下 - neelcWeb中心化
- 如何應對做事拖拉、倦怠、心情抑鬱、效率低下? - Reddit
- zset如何解決內部連結串列查詢效率低下
- 程式碼榮辱觀-以運用風格為榮,以隨意編碼為恥
- Gartner連續五年唱衰Hadoop,廠商不以為然!Hadoop
- 恥辱柱
- 執行效率高的程式碼-可以這樣寫出來~
- VSCode使用技巧,程式碼編寫效率提升2倍以上!VSCode
- workist - node編寫的小巧的效率工具
- 一種提升SQL改寫效率的方法SQL
- 讀寫鎖 ReentrantReadWriteLock 與 互斥鎖 的效率
- 憶往昔,人生不以成績論成敗
- Guava - 拯救垃圾程式碼,寫出優雅高效,效率提升N倍Guava
- 為什麼你寫的程式碼糟透了?
- 漫話:如何給女朋友解釋為什麼有些網站域名不以www開頭網站
- 48 條高效率的 PHP 優化寫法PHP優化
- 如何使用iA Writer for Mac提升你的寫作效率Mac
- 身為程式設計師寫一百萬行程式碼的感覺程式設計師行程
- 手寫程式語言-如何為 GScript 編寫標準庫
- 最無恥的 HTTP 常用狀態碼圖解HTTP圖解
- 程式設計技巧│提高 Javascript 程式碼效率的技巧程式設計JavaScript
- 何為程式碼質量?——用腦子寫程式碼
- 程式編寫的溫柔 能成為人工智慧的“心”嗎人工智慧
- 兩招提升硬碟儲存資料的寫入效率硬碟
- 為程式碼編寫穩定的單元測試 [Go]Go
- 首日免費榜第二,專訪《江湖悠悠》製作人:為可恥的浪漫糾結4年
- 提高程式碼的執行效率(1)
- 為什麼程式設計師千萬不要重寫程式碼?程式設計師
- 專為程式設計師編寫的英語學習指南程式設計師
- 天天寫業務程式碼的程式設計師,怎麼成為技術大牛程式設計師
- 為什麼程式設計師喜歡在半夜寫程式碼?程式設計師
- 為人的幸福————記一次編寫計算程式的經歷
- 可以提高程式設計師效率的工具!程式設計師
- 解鎖Markdown高階用法,提升寫作效率
- Python 設定numpy不以科學計數法儲存和顯示的方法Python
- 我在華為寫了13年程式碼的一些感悟
- 請寫出如下程式碼執行的結果並解釋為什麼?[程式碼]