<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>

            IT人如何修煉編程的內功[2]

            時間:2020-10-27 17:40:38 職業規劃 我要投稿

            IT人如何修煉編程的內功[2]

            ok了,這我們是不是可以理解到,計算機編程,其實首先是人的工作,當我們遇到一個服務需求,我們人來做一次,嗯,獲得一個比較滿意的結果,然后我們覺得這個動作可以重復,下次遇到類似的問題,照做就好了。于是,我們就安排計算機來做這件事了。是不是這樣?

            這是不是說明,程序,其實是在講一件事應該怎么做,這個做的過程,以及這個過程的含義,其實是人定義出來的,然后通過編程,教給計算機來做而已。

            我以前經常有種感覺,計算機編程,是兩層意思,一層,是程序本身的含義,就是怎么做事,另一層,是隱含在程序下面的邏輯含義,就是做事的意義,程序只是字面上的意思,而邏輯,是程序段落組合起來,共同表述的一層意思。現在想想,其實就是這個道理。

            嗯,既然我們知道,編程,就是把做一件事情的步驟,分拆開來,教計算機去做,但,分拆到什么粒度呢?這個很重要。如果分拆的粒度太細,白白浪費程序員的時間和精力,這些都是成本。而分拆得太粗,計算機還是弄不明白,做事不對,就是bug了。

            這說明,編程有個很重要的概念,就是粒度,也就是我們對問題描述的精細程度。

            最開始的計算機是最笨的,學過計算機組成原理的同學大概知道,只要有個累加器,其實已經可以算一臺計算機了,只會做加法計算。因為從數學上,我們可以知道,任何計算,最終都可以演化成加法計算,事實上,現在的CPU,在最底層核心的部分,也還是這個加法邏輯。

            這樣做當然沒什么不好,不過,有個小小的問題,就是粒度太細了。如果每件事情,都要程序員去拆解成很細的加法計算,這個工作就幾乎不是人干的事情了。難道就無解了嗎?

            呵呵,前面我們說過,計算機的特點是什么?無限重復,大家就發現,一個事情,比如7*24,這是乘法計算,但是,我們最終要拆解為加法計算去實現,但是,不是說我們每次都要這么拆解,乘法計算也是一個工作,有規律的,因此,當我們拆解一次之后,我們當然可以把這次拆解過程本身,編訂為程序,下次遇到類似問題,讓計算機把這個程序再跑一遍就ok了。呵呵,大家以為Intel的CPU里面的乘法計算指令是怎么實現的?大家又以為AMD的CPU內部的微代碼體系是怎么實現的?

            就是這么一個思維,解決了所有的問題,遇到需求,首先拆分,然后不斷檢索我們以前是不是以前拆分過了,遇到能套用的程序段落,就直接用,不用每次都拆分那么細,減少工作量,當然,遇到新問題,還是需要自己拆解的',不過,拆解后,最好把拆解本身,也寫成程序,下次重用。

            大家玩各種語言,一般都提供基本庫,這個基本庫,其實就是前人已經拆解過的結果,軟件公司覺得有代表性,可以滿足大多數應用場合,就編訂到基本庫里面,以后程序員直接用,不用自己重復了,大家說是不是這樣?

            現在,大家知道怎么看待C的stdio.h,stdlib.h這些基本庫了吧?C++的iostream是什么含義,知道了不?MFC知道了不?Java的運行時庫是什么意思,也知道了吧?

            不過呢,這個世界的需求總是很多的,并且,計算機的能力也是不斷在進步,以前不適合計算機做的事情,現在也慢慢變得適合了。因此,大家總能遇到一些新問題,需要自己重新拆解,基本庫中沒有提供,這就是程序員這個職業存在的真實含義。幫助用戶不斷拆解新需求,解決新問題。當然,庫本身也在進步,不斷把已經被證明拆解成功的問題,修補到庫中,避免以后的程序員做重復工作。就這么簡單。

             

            【IT人如何修煉編程的內功[2]】相關文章:

            太極拳內功修煉方法09-19

            論修煉營銷內功的重要性11-12

            職業經理人如何修煉自身的能力09-17

            accp如何學習編程11-02

            如何修煉領導力08-08

            創業路上如何修煉心靈11-30

            如何修煉你的領導力09-18

            楊式太極拳內功如何練習10-04

            如何修煉成超級廣告模特08-07

            形體舞蹈如何修煉自身氣質09-04

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院