最近寫了一段時(shí)間的java代碼,深深感受到ava程序員比我們這些苦B的桌面開(kāi)發(fā)者來(lái)說(shuō),真的是不知道幸運(yùn)到哪里去了.
手機(jī)桌面開(kāi)發(fā)都是大同小異,無(wú)非就是數(shù)據(jù)庫(kù),網(wǎng)站交互,多媒體處理,信息展示,或者是計(jì)算這些功能了.
不過(guò)在JAVA之中,不管你在干什么,都有非常成熟穩(wěn)定方便的類讓你直接使用,而且還不用你管理內(nèi)存,用完就扔
這極大地降低了程序員的門檻,極大提高了開(kāi)發(fā)效率.
在我們之前搞桌面應(yīng)用的時(shí)候,真是不可想像.
因?yàn)镈ELPHI 和C++ 功能一模一樣,所以拿DELPHI舉例吧.
如果你要連接數(shù)據(jù)庫(kù),你就要注意了,你連接的是哪種sql,或者是oracle?mdb?
哈哈,首先,你得找出適應(yīng)你數(shù)據(jù)庫(kù)在windows系統(tǒng)下的驅(qū)動(dòng)進(jìn)行安裝,否則你根本連接不上數(shù)據(jù)庫(kù).
找驅(qū)動(dòng)的過(guò)程可以說(shuō)是非常痛苦的,搞過(guò)的人都知道, 這里就不細(xì)說(shuō)了.
找到了驅(qū)動(dòng),也就是你可以連接啦,然后你還得研究一下當(dāng)前數(shù)據(jù)庫(kù)的一些獨(dú)(奇)有(葩)特性,事務(wù)管理方法,存儲(chǔ)過(guò)程寫法,然后跟你下載的驅(qū)動(dòng)進(jìn)行結(jié)合調(diào)用啊.
簡(jiǎn)言之,非常痛苦
再比如說(shuō),我要模擬網(wǎng)站登錄后進(jìn)行自動(dòng)操作功能.
你得自己管理http對(duì)象,如果是HTTPS,那恭喜你要做的事情又多了一倍,自己獲取cookie,管理好cookie,每次提交時(shí)候手動(dòng)帶上cookie,設(shè)置HTTP頭,還要關(guān)注UTF8 和 GB2312之間的轉(zhuǎn)換
但是這一切在JAVA上面好像都是輕輕松松的,什么東西都是現(xiàn)成的,讓你直接就用了.
如果從開(kāi)發(fā)工具角度看,或者說(shuō)從公司層面來(lái)看,帶來(lái)極高的開(kāi)發(fā)效率,老板喜歡的很.
如果從程序員個(gè)人發(fā)展來(lái)看,就不大好了.我們可以看到,網(wǎng)上很多偽大神寫了很多剖析JAVA源碼,android源代碼的文章,為什么會(huì)這樣,就是因?yàn)樗麄兲峁┑墓δ軐?duì)程序員太友好了,以至于根本沒(méi)法提升程序員的個(gè)人水平,而只能成為一個(gè)機(jī)械的寫手而已.如果你要提升,你只能去讀他的源碼,你從源碼中,才能得到一丁點(diǎn)的提升.
可笑的是,這種在桌面編程中司空見(jiàn)慣,或者說(shuō)是程序員必備的特性,在移動(dòng)互聯(lián)網(wǎng)界就成了大神的專屬,可想而知:在中國(guó)程序員中,充斥著成千上萬(wàn)的廢物,一種廢物只會(huì)機(jī)械的寫,一種廢物則在另一群廢物面前,炫耀一些本應(yīng)該具備的能力.
我們打個(gè)比方,一個(gè)windows程序員的終極目標(biāo)就是將windows內(nèi)核撕成一塊塊的,任意修改,將整個(gè)電腦的真正控制功能掌握在自己的手上.
在這里,你擁有的,只有windows提供給你的若干api,但你能做的事情卻遠(yuǎn)遠(yuǎn)不止如此,你可以寫一個(gè)驅(qū)動(dòng),跟內(nèi)核平起平坐,你可以寫些HOOK工具,讓所有軟件都在你的監(jiān)控之下,你可以遠(yuǎn)程控制別人的電腦,或者讓別人控制你的電腦,只要你有想像力,都能做到.
但是android下的APP的開(kāi)發(fā),我覺(jué)得根本沒(méi)有資格叫什么android程序員,因?yàn)檎娴氖菍?shí)在是太簡(jiǎn)單的,沒(méi)什么技術(shù)含量,也沒(méi)有什么吸引人的技術(shù),全都是電腦上玩爛的技術(shù),開(kāi)發(fā)的人,本質(zhì)上沒(méi)任何創(chuàng)新,什么框架內(nèi)核新思維,都是些代碼粘貼者而已.