Objective C är en utlöpare av programspråket C , utvecklades på 1970-talet som en av de första system på högre nivå programmeringsspråk . Mål C innehåller syntaxen för C med de objektorienterade funktionerna i Smalltalk . Apple integrerat sin utveckling ram , kakao , med Objective C för programmering på Mac-operativsystemet . Mål C är användbart för Apple-utvecklare , men det förlorar en del av sin charm om en ansökan måste vara över platformed med ett annat operativsystem . Dessutom stöder Objective C inte " namespaces " funktion i C + + ( en annan förgrening av C ) som hjälper hantera flera tredjeparts kodbibliotek och moduler . Utveckling Språk för populära plattformar
En fördel med mål C är att det är det primära språk som används för att utveckla applikationer för Apple-produkter . Mål C är det programmeringsspråk som har utvecklats specifikt för att arbeta med Cocoa programplaneringsramen , vilket innebär att den har tillgång till Apples utveckling biblioteken . Skapa applikationer för varje Apple-produkt , som iPod , iPad eller OS X-system , kräver en del kunskap om mål C. Addera Objective C Runtime
C och C + + är " kompilerade " programmeringsspråk , vilket innebär att källkoden skriven av programmeraren är översatt till maskinkod , skapa en körbar fil som körs på en användares operativsystem . Kompilerade språk är begränsade i hur de fungerar : Många beslut som innebär minnesallokering och skapa objekt hända i sammanställningen tid , inte när programmet körs ( körtid ) . Ett program skrivet i Objective C är mer dynamisk , kunna samla in information om sig själv för att fatta beslut om minne eller datatyper , snarare än att ha haft beslut under kodning tid .
Namespaces
En nackdel av programmering i Objective C är att den inte innehåller namnrymder . På andra språk , speciellt C + + , namnrymder innehåller funktionalitet som definieras av ett namn . Funktioner i ett namespace existerar endast inom ramen för detta namespace , vilket innebär att en annan funktion med ett identiskt namn i en annan namnrymd kan användas av programmeraren utan att ändra några namn . Detta gör att programmerare att importera en mängd olika bibliotek och inte oroa sig i onödan om funktionsnamn motstridiga . I mål C , kan importera två bibliotek med samma funktion namn orsaka ett fel om programmeraren inte är försiktig , eftersom kompilatorn har ingen möjlighet att veta vilken funktion faktiskt att ringa . Addera portabilitet
annan nackdel av mål C är att det är starkt på Cocoa ramen för dess funktionalitet . Även om detta är en fördel för Apple -utvecklare , kommer Windows utvecklare inte hitta samma framgång skriva Windows-program i Objective C. Snarare fokuserar Windows utveckling på . NET bibliotek , knuten till Visual C + + , C # eller VB.NET programmeringsspråk . Apple-utvecklare behöver inte oroa dig för detta nackdel , såvida de inte är ute efter plattformsoberoende bärbarhet .