| 加入桌面 | 手機(jī)版
免費(fèi)發(fā)布信息網(wǎng)站
貿(mào)易服務(wù)免費(fèi)平臺
 
 
當(dāng)前位置: 貿(mào)易谷 » 資訊 » 電子數(shù)碼 » Objective-C最令人深惡痛絕的九大特性

Objective-C最令人深惡痛絕的九大特性

放大字體  縮小字體 發(fā)布日期:2014-06-09 08:33  瀏覽次數(shù):36
  蘋果可能是有史以來運(yùn)營最為成功的企業(yè)之一。喬布斯也是一位當(dāng)之無愧的草根英雄。iPhone與iPad是技術(shù)與美感的高度融合,而為iOS系統(tǒng)開發(fā)應(yīng)用也成為眾多開發(fā)者的重要生財之道—當(dāng)然,前提是大家幸運(yùn)地通過了App Store的審核并在浩如煙海的軟件中得到了消費(fèi)者們的關(guān)注。不過這一切積極因素仍無法掩蓋整套體系中的負(fù)面狀況。在種種令人惱火的蘋果開發(fā)生態(tài)系統(tǒng)經(jīng)歷當(dāng)中,最無法忍受的就是利用tive-C進(jìn)行編程—快來吧,Swift,我們需要你!在今天的文章中,我們將一同探討tive-C是依靠哪九大特性搞到天怒人怨的。
 
  tive-C最令人深惡痛絕的九大特性
 
  實在有點(diǎn)太過特異
 
  tive-C中的字母“C”代表的就是C語言,這一點(diǎn)與“t”中的“Java”完全不同。無論是指針、整數(shù)還是括號,所有表達(dá)方式都與C非常相近。但二者之間的共同點(diǎn)也就僅限于此了。
 
  tive-C的擁護(hù)者們堅持認(rèn)為tive-C屬于C語言的一種規(guī)則嚴(yán)格的超集:如果大家能夠在C語言中實現(xiàn)某些功能,那么也應(yīng)該可以在tive-C中加以重現(xiàn)—不過反過來卻未必奏效。因此大家可能需要考慮,“我到底應(yīng)該使用tive-C方法進(jìn)行描述,還是選擇C語言?”實現(xiàn)對C程序的可移植性需要我們以審慎的態(tài)度進(jìn)行深入考量。
 
  除此之外,對于這樣一種超集而言,所有聲明幾乎都需要以排列方式進(jìn)行。再以后綴為例:C代碼保存為文件后擴(kuò)展名為.c,而tive-C文件的擴(kuò)展名則為.m。
 
  它仍然基本上屬于傳統(tǒng)的C語言
 
  大家基本上不可能在tive-C中獲得太多來自面向?qū)ο蟮膬?yōu)越特性??傮w而言,tive-C更多地是一種針對大型系統(tǒng)的代碼組織方式,而非編寫優(yōu)質(zhì)代碼的方式。我們?nèi)匀恍枰?fù)責(zé)處理指針、仍然需要負(fù)責(zé)追蹤內(nèi)存。C語言程序員們喜歡把這些軟件稱為“可移植匯編代碼”,而這一點(diǎn)對于tive-C也同樣適用……當(dāng)然,大家只能把這些代碼從Mac移植到iPad當(dāng)中。
 
  充斥著八十年代風(fēng)格
 
  燈籠褲、爆炸頭、電影《早餐俱樂部》—再加上NeXT設(shè)備:tive-C就像是編程語言世界中的一部時光機(jī)器,把我們帶回上世紀(jì)八十年代那段瘋狂的歲月。粗獷的風(fēng)格構(gòu)成了tive-C的一切。最初出現(xiàn)在Lisp中的垃圾收集機(jī)制可謂絕妙的想法,Java早在多年之前就已經(jīng)將其納入自身,但tive-C直到2006年才對其敞開懷抱。iOS甚至直到現(xiàn)在還沒有獲得垃圾收集機(jī)制,因為沒人希望iPhone因此遭遇卡頓。好吧,至少tive-C還沒老舊到Pascal或者Ada那種程度。
 
  標(biāo)點(diǎn)符號
 
  炫酷的現(xiàn)代技術(shù)青年已經(jīng)能夠通過編寫Python、Ruby以及Coffeet代碼構(gòu)建起價值數(shù)十億美元的企業(yè),但他們不需要跟括號、中括號以及大括號打交道。但在編寫tive-C代碼時,我們卻被迫使用著幾乎所有標(biāo)點(diǎn)符號。冒號、“@”符號乃至星號,好像沒有哪種符號是tive-C用不到的。
 
  復(fù)古的語法風(fēng)格
 
  tive-C的語法跟可口可樂擁有諸多相似之處:它們都曾在上世紀(jì)九十年代試圖推進(jìn)其現(xiàn)代化進(jìn)展,但卻始終未能成功。因此大家可以直接忽略蘋果在1997年著力推薦的所謂簡潔“現(xiàn)代”語法。我們更傾向于使用“經(jīng)典”語法,正如大家更青睞可口可樂的經(jīng)典瓶罐一樣。平心而論,蘋果當(dāng)初作出的努力其實值得贊賞,其中摒棄了額外的標(biāo)點(diǎn)符號,而且能在無需解析的前提下讓內(nèi)容更易于閱讀。但如今這些成果已經(jīng)被徹底遺忘在歷史的垃圾堆中,再也無人問津。
 
  缺乏命名空間
 
  Java擁有命名空間,但tive-C卻沒有。不過大家可以通過在名稱之前添加大量前綴來構(gòu)建自己的命名空間,這是完全可行的。需要注意的是,不要使用“NS”前綴,因為這會與蘋果的命名空間發(fā)生沖突。作為NeXTstep的組成部分,蘋果的命名空間倒是始終擁有旺盛的生命力。
 
  只能運(yùn)行在蘋果自己的宇宙當(dāng)中
 
  被迫每天駕駛保時捷當(dāng)然不是什么壞事,但生活仍然需要多樣性作為重要調(diào)劑。更重要的是,iPhone并不是世界的中心、我們不可能完全以它為中心規(guī)劃生活與工作。如果大家選擇在Windows或者Linux業(yè)務(wù)環(huán)境工作,那么請忘掉所有與tive-C相關(guān)的擴(kuò)展知識—理由很簡單,這些技能完全無用武之地。
 
  可移植性的價值不容忽視。蘋果(以及iPhone用戶)最值得慶幸的一點(diǎn)在于,蘋果的產(chǎn)品真的非常出色—它們非常強(qiáng)大,足以吸引人們利用tive-C重新編寫自己的現(xiàn)有軟件方案,只有這樣開發(fā)者才能最大程度把自己成果運(yùn)行在無數(shù)消費(fèi)者手中的設(shè)備上。
 
  (備注:通過對gcc、Cygwin以及GNUStep的深度組合,大家也有機(jī)會在其它環(huán)境中使用tive-C,但要完成這項任務(wù)各位需要內(nèi)心堅強(qiáng)、毅力拔群。)
 
  我們惟一的選擇就是Xcode
 
  盡管還不至于像毛澤東之于新中國以及亨利?福特之于福特公司那么夸張,但在tive-C的世界中,大家真的只有一種選擇。為什么你非要與眾不同呢,同志?
 
  公平地講,目前市場上已經(jīng)出現(xiàn)了一些開源堆棧,但大家使用這類方案的頻率要遠(yuǎn)遠(yuǎn)低于Xcode。
 
  蘋果的“獨(dú)裁統(tǒng)治”
 
  如果領(lǐng)導(dǎo)者能為產(chǎn)品線帶來美好的發(fā)展前景,那么獨(dú)裁統(tǒng)治倒是不一定算壞事。畢竟蘋果這位暴君擁有出眾的品位以及卓越的產(chǎn)品設(shè)計方案,在這方面蘋果甚至比其它所有同業(yè)企業(yè)加起來還要強(qiáng)大。不過對于追求自由的人們來說,蘋果仍然是阻礙大家實現(xiàn)理想的最大難關(guān)。
 
  想要發(fā)出超過一百份自己開發(fā)的iPhone應(yīng)用副本?趕緊打消這個念頭。想要在用戶界面中加入一些“不同的想法”?請回去認(rèn)真閱讀蘋果提供的用戶界面設(shè)計指南。我們根本不能在無視蘋果許可的前提下作出任何變通,因為蘋果利用強(qiáng)大的加密機(jī)制將一切牢牢鎖定—并通過殘酷的專制政策為其加上第二道保險。
分享與收藏:  資訊搜索  告訴好友  關(guān)閉窗口  打印本文 本文關(guān)鍵字:
 
推薦圖文
贊助商鏈接
推薦資訊
贊助商鏈接
 
站內(nèi)信(0)     新對話(0)