編程到底難在哪里?
編程難,還是不難?每個人都會有自己的看法。但有一些觀念或者經驗,是值得借鑒的,如帶著課題去學習;聽網課;從宏觀到微觀等等方法,都值得借鑒。
帶著課題去學習,效率最高。一個人什么時候學習效率最高?當然是有一個很急迫、很重大的任務交給你完成時,效率最高,能最大限度激發你的能動性。
1992年之前,編程語言只會BASIC,FORTRAN77,宏匯編,dbase等。但在92年5月份,參與了一個85攻關項目,指定要用C語言做開發。
接到任務后,找到一個有TC開發經驗的工程師,先把TC系統軟件在我們的筆記本上安裝好。然后,他給我們演示了TC的編繹、編輯、調試、開發配置等等操作,我們也一一照做了。緊接著,就是一個簡單的帶圖形的編輯軟件的大致做法,如,幾大類庫函數介紹,如io、圖形、文件操作、字符串操作、數學庫、內存管理等;庫函數的調用方法;對VGA、分辨率模式的設置;定時中斷、串口中斷等用法。最后,給我們推薦了一套共三本的C語言編程語法、庫函數用法的書。當天,我們自已做了一個顯示”hello world!”的著名程序,做為c語言開發的開端。兩周后,我做了一個能夠編輯64KB字符的編輯程序,可以存儲、打開文件,可以用malloc,free動態管理內存,可以用鼠標選擇按鈕,可以進行兩個電腦的串口通訊.....總之,學的非常快。
相反,我的一些同學,畢業后,買C語言的書看,四~五年后,依然一知半解。為什么?沒有相關c語言的開發項目,根本記不住。
從宏觀到微觀,先框架,后細節,采用逆向學習的方法。VC++在上世紀九十年代后期逐漸被國內軟件開發者所接受,但當時的資料很少,能借鑒的,就是微軟MS的最有名的MSDN。這套軟件當時花了兩萬多RMB,650MB的光盤,共三張。還買了windows編程,VC++編程,美國人編的中文譯本。
第一步,主要學windows的工作機制,如消息Message傳遞機制、線程及進程、內存管理機制、IO訪問方法等等,從宏觀上,認識了windows,認識了它與MS DOS的異同點。
第二步,VC++的框架構一造。單頁面、多頁面、屬性頁、資源文件、MFC類的層次結構、類的生成及調用等
第三步,再次分解細化,如:資源文件中,文本、編輯、按鈕、單選多選、組合框、進度條等的應用;字符串CString類、文件類、CDC、數學函數等等的應用。
按照這三步,大結構、大框架,逐步細化到一般的編程、編繹找錯、執行程序。
很多人學習,總是按步就班,在語法細節上花大力氣學習,卻不想先搞安裝VC,做一個學習平臺,去實際編程,測試、學習語法,去逆問學習。
曾經有個學生,整天糾結i++與++i到底區別在那,老是在說
i++;
if(i==1)
與
++i;
if(i==1)
到底有什么區別。我給他說沒區別,他愣是不相信。
最后,我告訴他,用在
for(i=0;i<MAX;i++)及for(i=0;i<MAX;++i)時,才有區別,他才恍然大悟。
還有&,*在函數、變量中的用法,有的人也是永遠糊涂。
寫法、用法是固定的,編程實踐一次,永遠記住了;看書聽講,過幾天就忘了。
總結:編程,看似簡單,實則是一個系統的科學,涉及到計算機、操作系統、各種系統開發環境等等基礎科目,這些在學校一定要掌握好。有了基礎,具體到JAVA,C,C++,PYTHON的編程,應以項目為主導,按照工作中的具體項目,進行深入學習,這樣不僅效率高,而且記憶深刻。