糯米文學吧

位置:首頁 > 計算機 > java語言

Java編程地位不可動搖的12大原因

java語言9.32K

技術界從來沒認為Java會成功,儘管它的對手太多但依然繁榮發展起來。那麼為什麼説Java編程地位卻不可動搖呢?一起來看看吧!

Java編程地位不可動搖的12大原因

  1、Java在市場鬥爭中不屈不撓

技術界從來沒認為Java會成功,儘管它的對手太多但依然繁榮發展起來。那些詫異Java仍然存在的人們並沒有真正去理解為什麼Java會成 功。微軟是 Java第一個面對的強大對手,因為那時MS-DOS提供了通用性,而微軟看到Java是此通用性最具可能性的替代者。

此外,蘋果Steve Jobs從來沒接收過Java,即使是在Mac被除了Adobe之外所有人忽視的年代。Java的兼容性可以帶來很多有用的代碼,但是Apple一直未把Java視作第一選擇。

Java內部的很多鬥爭也給它帶來了巨大痛苦。IBM喜歡Java,但是一直在和Sun鬥爭。IBM將其開發的優秀的IDE工具稱為“Eclipse”的決定,一直沒被Sun的人員欣然接受。Sun也從來沒像IBM那樣深刻理解商業領域。

儘管這些原因,儘管Java創造者也在Java發展中有許多失策之處,Java依然快速壯大,在服務器應用領域如魚得水,在桌面應用領域滿足基本業務需求。

  2、Java虛擬機優化線程的魔力

Java虛擬機的強項之一是多線程控制。JVM針對大型多核機上數百線程的穩定性做了極佳的優化。其他語言會為了能跑在JVM上面搞出交叉編譯器和模擬器。Java的這個能力同時也吸引了很多高流量的網站。他們可以在台式機上搞開發然後丟到服務器上讓JVM發揮出多核的功效。

Ruby因為語法的簡潔和源碼可讀性好成為了Java目前的一個對手。但是當性能成為瓶頸時,Ruby開發人員轉到了JRuby,一個用Java模擬出來的Ruby環境並增強了高負載下的線程處理能力。

  3、Java成為編程初學者的語言

作為大學AP計算機課程,意味着在美國很多學生第一次接觸到的計算機語言就是Java。由於這個先入為主的原因,當他們學習其他新的語言時,即便轉行學其他語言課程,但是他們在思考的時仍會受到Java的影響。

Java作為一個教學語言是有它的原因的`。聲明數據類型看上去可能比較抽象,但是為了能讓初學者理解計算機的原理,聲明數據類型通過編譯器會告訴他們數據類型不匹配而無法編譯時,可以讓他們更好的理解計算機的底層原理。而一些新語言已經摒棄了花括號,維護麻煩使得新人有所厭倦,但是花括號對那些新手是非常有用的,因為能幫助他們理解嵌套的代碼塊。

  4、Java具有跨平台兼容性

雖然Java並不是第一個提供跨平台兼容能力的語言,但是Java已經成為最受歡迎的跨平台編程工具,Sun以及Oracle已經為程序可以跨平台使用提供支持。當程序不能在多個平台上使用時,導致問題的原因通常是可以解決的。

Java程序員可以使用他們的桌面開發工具進行編碼,並部署到目標設備,可能是一台手機或者一台服務器。如果編譯器包含了正確的庫並且使用了正確的版本,代碼就可以運行。

  5、Java在移動領域上的持續成功

Java也許並沒在大型應用程序中有很好體現,但它卻在移動領域的細分市場獲得快速發展。Android平台從上到下都是基於Java構建起來的,並且它如今的銷量輕易的超過了iPhone。JAVA ME作為精簡版的語言和VM已經被廣泛應用在智能手機上,而智能手機如今已經遍佈在全世界。

  6、Java在藍光應用取得突破

Java曾經為機頂盒而設計的語言,Sun想在佔據此市場,但是Java卻在另外領域中找到了合適的位置。藍光標準是圍繞Java建立,任何想在藍光光碟中添加額外內容的人,必須得到其Javac編譯器版本。藍光光碟不止限於存放視頻內容。那些額外特性和交互工具可以使用純Java代碼修改並增強。壓縮後的視頻和壓縮後的Java字節碼的混合。

  7、Java讓花括號能優化代碼工作

類似Ruby、Python或CoffeeScript等語言的開發者對於Java要求程序員們敲打花括號鍵來明確表達代碼段的開始和結束。括號、花括號、甚至方括號對於程序員略顯多餘。但是改變符號並不能消除複雜性,使用像製表符等空白後你只能用直覺去感受那些無法看到的東西。如果if語句只引導了一行代碼,這樣不會有問題,但是當很多層嵌套時,就很難看明白。當用Python編程時,並不意味着代碼像理解英文簡單。

  8、Java動態類型語法工具Groovy

Java開發者必須要有一個帶有動態類型的語法,可以使用Groovy一個帶有預處理器的工具,它能夠生成出Java字節碼來。這種語言也完全集成到了Java中,因此可以在Groovy中混入對Java庫的調用。就像是編寫Java代碼的縮略形式。

這一靈活性讓開發工程師得以找到問題的出路。在使用了動態方法調用時,開發者可以用Java來重寫重要的核心操作。

  9、Java虛擬機讓編程更加的靈活

Java虛擬機是按照運行Javac編譯器產生的代碼源頭來設計和優化,但開發者們意識到Java虛擬機也可以運行其他代碼。只要編譯器們產出標準的Java字節碼,Java虛擬機根本不關心是使用的那種編程語言。Haskell、Scala和Clojure的開發者們設計編譯器就採用Java,而只是這個由Java虛擬機產生的。

另外,Sun/Oracle為創建跨平台環境而努力,工程師們消除平台間差異,並考慮兼容性問題,然後所有人可以運行他們想運行的程序。微軟在創建C#時為大部分主要語言設計了編譯 器,使得C#虛擬機可以運行這些語言編寫的所有程序。C#程序員可以用很多不同的語言編寫程序,只要通過一個Windows盒子將其運行在一個虛擬機上即可。

  10、NoSQL建立在Java之上

數據庫是保存信息並快速有效應對查詢請求。NoSQL的出現讓程序員們可以自己編寫數據庫,並根據需求修剪其代碼。那些最重要NoSQL工具中很多都是用Java編寫。Cassandra、Lucene、ElasticSearch、HBase和Neo4J只是一些經常提到的NoSQL選擇。

據瞭解,工具通常是開源的。開發者將其獨立運行,或將它們集成在自己的模塊中,使得Java在數據庫層中成為通用語言,保證了Java開發者們擔心由於字符編碼和行結束符帶來的故障。這意味着Java開發者們可以享受由NoSQL革命帶來的豐碩果實。

  11、Minecraft遊戲中00後的情結

非主流們對Java嗤之以鼻,但是Java程序員們卻領先一步。在Ruby時尚團正聚集起自己的一羣粉絲時,Minecraft讓之後的一代人愛上了Java。它用Java編寫而成,要擴展該遊戲就需學習Java來設計其插件,這保證下一代程序員首選是Java

  12、開源成就Java代碼廣泛的應用

Sun一直是開源領域中的領導者之一,Java程序員們發佈眾多開源許可的庫和項目。Apache項目一直都在使用一個沒要求太多回報的許可證來提供優秀的Java代碼。07年完成在GPL許可下公開大部分代碼的工作,這種開放的立場一直延續並保證Java平台很大程度是開放和免費的。

由此,Java有自己的問題,花括號增加混亂等缺點。但目前還沒有一個廣度和深度上可與之競爭的語言。最接近的也許是JavaScript,依靠有閃電般速度的在服務器領域受到廣泛關注。而語言是開源且靈活多變,意味着Java程序繼續存在甚至更加興旺。