▁Like wise , ▁the ▁language ▁can ▁be ▁implemented ▁at op ▁ext ant ▁C ▁comp ilers ▁( in ▁G CC , ▁first ▁as ▁a ▁pre processor , ▁then ▁as ▁a ▁module ) ▁rather ▁than ▁as ▁a ▁new ▁compiler . ▁This ▁allows ▁Object ive - C ▁to ▁le verage ▁the ▁huge ▁existing ▁collection ▁of ▁C ▁code , ▁libraries , ▁tools , ▁etc . ▁Ex isting ▁C ▁libraries ▁can ▁be ▁wrapped ▁in ▁Object ive - C ▁wra ppers ▁to ▁provide ▁an ▁O O - style ▁interface . ▁In ▁this ▁aspect , ▁it ▁is ▁similar ▁to ▁G Object ▁library ▁and ▁Val a ▁language , ▁which ▁are ▁widely ▁used ▁in ▁development ▁of ▁GT K ▁applications . ▁ ▁All ▁of ▁these ▁practical ▁changes ▁lower ed ▁the ▁bar rier ▁to ▁entry , ▁likely ▁the ▁biggest ▁problem ▁for ▁the ▁w ides p read ▁accept ance ▁of ▁Small t alk ▁in ▁the ▁ 1 9 8 0 s . ▁ ▁A ▁common ▁criticism ▁is ▁that ▁Object ive - C ▁does ▁not ▁have ▁language ▁support ▁for ▁names paces . ▁Instead , ▁program mers ▁are ▁forced ▁to ▁add ▁prefix es ▁to ▁their ▁class ▁names , ▁which ▁are ▁tradition ally ▁shorter ▁than ▁namespace ▁names ▁and ▁thus ▁more ▁pr one ▁to ▁coll isions . ▁As ▁of ▁ 2 0 0 7 , ▁all ▁mac OS ▁classes ▁and ▁functions ▁in ▁the ▁C ocoa ▁programming ▁environment ▁are ▁prefix ed ▁with ▁" NS " ▁( e . g . ▁NS Object , ▁N SB utton ) ▁to ▁identify ▁them ▁as ▁belonging ▁to ▁the ▁mac OS ▁or ▁iOS ▁core ;