欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
搞程序不再霧里看花,分析初學(xué)者編程者應從何種語(yǔ)言開(kāi)始學(xué)起?
這是一個(gè)爭論不休的話(huà)題,不同人總會(huì )有不同的見(jiàn)解。傳統的說(shuō)法是從Pascal開(kāi)始,而較為新點(diǎn)的是C開(kāi)始,這幾年以來(lái),也有提出直接從C++或者C#/Java開(kāi)始學(xué)起。
本人是本科出身的,對于專(zhuān)科或者不讀書(shū)的初學(xué)者來(lái)說(shuō),他們的環(huán)境也許跟我的不同,不過(guò)我的觀(guān)點(diǎn)可以作為參考。
首先,我先來(lái)介紹一下各種編程語(yǔ)言的來(lái)源、特點(diǎn)。
Pascal語(yǔ)言:
Pascal是一種計算機通用的高級程序設計語(yǔ)言,由瑞士Niklaus Wirth教授六十年代末設計并創(chuàng )立的。
Pascal的主要特點(diǎn)有:嚴格的結構化形式、豐富完備的數據類(lèi)型、運行效率高、查錯能力強等特點(diǎn)。
由于上述特點(diǎn),Pascal可以方便用于描述各種算法和數據結構。對于程序設計的初學(xué)者,Pascal語(yǔ)言有益于培養良好的程序設計風(fēng)格和習慣。IOI(國際奧林匹克信息學(xué)競賽)把Pascal語(yǔ)言作為三種程序設計語(yǔ)言之一。NOI(全國奧林匹克信息學(xué)競賽)把Pascal語(yǔ)言定為唯一提倡的程序設計語(yǔ)言,在大學(xué)中Pascal語(yǔ)言也常常被用作學(xué)習數據結構與算法的數學(xué)語(yǔ)言。
C語(yǔ)言:
C語(yǔ)言是介于匯編語(yǔ)言和高級語(yǔ)言之間的語(yǔ)言,屬于高級語(yǔ)言,也稱(chēng)為中級語(yǔ)言,是集匯編和高級語(yǔ)言?xún)?yōu)點(diǎn)于一身的程序設計語(yǔ)言。于1972年在美國貝爾實(shí)驗室里問(wèn)世。早期的C語(yǔ)言主要用于UNIX系統。由于C語(yǔ)言的強大功能和各方面的優(yōu)點(diǎn)逐漸為人們認識,到了九十年代,C語(yǔ)言開(kāi)始進(jìn)入其他操作系統,并很快在各類(lèi)大、中、小和微型計算機上得到廣泛的應用。成為當代最優(yōu)秀的程序設計語(yǔ)言之一。
C的特點(diǎn)
1. 是一種結構化語(yǔ)言。層次清晰,便于按模塊化方式組織程序,易于調試和維護。
2. C語(yǔ)言的表現能力和處理能力極強。不僅具有豐富的運算符和數據類(lèi)型,便于實(shí)現各類(lèi)復雜的數據結構,它還可以直接訪(fǎng)問(wèn)內存的物理地址,進(jìn)行位級別的操作。
3. 由于C語(yǔ)言實(shí)現對硬件的編程操作,所以既可用于系統軟件的開(kāi)發(fā),也適合于應用軟件的開(kāi)發(fā)。C語(yǔ)言還具有效率高,可移植性強等特點(diǎn)。因此廣泛地移植到了各類(lèi)計算機上,從而形成了多種版本的C語(yǔ)言。
4. 由于C語(yǔ)言允許直接對位、字節和地址進(jìn)行操作,能實(shí)現匯編語(yǔ)言的大部分功能。
5. 目標代碼質(zhì)量高,程序執行效率高。
總體上來(lái)說(shuō),C語(yǔ)言的優(yōu)點(diǎn)是簡(jiǎn)潔、緊湊、使用方便、靈活、易于學(xué)習和應用。僅有32個(gè)關(guān)鍵字。9種控制語(yǔ)句,程序的書(shū)寫(xiě)形式也很自由。
C語(yǔ)言的弱點(diǎn):非強類(lèi)型;語(yǔ)法限制不嚴格,使得編程者無(wú)法過(guò)多地依賴(lài)C編譯程序去查錯;缺少實(shí)時(shí)檢查,如數組越界等。
從嚴格上來(lái)說(shuō),C語(yǔ)言是塊結構語(yǔ)言,這是因為它在結構上類(lèi)似于A(yíng)LGOL、Pascal和Modula-2。從技術(shù)上講,塊結構語(yǔ)言允許在過(guò)程和函數中定義過(guò)程和函數。因為C語(yǔ)言不允許在函數中定義函數,所以不能稱(chēng)為通常意義上的塊結構語(yǔ)言。
C語(yǔ)言作為一門(mén)面向過(guò)程的計算機語(yǔ)言,至今已有三十多年歷史,應用廣泛,無(wú)論是Windows還是Linux,你所看到的底層都是用C寫(xiě)的。大部分的網(wǎng)絡(luò )協(xié)議也都是用C實(shí)現的。你看到的最漂亮的游戲畫(huà)面也是用C實(shí)現的,工業(yè)控制程序也是用C實(shí)現的。不過(guò)C不是萬(wàn)能,只是某些方面它適用而已。
C++語(yǔ)言
C++是于1986年由AT&T貝爾實(shí)驗室開(kāi)發(fā)的,語(yǔ)言開(kāi)發(fā)的目的在于通過(guò)數據封裝減少程序變量的副作用,從而降低程序的復雜性并提高程序的可靠性。(筆者曾經(jīng)聽(tīng)到的開(kāi)發(fā)C++的目的是由于懂得C語(yǔ)言的人越來(lái)越多,所以需要再出一門(mén)更難的、比C語(yǔ)言強大的語(yǔ)言,才能保住飯碗,so。C++出世啦)C++是C語(yǔ)言的直接擴展,C++的多繼承機制能更好地描述對象的屬性和行為。
C++是C的擴展,但C++可以作為一種全新的語(yǔ)言來(lái)看。
C++的特點(diǎn):面向對象、繼承、封裝、多態(tài)性。
由于C++是C的擴展,所以也具有C的特點(diǎn)。
C++在C的基礎上,加入了面向對象編程思想,也就決定了C++的效率在某一方面是不如C的。比如定義一種類(lèi)型,C++用類(lèi)(Class)來(lái)封裝,而C可能就直接幾個(gè)變量的組合就成了一個(gè)結構體(Struct),類(lèi)不僅具有成員變量,還具有成員函數等,在精細的比較其效率時(shí),C會(huì )比C++的效率要高。但由于時(shí)代的發(fā)展,項目或工程的龐大化,基于面向對象的思想顯然更能適應。即C++在這方面能比C要做得更漂亮?,F在不少系統級編程都是用C++實(shí)現,許多應用級別的軟件也是用C++實(shí)現。
這里要注意一點(diǎn),就是C++并不是完全的面向對象語(yǔ)言。它是提供了面向對象的模型以及思路,但是同時(shí)兼容了面向過(guò)程的模型。
Java語(yǔ)言
Java語(yǔ)言來(lái)自于Sun公司的一個(gè)叫Green的項目,其原先的目的是為家用消費電子產(chǎn)品開(kāi)發(fā)一個(gè)分布式代碼系統,這樣我們就可以把email發(fā)給電冰箱、電視機等家用電器。對他們進(jìn)行控制和信息交流。開(kāi)始,準備用C++,但C++太復雜,安全性差,最后用一種新的語(yǔ)言Oak(Java的前身),Oak是一種用于網(wǎng)絡(luò )的精巧而安全的語(yǔ)言,Sun公司曾依此投標一個(gè)交互式電視項目,但被SGI打敗??蓱z的Oak幾乎無(wú)家可歸,恰巧這時(shí)Mark Ardreesen開(kāi)發(fā)的Mosaic和Netscape啟發(fā)了Oak項目組成員,他們用(Java)編制了HotJava瀏覽器,得到了Sun首席執行官Scott McNealy的支持,觸發(fā)了Java進(jìn)軍Internet。Java的取名有一段趣聞:有一天,幾位Java成員組的會(huì )員正在討論給這個(gè)新的語(yǔ)言取什么名字,當時(shí)他們正在咖啡館喝著(zhù)Java(爪哇)咖啡,有一個(gè)人靈機一動(dòng)說(shuō)就叫Java怎樣,得到了其他人的贊賞,于是,Java這個(gè)名字就這樣傳開(kāi)了。
Java的特點(diǎn):
1. 簡(jiǎn)單性:風(fēng)格類(lèi)似于C++,Java摒棄了C++中容易引發(fā)程序錯誤的地方,如指針和內存管理。
2. 面向對象:Java是一種完全面向對象語(yǔ)言。從這點(diǎn)來(lái)看,Java類(lèi)似于SmallTalk,但其特性、尤其是適用于分布式計算環(huán)境的特性遠遠超越了SmallTalk。
3. 分布式:Java包括一個(gè)支持HTTP和FTP等基于TCP/IP協(xié)議的子庫。因此,Java應用程序可憑借URL打開(kāi)并訪(fǎng)問(wèn)網(wǎng)絡(luò )上的對象,其訪(fǎng)問(wèn)方式與訪(fǎng)問(wèn)本地文件系統幾乎完全相同。
4. 健壯:Java致力于檢查程序在編譯和運行時(shí)的錯誤。類(lèi)型檢查幫助檢查出許多開(kāi)發(fā)早期出現的錯誤。Java自己操縱內存減少了內存出錯的可能性。
5. 結構中立:Java將程序編譯成一種結構中立的中間文件格式。只要有Java運行系統的機器都執行這種中間代碼。這種中間語(yǔ)言被設計在虛擬機上運行,由機器相關(guān)的運行調試器實(shí)現執行。
6. 安全:
1)刪除了香指針和手動(dòng)釋放內存等功能,避免了非法內存操作。
2)當Java用來(lái)創(chuàng )建瀏覽器時(shí),語(yǔ)言功能和瀏覽器本身提供的功能結合起來(lái)。
Java在機器上執行前,要經(jīng)過(guò)很多測試,它經(jīng)過(guò)代碼校驗,檢查代碼段的格式,檢測指針操作,對象操作是否過(guò)分以及試圖改變一個(gè)對象的類(lèi)型。
7. 可移植的:同體系結構無(wú)關(guān)的特性使得Java應用程序可以在配備Java解釋器和運行環(huán)境的任何計算機系統上運行。任何Java代碼會(huì )被解釋成一種中間語(yǔ)言,然后通過(guò)不同機子的特定環(huán)境(如機器指令)運行程序。實(shí)現方便移植的特點(diǎn)。
8. 解釋性。Java解釋器能直接運行目標代碼指令。鏈接程序通常比編譯程序所需資源少。
9. 高性能。如果解釋器速度不慢,Java可以在運行時(shí)直接將目標代碼翻譯成機器指令。Sun用直接解釋器一秒鐘內可調用300,000個(gè)過(guò)程。
10. 多線(xiàn)程:Java提供的多線(xiàn)程功能使得在一個(gè)程序里可同時(shí)執行多個(gè)小任務(wù)。多線(xiàn)程帶來(lái)的更大好處是更好的交互性能和實(shí)時(shí)控制性能。
11. 動(dòng)態(tài):動(dòng)態(tài)特性允許程序動(dòng)態(tài)地裝入運行過(guò)程中所需要的類(lèi)。在運行時(shí)確定引用的好處是可以使用已被更新的類(lèi),而不必擔心會(huì )影響原有的代碼。如果程序連接了網(wǎng)絡(luò )中另一系統中的某一類(lèi),該類(lèi)的所有者也可以自由地對該類(lèi)進(jìn)行更新,而不會(huì )使任何引用該類(lèi)的程序崩潰。
 
Java在誕生之后不久,便受到廣大群眾的歡迎,甚至有人說(shuō)出有了Java,可以不要C/C++了。一度把Java提到了很高的地位。這當然是對Java的一種贊賞,只是有點(diǎn)過(guò)了。到今天,Java依然不能取代C,C++,而且還出現了新的對手――.Net(后面將會(huì )介紹)。
Java目前主要應用:Web瀏覽器、網(wǎng)絡(luò )應用系統。
C#語(yǔ)言。
C#是一種精確、簡(jiǎn)單、類(lèi)型安全、面向對象的語(yǔ)言。說(shuō)到C#,就不得不先簡(jiǎn)單介紹一下.net。到底什么是.net呢,按照微軟總裁兼首席執行官Steve Ballrner把它定義為:.Net代表一個(gè)集合,一個(gè)環(huán)境,它可以作為平臺支持下一代Internet的可編程結構。C#是.net的代表語(yǔ)言。
C#的特點(diǎn):
1. 完全面向對象。
2. 支持分布式,之所以有C#,是因為微軟相信分布式應用程序是未來(lái)的趨勢,即處理過(guò)程分布在客戶(hù)機和服務(wù)器上。所以C#一出生就注定了能很好解決分布式問(wèn)題。
3. 跟Java類(lèi)似,C#代碼經(jīng)過(guò)編譯后,成為了一種IL(中間語(yǔ)言)。在運行時(shí),再把IL編譯為平臺專(zhuān)用的代碼。
4. 健壯,C#在檢查程序錯誤和編譯與運行時(shí)錯誤一點(diǎn)也不遜于Java,C#也用了自動(dòng)管理內存機制。
5. C#不像Java那樣完全摒棄了指針和手動(dòng)內存管理。C#默認情況下是不能使用指針的,程序員在有必要時(shí)可以打開(kāi)指針來(lái)使用。這樣可以保證編程的靈活性。
6. 安全性:C#的安全性是有.net平臺來(lái)提供的。C#代碼編譯后成為IL語(yǔ)言。是一種受控代碼,.net提供類(lèi)型安全檢查等機制保證代碼是安全的。
7. 可移植性:由于C#使用類(lèi)似Java的中間語(yǔ)言機制。使得C#也跟Java類(lèi)似,可以很方便的移植到其他系統。在運行時(shí),再把中間代碼編譯為適合特定機器的代碼。
8. 解釋性:C#也是一種特殊的解釋性語(yǔ)言。
9. 高性能:C#把代碼編譯成中間語(yǔ)言后,可以高效的執行程序。
10. 多線(xiàn)程:與Java類(lèi)似,可以由一個(gè)主進(jìn)程分出多個(gè)執行小任務(wù)的多線(xiàn)程。
11. 組件模式:C#很適合組件開(kāi)發(fā)。各個(gè)組件可以由其他語(yǔ)言實(shí)現的,然后集成在.net中。
C#是在Java流行起來(lái)后所誕生的一種新的語(yǔ)言。由于微軟在操作系統上占有很大的優(yōu)勢。在以往的開(kāi)發(fā)中累積了不少經(jīng)驗,所形成的.net平臺,所以C#在Windows方面可以說(shuō)比Java具有更大的優(yōu)勢。如果單純從技術(shù)上來(lái)講,C#在網(wǎng)絡(luò )編程上可以與Java匹敵。C#還在Windows Forms也有一定的優(yōu)勢。
C#是一種非常類(lèi)似于C++的語(yǔ)言,風(fēng)格是更接近于Java,不管是C++程序員還是Java程序員,都可以很方便的轉到C#上來(lái)。
C#的強大是依賴(lài)于.net的發(fā)展,而.net的發(fā)展是看微軟在.net上的決心和投入有多少。從Windows 2003和Vista系統可以看出(前者內置.net1.1,后者內置.net2.0。).Net在Windows編程中具有重要的戰略意義。
C#目前主要是應用在網(wǎng)絡(luò )編程上,其他領(lǐng)域比如數據庫、窗體編程,都逐漸在增大。
終于寫(xiě)完了各種語(yǔ)言的特點(diǎn)。如果讀者對以上觀(guān)點(diǎn)不同意,請留言。別BS我就對了。好了。繼續,我該講主題了!
其次,我們現在假定一個(gè)初學(xué)者沒(méi)有任何程序設計語(yǔ)言的基礎。先來(lái)比較一下各種語(yǔ)言:
Pascal PK C
現在,看我們學(xué)習Pascal和C的過(guò)程:學(xué)Hello world,然后知道怎么編譯,運行。然后學(xué)習基本數據類(lèi)型,然后輸入輸出。不管學(xué)校希望學(xué)生能學(xué)多好,實(shí)際來(lái)看,學(xué)生學(xué)Pascal跟學(xué)C是沒(méi)什么區別的。不同的只是語(yǔ)言風(fēng)格。有人也許會(huì )說(shuō),學(xué)C的精華在于指針。學(xué)C的人會(huì )比Pascal強很多。沒(méi)錯,指針是學(xué)C的一個(gè)重點(diǎn)。但是就按我學(xué)C的課本來(lái)看,用到的指針只是很簡(jiǎn)單的。理解了*p和p有什么不同,就夠了。然后會(huì )編個(gè)簡(jiǎn)單的幾行代碼,就自認為會(huì )C了。C庫中有很多函數,教師在課堂上幾乎沒(méi)講。比如memset,qsort等,少了這些。你學(xué)Pascal和C沒(méi)什么不同,只是作為了學(xué)習其他語(yǔ)言的鋪墊而已。而新生由于沒(méi)有語(yǔ)言根基,有不少好學(xué)生由于教師在課堂上沒(méi)講,就以為學(xué)完教師所教的了。這正是好學(xué)生的弱點(diǎn)所在。如果是“壞”學(xué)生,不聽(tīng)課堂的。倒還可能發(fā)現課堂所學(xué)的C是多么膚淺。還有,我至今沒(méi)見(jiàn)過(guò)有學(xué)校會(huì )教C的圖形開(kāi)發(fā)的。雖然圖形開(kāi)發(fā)不是語(yǔ)言基礎。不過(guò)對于擴展新生的編程視野是一個(gè)不錯的選擇?,F代程序軟件支持圖形窗口的太豐富了,幾乎不會(huì )太多的學(xué)生去在意窗體的設置,定位等功能。圖形編程還能激起學(xué)生的編程欲望。筆者曾經(jīng)實(shí)現過(guò)C的動(dòng)畫(huà)演示,當里面的所有圖形都按預期的運動(dòng)起來(lái)的時(shí)候,那種興奮感猶如你在冰天雪地的情況下忽然淋你一盤(pán)冰水所感到的那種感覺(jué)。
C PK C++
C++是在C的基礎上發(fā)展起來(lái)的??雌饋?lái)似乎這兩個(gè)pk,贏(yíng)者肯定C++。其實(shí)未必。C至今還有生存的空間,而沒(méi)有被C++全盤(pán)代替。說(shuō)明了C還是具有不可替代的作用。C目前主要應用在于硬件底層的部分,以及對于性能要求較高的應用程序中。但是對于復雜的系統級的開(kāi)發(fā),顯然C++顯得從容自在。聯(lián)系實(shí)際,不少人學(xué)C++的時(shí)候,就已經(jīng)有C 的基礎了。有C的基礎,學(xué)C++的基本類(lèi)型的時(shí)候可以快速渡過(guò),然后學(xué)類(lèi),繼承,多態(tài)等概念。還是從我的經(jīng)歷說(shuō)起,我選了C++,然后幾乎沒(méi)怎上課,因為實(shí)在聽(tīng)了想睡覺(jué),期末前用C++做了一個(gè)大作業(yè)后,就叫懂C++了哈,然后考試當然輕松過(guò)了。其實(shí)我那時(shí)還是沒(méi)學(xué)到C++,本質(zhì)點(diǎn)說(shuō),我只是還是在會(huì )點(diǎn)C的基礎上。多了一個(gè)結構類(lèi)型:類(lèi),而已。后來(lái)使用了1年的C++后,才恍然察覺(jué)到當年的無(wú)知。才明白C++是什么。我相信已經(jīng)學(xué)過(guò)C++的同學(xué)估計現在連IO流的概念還沒(méi)搞清楚的人很多。造成這種現象的原因在于:1. 學(xué)生本身沒(méi)有認真去編程實(shí)現。2. 教師只是重復的講課本而已。最終判定學(xué)生是否會(huì )C++的標準也只是考試為主。關(guān)于高校的考試制度在計算機系中的效用,筆者將在未來(lái)幾天內出一篇個(gè)人觀(guān)點(diǎn)文章。
Java PK C#
目前不少人對這兩種語(yǔ)言議論紛紛。筆者在開(kāi)始學(xué)C#的時(shí)候,曾經(jīng)看過(guò)Java程序員對于C#的觀(guān)點(diǎn)。把C#貶得一文不值。忽然發(fā)現,似乎很多Java的程序員對C#懷有天生的敵意。筆者目前自認為精通的是C#(別BS我)。以往學(xué)過(guò)Java,在此我寫(xiě)一下我所感觸到的。雖然微軟一直稱(chēng)C#是繼承于C/C++,但是不論從代碼結構,還是內置的支持類(lèi),都跟Java有驚人的相似之處。我感覺(jué)C#就是在Java之上,針對Java的優(yōu)點(diǎn)和缺點(diǎn)來(lái)設計的。我用過(guò)C、C++、Java,感覺(jué)還是C#最好,這只是筆者的個(gè)人感受。由于C#還保留著(zhù)指針,當要實(shí)現一下比較底層的,性能要求高的時(shí)候,解決辦法之一是C#可以打開(kāi)指針,而Java是做不到的,Java只能通過(guò)其他途徑,比如優(yōu)化算法來(lái)解決。
Java在非windows下獲得了很大的成功:某調查公司曾經(jīng)使用Google搜索引擎來(lái)統計以下指標:熟練使用某種語(yǔ)言的工程師數量、某種語(yǔ)言課程教學(xué)的可用性、有多少公司在出售用某種語(yǔ)言編寫(xiě)的軟件。最后綜合得分情況是:Java以45.2分排名第一;第二名是C,得分是32.2;C++是以24.6分排名第三;C#遠遠落后在第九位,得分為4.6。這些數據是幾年前的數據。在這次測試中還發(fā)現,C#的受歡迎程度正在急劇上升;而Java相對穩定。這其中一個(gè)原因是.net允許許多種編程語(yǔ)言,而不像Java那樣,限制人們只能使用一種語(yǔ)言。開(kāi)發(fā)者能夠使用包括C、C++、C#甚至Java在內的幾乎任何語(yǔ)言來(lái)編寫(xiě)代碼,然后把這些代碼翻譯成機器看得懂的CLR代碼(公共語(yǔ)言運行時(shí)代碼)。這樣.net可以讓開(kāi)發(fā)者保護自己的“代碼投資”,換句話(huà)說(shuō),過(guò)去人們用C、C++編寫(xiě)的代碼都能再次被利用。而Java只能重新寫(xiě)代碼。

所有指導者(學(xué)校、培訓機構、帶你的人)在足夠的時(shí)間內都希望新生能打下編程良好的基礎。從Pascal的介紹來(lái)看,似乎從它開(kāi)始是很適合的。但是筆者是從C起步的,沒(méi)學(xué)過(guò)Pascal,對程序設計的習慣以及特點(diǎn)一點(diǎn)也不比學(xué)Pascal的人差。我覺(jué)得這不是語(yǔ)言的異同造成個(gè)人水平不同,在于拿了一門(mén)語(yǔ)言的書(shū),新生是如何學(xué)編程的。不少新生可能會(huì )認為好好上課,聽(tīng)老師講課,然后回來(lái)自己的電腦上把老師講過(guò)的內容上機去試一遍,就ok了。估計連不少教師也是這樣想的。筆者認為即使真有學(xué)生做得到,效果也是不好的。比如C語(yǔ)言把,我看過(guò)不少的C的教程的書(shū),內容大同小異。前面幾章,也就詳細的講了語(yǔ)言定義的基本類(lèi)型。然后講結構體什么的。C++則是講類(lèi),繼承等。這些東西,我感覺(jué)上課沒(méi)什么好講的,要講最多也就半節課。如果有一定編程基礎的人,這些東西學(xué)得更快。但是筆者的經(jīng)歷是這些課都上了滿(mǎn)滿(mǎn)一個(gè)學(xué)期,還有后面某些章節是來(lái)不及講的。筆者不幸運,在上Java課的時(shí)候,沒(méi)有上機課,前面的基本類(lèi)型都上了半學(xué)期了,不少學(xué)生自己連SDK都沒(méi)裝,最終考試就筆試過(guò)關(guān)罷了。連這種本應動(dòng)手的課程還是按照傳統的考核方法:卷面考試來(lái)解決。能通過(guò)高考的學(xué)生,不管是真的有料還是假的有料,相信都已經(jīng)是考試能人了,對于計算機系來(lái)說(shuō),筆者認為不能全按照傳統的教學(xué)模式來(lái)套,這只是閉著(zhù)眼睛瞎說(shuō)話(huà)而已。程序是具有很強的唯一性的。你行就行,不行就是不行。卷面答得再好也只是吹。我相信不僅我學(xué)校,其他各大高校情況也不會(huì )差太多。

這里順便說(shuō)幾句感想:對于新生來(lái)說(shuō),應該自己能看清進(jìn)入計算機系跟中學(xué)時(shí)候的環(huán)境不同。中學(xué)可以專(zhuān)門(mén)應試,不必學(xué)一些太實(shí)用的東西(除非不讀下去了,準備出來(lái)工作的)。但是到了本科,如果你也只是應付教學(xué),然后只是爭取拿獎學(xué)金,最后你不考研或者考不上研,那可以說(shuō)你在最后一年找工作的時(shí)候首先是自己心虛。雖然外面社會(huì )對本科要求不會(huì )太高,不必學(xué)生的技術(shù)像外面的技術(shù)牛人那么高。但這不代表學(xué)生能什么技能都不會(huì )?,F在恐怕只有國企性質(zhì)的企業(yè)很看重學(xué)生的成績(jì)、拿獎學(xué)金情況等等。但是不能期望所有同學(xué)都能順利去國企。

選擇編程語(yǔ)言也是比較重要的一個(gè)環(huán)節,這就看新生個(gè)人的興趣在哪。比如有人喜歡黑客,那么它可能就適合學(xué)C,以及各種腳本。有人只喜歡網(wǎng)絡(luò )編程,那么也許他選擇Java或C#就比較適合。如果有人想成為很好的windows編程,那么VC++、.Net編程也許是一個(gè)不錯的選擇。語(yǔ)言不在于多,而在于精。如果只學(xué)了一點(diǎn)就換語(yǔ)言,那不如不要學(xué)了,去打游戲,找人聊天更好。

數據結構:這是編程最基礎的課了??梢哉f(shuō)能否學(xué)好編程的一個(gè)原因在于你有沒(méi)學(xué)好數據結構。注意,沒(méi)學(xué)數據結構的,未必編不好程。如果學(xué)生只是每節課聽(tīng)老師講結構。然后理解了就完的話(huà),數據結構是不會(huì )學(xué)好的,別以為考了個(gè)9X分就高興。說(shuō)不定比考了60分的學(xué)得還差。依照筆者的經(jīng)歷。一個(gè)班里不少的人,估計一個(gè)學(xué)期上完了,連個(gè)鏈表如何用語(yǔ)言實(shí)現都不懂。對于數據結構,新生用什么語(yǔ)言來(lái)實(shí)現,這個(gè)無(wú)所謂。只要你會(huì )用某種語(yǔ)言,就行了。

學(xué)編程有一點(diǎn)是很重要的,就是學(xué)會(huì )看別人代碼。從代碼中看懂別人的意圖。這樣,可以快速學(xué)到各種技巧,提高自身的編程能力。

不少新生可能會(huì )遇到一個(gè)比較普遍的問(wèn)題,就是以前編過(guò)的東西會(huì )忘記,以后再要寫(xiě)同樣的功能代碼的時(shí)候,就忘了。我以前也經(jīng)常碰到。我認為應該懂得把你寫(xiě)的代碼保存起來(lái)或封裝起來(lái)。以后要用的時(shí)候可以直接拿來(lái)用,不必重寫(xiě)。如果以后想到了更好的算法,那么再替換掉舊的代碼。這里我建議學(xué)會(huì )創(chuàng )建鏈接接口,Windows下就是dll或lik,其他系統我沒(méi)試過(guò),不清楚,不過(guò)總會(huì )有相應的鏈接口文件的。這樣,把代碼測試完畢后,封裝到dll中,就可以長(cháng)久保存。需要用的時(shí)候可以調用。這樣可以把大部分注意力集中在新的問(wèn)題上,而不是糾纏于實(shí)現過(guò)的算法。

學(xué)編程最主要的一點(diǎn),還是要多編程。并且嘗試去接觸不同方面的問(wèn)題,并試圖去解決它。這樣,就能在技術(shù)上有很大的提高。本科學(xué)校的教育教不出一個(gè)程序員的。程序員只有編程、再編程、然后還是編程,這樣的歷程才能鍛煉出來(lái)的。

對于學(xué)生或初學(xué)者來(lái)講來(lái),專(zhuān)家建議C/C++作為入門(mén)的基礎。重點(diǎn)可以放在C++中,學(xué)好面向對象的思想。從編程中體會(huì )到為什么要用面向對象,而不是單純的背書(shū)。計算機系的課不應該去背的,不懂的就查資料就行了。當有了一定編程能力后,就可以選擇你以后作為主要的語(yǔ)言。即可以繼續研究C++,也可以選擇Java或.net中的任何一門(mén)語(yǔ)言。


http://bbs.csai.cn/bbs/view.asp?id={382AA873-7EF0-4E95-B227-379B1D268535}

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
c++ 與C#比較
勿在浮沙筑高樓:給編程入門(mén)者的建議
計算機語(yǔ)言導言
80%的學(xué)校還在給新生上C語(yǔ)言,是它們OUT了嗎?
計算機專(zhuān)業(yè)應該學(xué)習哪種開(kāi)發(fā)語(yǔ)言
新讀圖時(shí)代:編程語(yǔ)言的演化過(guò)程
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久