姓名:帕迓康 ?學(xué)號:17101223416
轉(zhuǎn)載自:https://mp.weixin.qq.com/s?__biz=MzAxOTc0NzExNg==&mid=2665513121&idx=1&sn=40097d5a68c8fddcf5e97774ac679302&scene=38#wechat_redirect
【嵌牛導(dǎo)讀】:2007年Android 剛剛出生的時候,?看到開發(fā)語言是Java , 我很高興捻艳, 因為想在手機端編程的話不用去學(xué)Object-C這個看起來怪怪的語言了, 但另一方面我心里也是打了個大大的問號 :因為在很多人眼里律歼, Java 是很慢的胡桃, 用Java 來開發(fā)手機端的應(yīng)用旁蔼, 尤其是游戲梳凛, 到底行不行耿币?
【嵌牛鼻子】:Android、java
【嵌牛提問】:java適合安卓嗎韧拒?
【嵌牛正文】:
事實證明淹接,用Java來開發(fā)應(yīng)用完全沒有問題, Android 這八九年的發(fā)展超出了所有的人預(yù)料叭莫, 在智能手機端的占有率高達80%蹈集。
一個好玩的現(xiàn)象是:這些年大家似乎并不太關(guān)注應(yīng)用程序的性能, 相反關(guān)注的是手機的性能雇初, 小米倡導(dǎo)的跑分文化流行一時,?大家拼命的堆砌硬件减响, CPU從雙核靖诗,4核 到8核 , ?RAM 從1G 到2G,3G, 4G, 6G... ?, ROM從4G 到8G,16G,32G,64G支示, 甚至128G刊橘。
Google 在剛剛發(fā)布Android的時候絕對想不到現(xiàn)在的手機性能會過剩成這個樣子, 那他們當(dāng)時為什么選擇了Java 作為應(yīng)用開發(fā)語言呢颂鸿?
想象一下促绵,如果你是當(dāng)時的負責(zé)人, 需要作出決斷, 你會怎么選擇败晴?
首先看看C語言浓冒, 簡單靈活, 貼近硬件尖坤, 性能極佳稳懒, 指針異常靈活, 是開發(fā)系統(tǒng)軟件的不二之選慢味, 但是Android要討好的是無數(shù)的應(yīng)用程序開發(fā)者场梆, 如果讓他們用C語言去寫界面程序, 非累得吐血不可纯路。
那C++是不是好一點或油? ? 從C發(fā)展而來,面向?qū)ο螅?性能好驰唬,類庫也不少装哆,在游戲領(lǐng)域也取得了成功。
拜托定嗓,這個語言復(fù)雜到了令人發(fā)指的地步蜕琴, 也沒有擺脫C的指針和內(nèi)存管理的陷阱, 就別去折騰程序員了宵溅。
另外可移植性也是非常重要的考慮因素凌简, 相比電腦,手機平臺更加多樣化恃逻,如果用C或者C++ , 把移植的工作交給程序員做雏搂, 一定會被罵死。
C# 怎么樣寇损? ? 看起來不錯凸郑, 但這是微軟平臺的東西, 而微軟是Google的死對頭矛市, 再說了Android 肯定是要開源的芙沥, 就不用考慮C#了吧。
Lisp ? ? 強大的令人發(fā)指浊吏, 學(xué)習(xí)曲線之陡峭也令人發(fā)指而昨, 不改變編程思維是學(xué)不好的, 能用Lisp編程的人都是黑客找田, 為了吸引廣大屌絲歌憨, ?果斷放棄!
Smalltalk ? ? 估計會的人也不多了墩衙。
有人說Javascript , ?這們只是運行在瀏覽器中的語言务嫡, ?而我們要的是能開發(fā)原生(Native)應(yīng)用的語言甲抖!
Ruby 呢? 簡潔優(yōu)雅心铃, ?別的語言都是對機器友好准谚, 要充分的壓榨機器的性能, Ruby 可是號稱對程序員最友好的語言啊于个。
其實Ruby 各個方面都很好氛魁, 除了致命的一個因素: 太慢 ! ?這一點就把Ruby 排除在外了厅篓。
剩下的知名度較高的高級語言也就剩下Python 和 Java 了秀存。
Python 性能還行, 用的人不少羽氮, 也能跨平臺或链。
Java 語言非常成熟,性能也可以(當(dāng)然得優(yōu)化一下)档押, 用的人超級多(全球號稱有1000萬) 澳盐, 能把1/10的人拉進來做Android開發(fā)那就非常不得了, ? 社區(qū)更加成熟令宿, 跨平臺更是java 的招牌叼耙。
所以, 還是選擇Java 吧粒没。