顯卡oc和非oc Objective-C和C 的區(qū)別有哪些?為什么蘋(píng)果會(huì)選擇前者?
Objective-C和C 的區(qū)別有哪些?為什么蘋(píng)果會(huì)選擇前者?基本區(qū)別在于OC是一種面向?qū)ο蟮恼Z(yǔ)言,C是一種面向過(guò)程的語(yǔ)言。前者是蘋(píng)果公司為自己的軟件生態(tài)專(zhuān)門(mén)開(kāi)發(fā)的一種語(yǔ)言,后者則有幾十年的歷史
Objective-C和C 的區(qū)別有哪些?為什么蘋(píng)果會(huì)選擇前者?
基本區(qū)別在于OC是一種面向?qū)ο蟮恼Z(yǔ)言,C是一種面向過(guò)程的語(yǔ)言。前者是蘋(píng)果公司為自己的軟件生態(tài)專(zhuān)門(mén)開(kāi)發(fā)的一種語(yǔ)言,后者則有幾十年的歷史,是大多數(shù)編程課程的入門(mén)課程。
OC的很多功能都是C語(yǔ)言的封裝,所以O(shè)C與C、C兼容,OC作為一種高級(jí)封裝語(yǔ)言,實(shí)現(xiàn)了一些功能,開(kāi)發(fā)起來(lái)更方便,但C語(yǔ)言效率更高。
Apple選擇OC作為語(yǔ)言,因?yàn)镃的開(kāi)發(fā)效率非常低。此外,為了自身的生態(tài)發(fā)展,蘋(píng)果必須推廣自己的語(yǔ)言。作為一種面向?qū)ο蟮恼Z(yǔ)言,OC更符合現(xiàn)代發(fā)展的需要,使用更方便,輸出更高??傊?,蘋(píng)果希望更多的開(kāi)發(fā)者參與到生態(tài)系統(tǒng)軟件的開(kāi)發(fā)中來(lái),降低進(jìn)入門(mén)檻,提高開(kāi)發(fā)效率,所以就創(chuàng)建了OC語(yǔ)言
我個(gè)人認(rèn)為應(yīng)該更多的OC,但是它支持Swift的Google當(dāng)融合系統(tǒng)到來(lái)的時(shí)候,我認(rèn)為開(kāi)發(fā)商會(huì)不由自主地向swift過(guò)渡。為什么不用一種語(yǔ)言開(kāi)發(fā)兩個(gè)系統(tǒng)的應(yīng)用程序?
!我學(xué)的第一門(mén)編程語(yǔ)言是swift,這對(duì)我以后學(xué)習(xí)C有很大的幫助。然而,令我困惑的是,swift的官方文件總是用C作為比較,這讓當(dāng)時(shí)還沒(méi)有學(xué)過(guò)C的我非常沮喪。
現(xiàn)在iOS APP開(kāi)發(fā),用oc語(yǔ)言的多,還是swift語(yǔ)音的多?
區(qū)別如下:
1。性質(zhì)不同
Objective-C,通常寫(xiě)objc或OC,少寫(xiě)Objective-C或obj-C是一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,是對(duì)C語(yǔ)言的擴(kuò)展,是一種面向過(guò)程的抽象通用程序設(shè)計(jì)語(yǔ)言,廣泛應(yīng)用于底層開(kāi)發(fā)中。
Objective-C是一種非常實(shí)用的語(yǔ)言。它是一個(gè)用C編寫(xiě)的非常小的運(yùn)行時(shí)庫(kù),這使得應(yīng)用程序的大小增加得非常小。與大多數(shù)OO系統(tǒng)使用大量VM執(zhí)行時(shí)間來(lái)代替整個(gè)系統(tǒng)的操作相反。C語(yǔ)言是一種結(jié)構(gòu)化的語(yǔ)言,它層次分明,可以按照模塊化的模式編寫(xiě),非常有利于程序的調(diào)試,而且C語(yǔ)言的處理和性能能力非常強(qiáng)。
Objective-C創(chuàng)建于20世紀(jì)80年代,C語(yǔ)言創(chuàng)建于1972年。
參考源:
參考源: