自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android 為什么選擇了Java

開(kāi)發(fā) 開(kāi)發(fā)工具
Java 語(yǔ)言非常成熟,性能也可以(當(dāng)然得優(yōu)化一下), 用的人超級(jí)多(全球號(hào)稱(chēng)有1000萬(wàn)) , 能把1/10的人拉進(jìn)來(lái)做Android開(kāi)發(fā)那就非常不得了, 社區(qū)更加成熟, 跨平臺(tái)更是java 的招牌。

[[184252]]

2007年Android 剛剛出生的時(shí)候, 看到開(kāi)發(fā)語(yǔ)言是Java , 我很高興, 因?yàn)橄朐谑謾C(jī)端編程的話不用去學(xué)Object-C這個(gè)看起來(lái)怪怪的語(yǔ)言了, 但另一方面我心里也是打了個(gè)大大的問(wèn)號(hào) :因?yàn)樵诤芏嗳搜劾铮?Java 是很慢的, 用Java 來(lái)開(kāi)發(fā)手機(jī)端的應(yīng)用, 尤其是游戲, 到底行不行?

事實(shí)證明,用Java來(lái)開(kāi)發(fā)應(yīng)用完全沒(méi)有問(wèn)題, Android 這八九年的發(fā)展超出了所有的人預(yù)料, 在智能手機(jī)端的占有率高達(dá)80%。

一個(gè)好玩的現(xiàn)象是:這些年大家似乎并不太關(guān)注應(yīng)用程序的性能, 相反關(guān)注的是手機(jī)的性能, 小米倡導(dǎo)的跑分文化流行一時(shí), 大家拼命的堆砌硬件, CPU從雙核,4核 到8核 , RAM 從1G 到2G,3G, 4G, 6G... , ROM從4G 到8G,16G,32G,64G, 甚至128G。

Google 在剛剛發(fā)布Android的時(shí)候絕對(duì)想不到現(xiàn)在的手機(jī)性能會(huì)過(guò)剩成這個(gè)樣子, 那他們當(dāng)時(shí)為什么選擇了Java 作為應(yīng)用開(kāi)發(fā)語(yǔ)言呢?

想象一下,如果你是當(dāng)時(shí)的負(fù)責(zé)人, 需要作出決斷, 你會(huì)怎么選擇?

首先看看C語(yǔ)言, 簡(jiǎn)單靈活, 貼近硬件, 性能***, 指針異常靈活, 是開(kāi)發(fā)系統(tǒng)軟件的不二之選, 但是Android要討好的是無(wú)數(shù)的應(yīng)用程序開(kāi)發(fā)者, 如果讓他們用C語(yǔ)言去寫(xiě)界面程序, 非累得吐血不可。

那C++是不是好一點(diǎn)? 從C發(fā)展而來(lái),面向?qū)ο螅?性能好,類(lèi)庫(kù)也不少,在游戲領(lǐng)域也取得了成功。 拜托,這個(gè)語(yǔ)言復(fù)雜到了令人發(fā)指的地步, 也沒(méi)有擺脫C的指針和內(nèi)存管理的陷阱, 就別去折騰程序員了。

另外可移植性也是非常重要的考慮因素, 相比電腦,手機(jī)平臺(tái)更加多樣化,如果用C或者C++ , 把移植的工作交給程序員做, 一定會(huì)被罵死。

C# 怎么樣? 看起來(lái)不錯(cuò), 但這是微軟平臺(tái)的東西, 而微軟是Google的死對(duì)頭, 再說(shuō)了Android 肯定是要開(kāi)源的, 就不用考慮C#了吧。

Lisp ? 強(qiáng)大的令人發(fā)指, 學(xué)習(xí)曲線之陡峭也令人發(fā)指, 不改變編程思維是學(xué)不好的, 能用Lisp編程的人都是黑客, 為了吸引廣大屌絲, 果斷放棄!

Smalltalk ? 估計(jì)會(huì)的人也不多了。

有人說(shuō)Javascript , 這們只是運(yùn)行在瀏覽器中的語(yǔ)言, 而我們要的是能開(kāi)發(fā)原生(Native)應(yīng)用的語(yǔ)言!

Ruby 呢? 簡(jiǎn)潔優(yōu)雅, 別的語(yǔ)言都是對(duì)機(jī)器友好, 要充分的壓榨機(jī)器的性能, Ruby 可是號(hào)稱(chēng)對(duì)程序員最友好的語(yǔ)言啊。

其實(shí)Ruby 各個(gè)方面都很好, 除了致命的一個(gè)因素: 太慢 ! 這一點(diǎn)就把Ruby 排除在外了。

剩下的知名度較高的高級(jí)語(yǔ)言也就剩下Python 和 Java 了。

Python 性能還行, 用的人不少, 也能跨平臺(tái)。

Java 語(yǔ)言非常成熟,性能也可以(當(dāng)然得優(yōu)化一下), 用的人超級(jí)多(全球號(hào)稱(chēng)有1000***把1/10的人拉進(jìn)來(lái)做Android開(kāi)發(fā)那就非常不得了, 社區(qū)更加成熟, 跨平臺(tái)更是java 的招牌。

所以, 還是選擇Java 吧。

【本文為51CTO專(zhuān)欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)coderising獲取授權(quán)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來(lái)源: 51CTO專(zhuān)欄
相關(guān)推薦

2020-06-10 09:06:48

MongoDB架構(gòu)高可用

2016-09-27 21:25:08

Go語(yǔ)言Ken Thompso

2017-02-27 15:43:14

iOSObject-CJava

2018-12-21 11:26:49

MySQLMongoDB數(shù)據(jù)庫(kù)

2021-08-23 13:25:25

Vue3CSS前端

2021-01-20 14:25:53

Vue3CSS前端

2024-02-05 21:48:25

VueReactHooks

2018-03-14 21:20:19

JavaC#編程語(yǔ)言

2011-11-28 10:21:52

Nginx特性

2022-06-14 11:01:48

SpringBootTomcatUndertow

2020-02-13 17:49:55

SpringBoot放棄選擇

2021-12-14 07:40:07

企業(yè)內(nèi)部開(kāi)源

2012-02-28 09:11:51

語(yǔ)言Lua

2009-12-21 17:11:38

Linux認(rèn)證

2009-06-25 15:09:34

選擇JSFESRI

2021-03-01 08:19:09

Java 包裝類(lèi)對(duì)象

2023-02-26 01:25:23

Sanic框架工具

2013-10-22 15:18:19

2022-01-23 22:45:52

物聯(lián)網(wǎng)Java編程語(yǔ)言

2020-09-28 15:45:23

數(shù)據(jù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)