Objective-C: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Corretto: "tutti questi"
m Rimuovo dei wikilink errati.
 
Riga 587:
Le prime versioni di Objective C non supportavano la [[garbage collection]]. Al tempo questa scelta fu oggetto di discussioni e in molti (ai tempi di Smalltalk) la consideravano un lungo "tempo morto" in cui il sistema era reso non più utilizzabile. Anche se qualche implementazione di terze parti (principalmente [[GNUstep]]) aveva già aggiunto questa caratteristica, è stata implementata da [[Apple]] una tecnica simile tramite [[Automatic Reference Counting|ARC]] in [[Mac OS X Leopard]], ma non è disponibile per applicazioni implementate per versioni precedenti del [[sistema operativo]].<ref>{{Cita web | url=https://www.apple.com/macosx/developertools/xcode.html | titolo=Mac OS X Leopard – Xcode 3.0 | autore=Apple, Inc. | anno=22 agosto 2006 | sito=apple.com | accesso=22 agosto 2006 | lingua=en | urlarchivio=https://web.archive.org/web/20071024144921/http://www.apple.com/macosx/developertools/xcode.html | dataarchivio=24 ottobre 2007 | urlmorto=sì }}</ref>
 
Un'altra critica comunemente fatta all'Objective C è quella di non avere un supporto nativo per i [[namespace]]. I programmatori sono perciò costretti ad aggiungere [[prefisso|prefissi]] in maniera più o meno arbitraria ai nomi delle classi che implementano, fatto che può causare collisioni. Dal [[2007]] tutte le classi e le funzioni di [[macOS]] in ambiente [[Cocoa (software)|Cocoa]] hanno il prefisso "NS" (es. ''NSObject'' o ''NSButton'') per identificarle chiaramente; "NS" deriva dal nome delle classi definite durante lo sviluppo di [[NeXTSTEP]].
 
Dato che Objective C è uno stretto [[superinsieme]] del C, non tratta i tipi primitivi del C come [[first-class object]].