Java可以說是目前互聯網領域當中的熱門編程語言,其之所以能夠在行業當中產生巨大的影響,其中的一個重要原因就是因為其在Android系統當中的廣泛應用。那么Android為什么會選擇Java呢?中培偉業《JAVA高級開發技術實戰》培訓專家程老師進行了詳細介紹。
程老師指出,2007年Android 剛剛出生的時候,看到開發語言是Java , 我很高興,因為想在手機端編程的話不用去學Object-C這個看起來怪怪的語言了,但另一方面我心里也是打了個大大的問號:因為在很多人眼里,Java是很慢的,用Java來開發手機端的應用,尤其是游戲,到底行不行?
事實證明,用Java來開發應用完全沒有問題,Android 這八九年的發展超出了所有的人預料,在智能手機端的占有率高達80%。
一個好玩的現象是:這些年大家似乎并不太關注應用程序的性能,相反關注的是手機的性能,小米倡導的跑分文化流行一時, 大家拼命的堆砌硬件,CPU從雙核,4核 到8核 , RAM 從1G 到2G,3G, 4G, 6G..., ROM從4G 到8G,16G,32G,64G,甚至128G。
Google 在剛剛發布Android的時候絕對想不到現在的手機性能會過剩成這個樣子,那他們當時為什么選擇了Java 作為應用開發語言呢?
想象一下,如果你是當時的負責人,需要作出決斷,你會怎么選擇?
首先看看C語言,簡單靈活,貼近硬件,性能極佳,指針異常靈活,是開發系統軟件的不二之選,但是Android要討好的是無數的應用程序開發者,如果讓他們用C語言去寫界面程序,非累得吐血不可。
那C++是不是好一點?從C發展而來,面向對象,性能好,類庫也不少,在游戲領域也取得了成功。
拜托,這個語言復雜到了令人發指的地步,也沒有擺脫C的指針和內存管理的陷阱,就別去折騰程序員了。
另外可移植性也是非常重要的考慮因素,相比電腦,手機平臺更加多樣化,如果用C或者C++ , 把移植的工作交給程序員做,一定會被罵死。
C#怎么樣?看起來不錯,但這是微軟平臺的東西,而微軟是Google的死對頭,再說了Android 肯定是要開源的,就不用考慮C#了吧。
Lisp ? 強大的令人發指,學習曲線之陡峭也令人發指,不改變編程思維是學不好的,能用Lisp編程的人都是黑客,為了吸引廣大屌絲,果斷放棄!
Smalltalk ? 估計會的人也不多了。
有人說Javascript , 這們只是運行在瀏覽器中的語言,而我們要的是能開發原生(Native)應用的語言!
Ruby呢?簡潔優雅,別的語言都是對機器友好,要充分的壓榨機器的性能,Ruby 可是號稱對程序員最友好的語言啊。
其實Ruby各個方面都很好,除了致命的一個因素:太慢 !這一點就把Ruby 排除在外了。
剩下的知名度較高的高級語言也就剩下Python和Java 了。
Python 性能還行,用的人不少,也能跨平臺。
Java 語言非常成熟,性能也可以(當然得優化一下),用的人超級多(全球號稱有1000萬),能把1/10的人拉進來做Android開發那就非常不得了,社區更加成熟,跨平臺更是java 的招牌。這些優勢也使得Java投入到Android的懷抱。