熟練掌握開發(fā)工具
做為一名程序員至少熟練掌握兩到三種開發(fā)工具的使用,這是程序員的立身之本,其中C/C++和JAVA是重點(diǎn)推薦的開發(fā)工具,C/C++以其率和高度的靈活性成為開發(fā)工具中的利器,很多系統(tǒng)級(jí)的軟件還是用C/C編寫。而JAVA的跨平臺(tái)和與WEB很好的結(jié)合是JAVA的優(yōu)勢(shì)所在,而JAVA即其相關(guān)的技術(shù)集JAVA One很可能會(huì)成為未來的主流開發(fā)工具之一。其次,能掌握一種簡(jiǎn)便的可視化開發(fā)工具,如VB,PowerBuilder,Delphi,C Builder,則更好,這些開發(fā)工具減小了開發(fā)難度,并能夠強(qiáng)化程序員對(duì)象模型的概念。另外,需要掌握基本的腳本語言,如shell,perl等,至少能讀懂這些腳本代碼。
熟知數(shù)據(jù)庫(kù)
為什么數(shù)據(jù)庫(kù)是如此重要?作為程序員,他們自然有自己的理由:很多應(yīng)用程序都是以數(shù)據(jù)庫(kù)的數(shù)據(jù)為中心,而數(shù)據(jù)庫(kù)的產(chǎn)品也有不少,其中關(guān)系型數(shù)據(jù)庫(kù)仍是主流形式,所以程序員至少熟練掌握一兩種數(shù)據(jù)庫(kù),對(duì)關(guān)系型數(shù)據(jù)庫(kù)的關(guān)鍵元素要非常清楚,要熟練掌握SQL的基本語法。雖然很多數(shù)據(jù)庫(kù)產(chǎn)品提供了可視化的數(shù)據(jù)庫(kù)管理工具,但SQL是基礎(chǔ),是通用的數(shù)據(jù)庫(kù)操作方法。如果沒有機(jī)會(huì)接觸商業(yè)數(shù)據(jù)庫(kù)系統(tǒng),可以使用免費(fèi)的數(shù)據(jù)庫(kù)產(chǎn)品是一個(gè)不錯(cuò)的選擇,如mySQL, Postgres等。
對(duì)操作系統(tǒng)有一定的了解
當(dāng)前主流的操作系統(tǒng)是Windows,Linux/Unix,熟練地使用這些操作系統(tǒng)是必須的,但只有這些還遠(yuǎn)遠(yuǎn)不夠。要想成為一個(gè)真正的編程高手,需要深入了解操作系統(tǒng),了解它的內(nèi)存管理機(jī)制、進(jìn)程/線程調(diào)度、信號(hào)、內(nèi)核對(duì)象、系統(tǒng)調(diào)用、協(xié)議棧實(shí)現(xiàn)等。Linux作為開發(fā)源碼的操作系統(tǒng),是一個(gè)很好的學(xué)習(xí)平臺(tái),Linux幾乎具備了所有現(xiàn)代操作系統(tǒng)的特征。雖然Windows系統(tǒng)的內(nèi)核實(shí)現(xiàn)機(jī)制的資料較少,但通過互聯(lián)網(wǎng)還是能獲取不少資料。只有對(duì)操作系統(tǒng)有一定的了解后,你會(huì)發(fā)現(xiàn)自己上了一個(gè)新的臺(tái)階。
懂得網(wǎng)絡(luò)協(xié)議TCP/IP
在互聯(lián)網(wǎng)如此普及的今天,如果您還沒有對(duì)互聯(lián)網(wǎng)的支撐協(xié)議TCP/IP協(xié)議棧有很好的掌握,就需要迅速補(bǔ)上這一課,網(wǎng)絡(luò)技術(shù)已改變了軟件運(yùn)行的模式,從早的客戶/服務(wù)器結(jié)構(gòu),到今天的WEB Services(網(wǎng)絡(luò)服務(wù)器),再到未來的網(wǎng)格計(jì)算,這一切都離不開以TCP/IP協(xié)議棧為基礎(chǔ)的網(wǎng)絡(luò)協(xié)議支持,所以,深入掌握TCP/IP協(xié)議是非常必要的。至少,你需要了解ISO七層協(xié)議模型,IP/UDP/TCP/HTTP等常用協(xié)議的原理和三次握手機(jī)制。