1. 程式人生 > >提高自己JAVA水平的十大技術討論

提高自己JAVA水平的十大技術討論

一、XML  
在十種技術中,最重要的一種技術我想應該非XML莫屬。這裡不僅僅指XML規範本身,還包括一系列有關的基於XML的語言:主要有XHTML,XSLT,XSL,DTDs,XML Schema(XSD),XPath,XQuery和SOAP.如果你現在還對XML一無所知,那麼趕快狂補吧。XML是包含類似於HTML標籤的一個文字檔案,在這個檔案中定義了一個樹型結構來描述它所儲存的資料。  XML最大的優點是你既可以在這個文字檔案中儲存結構化資料,也可以在其中儲存非結構化資料——也就是說,它能包含和描述”粗糙的”文件資料,就象它描述”規則的”表格資料一樣。  XHTML是目前編寫HTML的首選方法;因為XHTML本身就是格式良好的XML,與通常畸形的HTML文件相比, XHTML格式文件更容易處理。  XSLT和XSL是對XML文件進行轉換的語言。它們可以將XML文件轉換成各種格式,比如另一個文字檔案、PDF檔案、HTML檔案、逗號分割的檔案,或者轉換成其它的XML文件。  DTDs 和XML Schema用來描述XML檔案所包含的資料內容的型別,使你不用編寫定製的程式碼就能對XML文件的內容進行”有效性”檢查,使內容強行遵守給出的規則。  XPath 和 XQuery是查詢語言,用它們可以從XML文件中吸取單個的資料項或者資料項列表。XQuery的功能特別強大,因為它對XPath查詢進行了擴充套件。實際上,XQuery和XML的關係就像SQL之於關係資料庫一樣。  SOAP是Web services間進行通訊的標準協議。你不必知道SOAP協議的所有細節,但是你應該熟悉其常用規則及其工作原理,這樣你才能使用它。  
二、Web Services

  
Web服務是XML流行後的直接產物。因為XML可以描述資料和物件,XML大綱可以保證XML文件資料的有效性,因為XML的基於文字的規範,因而XML文件極其適合於作為一種跨平臺通訊標準的基本格式。如果你還沒有接觸過Web服務,那麼過不了多久你肯定會碰到它,所以必須熟練掌握Web服務,最好是精通它,因為它是迄今為止應用程式間跨不同種類機器、語言、平臺和位置通訊的最簡單的一種方式。不管你需不需要它,Web服務都會是將來互用性的主要趨勢。  XML工作組的John Bosak曾說過:”XML使得Java有事可做”,那麼,我們也可以說,Web服務使得所有語言都有事可做。Web服務讓執行在大型機上的COBOL應用程式與執行在手持裝置上的應用程式相互溝通;讓Java小應用與。NET伺服器相互通訊,讓桌面應用與Web伺服器進行無縫互動,不但為商業資料處理,同時也為商業功能提供了方便的實現——並且這種實現與語言、平臺、和位置無關。  
三、面向物件程式設計
  
許多程式設計師仍然認為OOP乃技術的象牙之塔,但是細細想一下過去十年裡在面向物件領域裡佔據過統治地位的開發語言之後,你就不會這麼認為了,OOP理念從Smalltalk開始,然後蔓延到C++和Pascal(Delphi),到Java成為真正的主流,幾年之後,VB.NET 和 C#的出現可以說是OOP發展到了登峰造極的地步。雖然使用這些語言不必瞭解OOP的概念,但如果你缺乏一些OOP的基本知識和方法,我想你很難在逐漸疲軟的就業市場中找到工作。
四、Java, C++, C#, VB.NET  
如果你熱衷於技術,並且熱愛程式設計,那麼我想你應該輕鬆玩轉這些高階語言,我說的玩轉並不一定要你成為超級程式設計高手。而是能看懂用這些語言編寫的程式碼即可。如果你還有精力用它們編碼那就更好了。其實這種機會甚少。但是看程式碼的機會很多,學習程式設計的最有效的一種方式就是看原始碼——浩如煙海的原始碼中很多都不是用你所鍾愛的開發語言編寫的。  在過去的幾年裡,各個語言功能的發展基本上都差不多。現在你完全可以用VB.NET來寫Windows服務、Web應用或者命令列程式。即使你只用其中的一種語言寫程式。我認為也完全有必要學習另外一種語言,使自己能閱讀和理解它們現有的例子程式碼,並且能將一種語言編寫的程式碼轉換成你首選的程式語言程式碼。這裡列出的四種語言可謂是一個強大的開發語言工具箱,如果你掌握了它們,毫無疑問你一定是一個眾人仰慕的高手。這裡我要宣告一下:那就是我並沒有要忽略和排除其它的高階語言,如:FORTRAN、COBOL、APL、ADA、Perl和Lisp等等,根據你所從事的領域不同,應該選擇適合的語言和工具。  
五、JavaScript
  
Java 和JavaScript兩者的名字儘管很類似,但它們之間並沒有什麼關係。為什麼一種指令碼語言會如此重要,以至於將它列入十種關鍵技術之一呢?仔細想一下就知道了,目前所有主流的瀏覽器都使用JavaScript.如果你要編寫Web應用程式,那麼JavaScript不可或缺。此外,JavaScript還能作為一種伺服器端的指令碼語言,如將它嵌入在ASP、ASP.NET中,或者嵌入XSLT來擴充套件功能。目前JavaScript在Mozilla/Netscape中是啟用基於XUL介面的首選語言,它派生出了ActionScript,成為Flash MX應用的程式語言。還有就是JavaScript極有可能成為未來新裝置的指令碼語言以及主流應用的巨集語言。  相比之下,VBScript雖然在微軟的產品中得到很好的支援,但從長遠來看,沒有跡象表明它會有美好前途。微軟自己都趨向於用JavaScript(或者用由JavaScript派生的JScript)來編寫其客戶端指令碼程式碼。因此,如果你要選擇指令碼語言,非JavaScript莫屬。  
六、Regular Expressions  
從所周知,關係資料庫的查詢使用SQL,搜尋XML文件用XPath 和XQuery,而正則表示式則用來搜尋純文字。例如,你可以用一個命令來查詢或刪除HTML格式檔案中的註釋內容。大家都用過”IndexOf”、”InStr”以及”Like”這些內建在JavaScript或VB中的文字搜尋函式,這些函式雖然很容易使用,但是它們的功能卻無法與正則表示式同日而語——現在每一種主流的開發語言都提供對正則表示式的存取。儘管有人認為正則表示式本身的讀寫艱澀難懂,但畢竟它的功能強大,使用它的領域也越來越多。  
七、Design Patterns  
就像OOP通過建立和分類物件來簡化程式設計一樣,設計模式將普通的物件互動分類成指定的模型,這是一個從一般到具體的過程。OOP的成分使用得越多,設計模式就顯得越有用武之地。所以你必須理解它們,跟上其總體理論的發展。  
八、Flash MX  
當你需要比HTML和CSS所能提供的更多的客戶端圖形和程式設計能力時,Flash是最佳選擇。在Flash中程式設計比用Java小應用或者。NET程式碼來得快得多,也容易得多。  在最新版本中(MX),Flash不僅可以畫圖和進行動畫打包,它還是個高度的可程式設計應用環境。具備強大的與SOAP Web服務溝通的能力,可以呼叫執行在遠端伺服器上的ColdFusion、Java或。NET程式碼。可以說Flash幾乎無處不在,包括手持裝置、置頂盒、甚至是新的平板電腦,你到處都可以見到它的身影,所以使用它實際上可以擴充套件和延伸你的應用程式使用領域。  九、Linux/Windows  
這是當今PCs機作業系統的兩大陣容,如果你想在計算機行業裡混,就一定要熟悉它們。對於Linux,最好能自己安裝,配置,下載它的圖形使用者介面以及一些應用程式。自己安裝Apache並會編寫Web應用程式。要清醒地認識到這個世界除了Windows之外,還有Linux的存在。並且這種局面將會長期存在。反過來,如果你是一個死忠的Linux開發者,不要再繼續對Windows的憎惡,要相互學習,取長補短,看看Windows有什麼好的東東可以採納。記住Windows仍然是桌面之王。  誰也說不準你們公司什麼時候會決定從Linux轉向Windows,或者從Windows轉向Linux.誰也說不準什麼時候你會跳槽跑到另外一個使用不同平臺的公司上班——或者即便不跳槽,也有可能在不同平臺上開始另外一個殺手級專案——所以最好在每個平臺上都積累一些經驗,而不要在一棵樹上吊死。  
十、SQL  
儘管SQL在當今眾多的技術中已不是什麼新東西,而且在未來的十年裡它的作用很有可能被削弱,甚至整個被淘汰,但它仍然是一種基本技能——別看它是一種基本技能,至今仍有許多開發人員不懂什麼是SQL或對它瞭解不多。不要指望基於圖形使用者介面的SQL構造器會幫你的忙,還是自己親手寫SQL查詢吧,確定你掌握了SQL的基本語法。現在理解了SQL,不僅對以後學習XQuery有所裨益,而且可以使你很快找到簡化或改進當前開發專案的途徑。  尾聲:培養對技術的好奇心  其實,不管技術的發展趨勢如何,每個人最重要的一個技能是好奇心。敢於面對挑戰,在你目前或未來的工作中,新語言或新技術可能很重要,也可能不怎麼重要,你所學習的東西並不一定非要針對你的工作。不要怕失敗,任何新的技術對初學者來說都是困難的。大多數的失敗都可以歸咎於本身急功近利,希望速成。俗話說——千里之行,始於足下,應該腳踏實地,一步一個腳印地往前走。不要讓時間來左右你行動,而是要利用時間來關注、研究、測試新的開發技術和工具。  本文的用意不在於要讓你成為任何一種技術的專家——只是想借VCKBAE這塊寶地拋磚引玉,和大家暢談現在和未來哪些技術是我們要密切關注的,討論今後IT行業就業的知識結構,思考自己今後應該在哪些方面需要多花些功夫。因為每一個人的情況各有不同,應該根據具體情況來構築自己的知識層面。但有一點無庸置疑——那就是保持良好的好奇心始終會使你充實和睿智。