程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 為初學者答效率的問題

為初學者答效率的問題

編輯:關於C語言

為初學者答效率的問題


本文來自讀者對我博文的評論。遇到主動思考者,提出的主動思考過的問題,老賀是相當的興奮。完整的對話見《C語言及程序設計實踐參考——n=a!+b!+c!》中二樓評論。
【問題】
  老師,我嘗試著%¥#&……%……,但程序變得更多了,這樣還會提高效率嗎?
【答復】
  很高興你能問出這樣的問題,這種主動思考,在我的實體課學生中真也不多。這牽涉到我們對於效率的多維認識。
  多數情況下,效率指計算機的效率,要分時間效率(用時盡可能少)和空間效率(運行中少占用內存空間)。而注重時間效率的居多。於是,源代碼的行數多少,並不是決定時間效率高的關鍵,只要最終目標代碼,讓計算機執行的操作少,時間角度自然就快。而另一維度的效率,我們也要認識到,那就是人的效率。計算機系統是由計算機和人綜合起來的,實際上,人的效率更值錢,這在現在人力成本增加的情形下,對一些公司很關鍵的事。對於不算太復雜的問題,或者計算機效率低,但也足以滿足需求的情況下,作為開發人員的“人”,不必為計算機的效率而花太多功夫。一個系統中最關鍵的環節,影響到系統性能的“瓶頸”部分,才值得去耗費大量的人力,以及絕頂聰明的腦袋,去追求計算機的效率。這也就是很多初級的程度員體會不到學算法的必要性的原因(盡管好的初級程序員,算法素養無時不刻在起作用)。你的解決方案,顯然計算機的效率高了,人的效率低了。更要命的是,算法弄復雜了,出錯的可能性更大了。任何的工程,遵循“簡單即是美”的法則。
  回答這樣的問題,高興,就多說幾句。
  當然,作為學習者,尤其是初學者,你的這種“人力低效率”,恰從學習角度是最高效率的,對訓練思維的價值是相當大的。將這種思考和質疑繼續下去!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved