提高Java水平的十大技術

來源:互聯網
上載者:User

         本文列出了當今電腦軟體開發和應用領域最重要十種關鍵技術排名,如果你想保證你現在以及未來的幾年不失業,那麼你最好跟上這些技術的發展。雖然你不必對這十種技術樣樣精通,但至少應該對它們非常熟悉。

  一、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,而Regex則用來搜尋純文字。例如,你可以用一個命令來尋找或刪除HTML格式檔案中的注釋內容。大家都用過"IndexOf"、"InStr"以及"Like"這些內建在JavaScript或VB中的文本搜尋函數,這些函數雖然很容易使用,但是它們的功能卻無法與Regex同日而語——現在每一種主流的開發語言都提供對Regex的存取。儘管有人認為Regex本身的讀寫艱澀難懂,但畢竟它的功能強大,使用它的領域也越來越多。

  七、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有所裨益,而且可以使你很快找到簡化或改進當前開發項目的途徑。

  尾聲:培養對技術的好奇心

  其實,不管技術的發展趨勢如何,每個人最重要的一個技能是好奇心。敢於面對挑戰,在你目前或未來的工作中,新語言或新技術可能很重要,也可能不怎麼重要,你所學習的東西並不一定非要針對你的工作。不要怕失敗,任何新的技術對初學者來說都是困難的。大多數的失敗都可以歸咎於本身急功近利,希望速成。俗話說——千裡之行,始於足下,應該腳踏實地,一步一個腳印地往前走。不要讓時間來左右你行動,而是要利用時間來關注、研究、測試新的開發技術和工具。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.