#1
|
||||
|
||||
必須面對的真相─五大程式設計迷思<轉>
李啟龍
2009/01/15 05:00:00 談程式設計的迷思前,我們先來看一下何謂程式語言? 程式語言是什麼 所謂程式語言,其實就跟中文、英文這些語言一樣,只是使用的對象不同。程式語言是與電腦溝通、讓電腦幫助我們完成想做的事情的唯一途徑。 程式語言的種類非常多,基本上可以分為『低階語言』和『高階語言』兩大類,低階語言包括機器語言與組合語言…等,而高階語言則包括C/C++、Pascal、Java、Cobol、Perl、Python、Visual Basic…等。 低階語言比高階語言的執行效率高,而且對於電腦硬體的控制性也較高;不過,低階語言的開發較為困難,語法結構與人類的使用習慣不太相同,較難以開發、閱讀、除錯與維護。 相較之下,高階語言為敘述性的語言,其語法結構與人類的語法使用習慣較為接近,較易開發、閱讀、除錯與維護;但其對於硬體的控制性較差,且執行效率也不及於低階語言。事實上,這也是C/C++、Pascal、Java、Cobol、Perl、Python、Visual Basic…等高階程式語言,廣被學習與使用的原因。 程式語言的五大迷失 經筆者觀察發現,很多人在學習程式語言、進行程式設計時,常會陷入以下五個迷思: 迷思一:需要讀資訊系,才能成為好的程式設計師! NO!NO!NO!如果有讀資訊系,當然對於成為好的程式設計師有幫助,不過這並不是必要條件。 沒讀資訊相關科系,只要有興趣、肯努力、愛挑戰,一樣能成為很好的程式設計師。筆者就認識一些非資訊背景的程式設計高手,他們分別來自於數學系、企管系或是電子系…等,所以,不管有沒有讀資訊系,都可以成為好的程式設計師的啦! 迷思二:程式設計工具非常昂貴?! NO!NO!NO!其實很多的程式設計工具是免費的,而且其功能也相當完善,甚至很多的程式設計工具還是中文化的。 比方說很多讀者曾學過的C語言,即有個叫做Dev-C++的免費中文化的程式設計工具,讀者可以直接在這個連結中搜尋『Dev-C++』這個計畫,裡面也有介紹提供下載的網址。 如果各位讀者想要學Visual Basic,一樣有的免費中文版可以使用。 微軟免費提供Visual Basic 2008 Express繁體中文版,給想要學習VB的朋友們免費下載使用(這是筆者覺得微軟做的少數好事中的一件),讀者可以在該網址,進行下載。 迷思三:只有年輕人可以學程式設計! NO!NO!NO!程式設計人人可學。 不分男女老幼,只要有興趣,願意花時間,都可以學程式設計,而且也都可以學到一定程度。筆者在小學四年級時,就開始學Basic程式設計,這年紀應該算夠小吧,呵呵。後來,也有遇到一些年過60的老人家學網站程式設計、甚至是學習Java Script,夠酷吧! 所以,程式設計不是只有年輕人可以學的,只要有興趣,大家可以一起來! 迷思四:程式語言一直在改變! NO!NO!NO!電腦程式語言的演進,就像人類的語言演進一樣,有其一定的過程,程式語言並不會一直在改變。如果我們學習的是一種已經成熟的語言,如C語言、VB、或是PHP,其改變更是非常少的。 迷思五:電腦已經跑得很快了,不需要設計好的演算法了! NO!NO!NO!程式設計的演算法依舊相當重要,千萬不要認為電腦已經跑得很快了,就不注意演算方法的選擇。 舉例來說,費氏數列「f(n) = f(n-1) + f(n-2)」如以遞迴的方式呈現,每當我們呼叫f(n),會計算f(n-1)與f(n-2),當呼叫f(n-1)時,則會計算f(n-2)與f(n-3)…眼尖的讀者一定有發現,在上述計算過程,f(n-1)會被重複計算了一次,因此,當n值變大時,遞迴與非遞迴的程式在執行速度上會有明顯的差異。 利用遞迴函式寫法時,程式會變的較清晰易讀,容易呈現自己的想法,但效率上會較不佳,因每呼叫一次函式本身,都會佔去一些記憶體空間;此外,遞迴函式也比非遞迴寫法的程式容易做重複的計算;若欲追求較高的程式效率,筆者建議大家,盡量用非遞迴的寫法。 筆者之所以會列出五大程式設計迷思,是想與大家分享一個觀念─程式設計人人可學,不分男女,不分老幼,不分科系,只要有興趣、肯努力、愛挑戰、樂於思考,不管是誰,都有機會成為程式設計高手。 本文連結:http://www.zdnet.com.tw/enterprise/c...0134985,00.htm |
#2
|
|||
|
|||
以想學習C++為例~~
剛開始的新手光是分辨 Visual C++, borland c++, C++ builder, Dev-C++, Turbo C++ ... Visual C++ 又分為 Visual C++ 6.0, Visual C++ 2005, Visual C++ 2008, Visual Studio ...... 還沒開始就暈了 ^O^
__________________
|
#3
|
||||
|
||||
迷思是不難打破!
難的是學習的決心與毅力 而且我相信 學程式還是要有點天份才行的... |