編程語(yǔ)言的發(fā)展趨勢(shì)
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
本文列出了當(dāng)今計(jì)算機(jī)軟件開(kāi)發(fā)和應(yīng)用領(lǐng)域最重要十種關(guān)鍵技術(shù)排名,如果你想保證你現(xiàn)在以及未來(lái)的幾年不失業(yè),那么你最好跟上這些技術(shù)的發(fā)展。雖然你不必對(duì)這十種技術(shù)樣樣精通,但至少應(yīng)該對(duì)它們非常熟悉。
一、XML 在十種技術(shù)中,最重要的一種技術(shù)我想應(yīng)該非XML莫屬。這里不僅僅指XML規(guī)范本身,還包括一系列有關(guān)的基于XML的語(yǔ)言:主要有 XHTML,XSLT,XSL,DTDs,XML Schema(XSD),XPath,XQuery和SOAP.如果你現(xiàn)在還對(duì)XML一無(wú)所知,那么趕快狂補(bǔ)吧。 XML是包含類似于HTML標(biāo)簽的一個(gè)文本文件,在這個(gè)文件中定義了一個(gè)樹(shù)型結(jié)構(gòu)來(lái)描述它所保存的數(shù)據(jù)。 XML最大的優(yōu)點(diǎn)是你既可以在這個(gè)文本文件中存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),也可以在其中存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)——也就是說(shuō),它能包含和描述"粗糙的"文檔數(shù)據(jù),就象它描述"規(guī)則的"表格數(shù)據(jù)一樣。 XHTML是目前編寫HTML的首選方法;因?yàn)閄HTML本身就是格式良好的XML,與通常畸形的HTML文檔相比, XHTML格式文檔更容易處理。 XSLT和XSL是對(duì)XML文檔進(jìn)行轉(zhuǎn)換的語(yǔ)言。它們可以將XML文檔轉(zhuǎn)換成各種格式,比如另一個(gè)文本文件、PDF文件、HTML文件、逗號(hào)分割的文件,或者轉(zhuǎn)換成其它的XML文檔。 DTDs 和XML Schema用來(lái)描述XML文件所包含的數(shù)據(jù)內(nèi)容的類型,使你不用編寫定制的代**就能對(duì)XML文檔的內(nèi)容進(jìn)行"有效性"檢查,使內(nèi)容強(qiáng)行遵守給出的規(guī)則。 XPath 和 XQuery是查詢語(yǔ)言,用它們可以從XML文檔中吸取單個(gè)的數(shù)據(jù)項(xiàng)或者數(shù)據(jù)項(xiàng)列表。XQuery的功能特別強(qiáng)大,因?yàn)樗鼘?duì)XPath查詢進(jìn)行了擴(kuò)展。實(shí)際上,XQuery和XML的關(guān)系就像SQL之于關(guān)系數(shù)據(jù)庫(kù)一樣。 SOAP是Web services間進(jìn)行通訊的標(biāo)準(zhǔn)協(xié)議。你不必知道SOAP協(xié)議的所有細(xì)節(jié),但是你應(yīng)該熟悉其常用規(guī)則及其工作原理,這樣你才能使用它。 二、Web Services Web服務(wù)是XML流行后的直接產(chǎn)物。因?yàn)閄ML可以描述數(shù)據(jù)和對(duì)象,XML大綱可以保證XML文檔數(shù)據(jù)的有效性,因?yàn)閄ML的基于文本的規(guī)范,因而 XML文檔極其適合于作為一種跨平臺(tái)通訊標(biāo)準(zhǔn)的基本格式。如果你還沒(méi)有接觸過(guò)Web服務(wù),那么過(guò)不了多久你肯定會(huì)碰到它,所以必須熟練掌握Web服務(wù),最好是精通它,因?yàn)樗瞧駷橹箲?yīng)用程序間跨不同種類機(jī)器、語(yǔ)言、平臺(tái)和位置通訊的最簡(jiǎn)單的一種方式。不管你需不需要它,Web服務(wù)都會(huì)是將來(lái)互用性的主要趨勢(shì)。 XML工作組的John Bosak曾說(shuō)過(guò):"XML使得Java有事可做",那么,我們也可以說(shuō),Web服務(wù)使得所有語(yǔ)言都有事可做。Web服務(wù)讓運(yùn)行在大型機(jī)上的COBOL應(yīng)用程序與運(yùn)行在手持設(shè)備上的應(yīng)用程序相互溝通;讓Java小應(yīng)用與。NET服務(wù)器相互通訊,讓桌面應(yīng)用與Web服務(wù)器進(jìn)行無(wú)縫交互,不但為商業(yè)數(shù)據(jù)處理,同時(shí)也為商業(yè)功能提供了方便的實(shí)現(xiàn)——并且這種實(shí)現(xiàn)與語(yǔ)言、平臺(tái)、和位置無(wú)關(guān)。 三、面向?qū)ο缶幊?許多程序員仍然認(rèn)為OOP乃技術(shù)的象牙之塔,但是細(xì)細(xì)想一下過(guò)去十年里在面向?qū)ο箢I(lǐng)域里占據(jù)過(guò)統(tǒng)治地位的開(kāi)發(fā)語(yǔ)言之后,你就不會(huì)這么認(rèn)為了,OOP理念從 Smalltalk開(kāi)始,然后蔓延到C++和Pascal(Delphi),到Java成為真正的主流,幾年之后,VB.NET 和 C#的出現(xiàn)可以說(shuō)是OOP發(fā)展到了登峰造極的地步。雖然使用這些語(yǔ)言不必了解OOP的概念,但如果你缺乏一些OOP的基本知識(shí)和方法,我想你很難在逐漸疲軟的就業(yè)市場(chǎng)中找到工作。 四、Java, C++, C#, VB.NET 如果你熱衷于技術(shù),并且熱愛(ài)編程,那么我想你應(yīng)該輕松玩轉(zhuǎn)這些高級(jí)語(yǔ)言,我說(shuō)的玩轉(zhuǎn)并不一定要你成為超級(jí)編程高手。而是能看懂用這些語(yǔ)言編寫的代**即可。如果你還有精力用它們編**那就更好了。其實(shí)這種機(jī)會(huì)甚少。但是看代**的機(jī)會(huì)很多,學(xué)習(xí)編程的最有效的一種方式就是看源代**——浩如煙海的源代**中很多都不是用你所鐘愛(ài)的開(kāi)發(fā)語(yǔ)言編寫的。 在過(guò)去的幾年里,各個(gè)語(yǔ)言功能的發(fā)展基本上都差不多。現(xiàn)在你完全可以用VB.NET來(lái)寫Windows服務(wù)、Web應(yīng)用或者命令行程序。即使你只用其中的一種語(yǔ)言寫程序。我認(rèn)為也完全有必要學(xué)習(xí)另外一種語(yǔ)言,使自己能閱讀和理解它們現(xiàn)有的例子代**,并且能將一種語(yǔ)言編寫的代**轉(zhuǎn)換成你首選的編程語(yǔ)言代**。這里列出的四種語(yǔ)言可謂是一個(gè)強(qiáng)大的開(kāi)發(fā)語(yǔ)言工具箱,如果你掌握了它們,毫無(wú)疑問(wèn)你一定是一個(gè)眾人仰慕的高手。這里我要聲明一下:那就是我并沒(méi)有要忽略和排除其它的高級(jí)語(yǔ)言,如:FORTRAN、COBOL、APL、ADA、Perl和Lisp等等,根據(jù)你所從事的領(lǐng)域不同,應(yīng)該選擇適合的語(yǔ)言和工具。 五、JavaScript Java 和JavaScript兩者的名字盡管很類似,但它們之間并沒(méi)有什么關(guān)系。為什么一種腳本語(yǔ)言會(huì)如此重要,以至于將它列入十種關(guān)鍵技術(shù)之一呢?仔細(xì)想一下就知道了,目前所有主流的瀏覽器都使用JavaScript.如果你要編寫Web應(yīng)用程序,那么JavaScript不可或缺。此外,JavaScript還能作為一種服務(wù)器端的腳本語(yǔ)言,如將它嵌入在ASP、ASP.NET中,或者嵌入XSLT來(lái)擴(kuò)展功能。目前 JavaScript在Mozilla/Netscape中是激活基于XUL界面的首選語(yǔ)言,它派生出了ActionScript,成為Flash MX應(yīng)用的編程語(yǔ)言。還有就是JavaScript極有可能成為未來(lái)新設(shè)備的腳本語(yǔ)言以及主流應(yīng)用的宏語(yǔ)言。 相比之下,VBScript雖然在微軟的產(chǎn)品中得到很好的支持,但從長(zhǎng)遠(yuǎn)來(lái)看,沒(méi)有跡象表明它會(huì)有美好前途。微軟自己都趨向于用JavaScript(或者用由JavaScript派生的JScript)來(lái)編寫其客戶端腳本代**。因此,如果你要選擇腳本語(yǔ)言,非JavaScript莫屬。 六、Regular Expressions 從所周知,關(guān)系數(shù)據(jù)庫(kù)的查詢使用SQL,搜索XML文檔用XPath 和XQuery,而正則表達(dá)式則用來(lái)搜索純文本。例如,你可以用一個(gè)命令來(lái)查找或刪除HTML格式文件中的注釋內(nèi)容。大家都用過(guò)"IndexOf"、"InStr"以及"Like"這些內(nèi)建在JavaScript或VB中的文本搜索函數(shù),這些函數(shù)雖然很容易使用,但是它們的功能卻無(wú)法與正則表達(dá)式同日而語(yǔ)——現(xiàn)在每一種主流的開(kāi)發(fā)語(yǔ)言都提供對(duì)正則表達(dá)式的存取。盡管有人認(rèn)為正則表達(dá)式本身的讀寫艱澀難懂,但畢竟它的功能強(qiáng)大,使用它的領(lǐng)域也越來(lái)越多。 七、Design Patterns 就像OOP通過(guò)創(chuàng)建和分類對(duì)象來(lái)簡(jiǎn)化編程一樣,設(shè)計(jì)模式將普通的對(duì)象交互分類成指定的模型,這是一個(gè)從一般到具體的過(guò)程。OOP的成分使用得越多,設(shè)計(jì)模式就顯得越有用武之地。所以你必須理解它們,跟上其總體理論的發(fā)展。 八、Flash MX 當(dāng)你需要比HTML和CSS所能提供的更多的客戶端圖形和編程能力時(shí),F(xiàn)lash是最佳選擇。在Flash中編程比用Java小應(yīng)用或者。NET代**來(lái)得快得多,也容易得多。 在最新版本中(MX),F(xiàn)lash不僅可以畫圖和進(jìn)行動(dòng)畫打包,它還是個(gè)高度的可編程應(yīng)用環(huán)境。具備強(qiáng)大的與SOAP Web服務(wù)溝通的能力,可以調(diào)用運(yùn)行在遠(yuǎn)端服務(wù)器上的ColdFusion、Java或。NET代**。可以說(shuō)Flash幾乎無(wú)處不在,包括手持設(shè)備、置頂盒、甚至是新的平板電腦,你到處都可以見(jiàn)到它的身影,所以使用它實(shí)際上可以擴(kuò)展和延伸你的應(yīng)用程序使用領(lǐng)域。 九、Linux/Windows 這是當(dāng)今PCs機(jī)**作系統(tǒng)的兩大陣容,如果你想在計(jì)算機(jī)行業(yè)里混,就一定要熟悉它們。對(duì)于Linux,最好能自己安裝,配置,下載它的圖形用戶界面以及一些應(yīng)用程序。自己安裝Apache并會(huì)編寫Web應(yīng)用程序。要清醒地認(rèn)識(shí)到這個(gè)世界除了Windows之外,還有Linux的存在。并且這種局面將會(huì)長(zhǎng)期存在。 反過(guò)來(lái),如果你是一個(gè)死忠的Linux開(kāi)發(fā)者,不要再繼續(xù)對(duì)Windows的憎惡,要相互學(xué)習(xí),取長(zhǎng)補(bǔ)短,看看Windows有什么好的東東可以采納。記住Windows仍然是桌面之王。 誰(shuí)也說(shuō)不準(zhǔn)你們公司什么時(shí)候會(huì)決定從Linux轉(zhuǎn)向Windows,或者從Windows轉(zhuǎn)向Linux.誰(shuí)也說(shuō)不準(zhǔn)什么時(shí)候你會(huì)跳槽跑到另外一個(gè)使用不同平臺(tái)的公司上班——或者即便不跳槽,也有可能在不同平臺(tái)上開(kāi)始另外一個(gè)殺手級(jí)項(xiàng)目——所以最好在每個(gè)平臺(tái)上都積累一些經(jīng)驗(yàn),而不要在一棵樹(shù)上吊死。 十、SQL 盡管SQL在當(dāng)今眾多的技術(shù)中已不是什么新東西,而且在未來(lái)的十年里它的作用很有可能被削弱,甚至整個(gè)被淘汰,但它仍然是一種基本技能——?jiǎng)e看它是一種基本技能,至今仍有許多開(kāi)發(fā)人員不懂什么是SQL或?qū)λ私獠欢唷2灰竿趫D形用戶界面的SQL構(gòu)造器會(huì)幫你的忙,還是自己親手寫SQL查詢吧,確定你掌握了SQL的基本語(yǔ)法。現(xiàn)在理解了SQL,不僅對(duì)以后學(xué)習(xí)XQuery有所裨益,而且可以使你很快找到簡(jiǎn)化或改進(jìn)當(dāng)前開(kāi)發(fā)項(xiàng)目的途徑。 該文章在 2011/1/12 16:46:01 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |