do tej pory użytkownicy pobrali ponad 140 miliardów aplikacji na iPhone.1 sukces iPhone ' a wynika z ekosystemu aplikacji innych firm., Gdy App Store zadebiutował w 2008 roku, wszystkie aplikacje zostały napisane w języku programowania, który niewielu poza społecznością Apple kiedykolwiek używane: Objective-C. Od tego czasu, wykorzystanie Objective-C eksplodował w gorączce złota deweloperów tworzenia aplikacji. Chociaż Apple wprowadziło nowy język Swift w 2014 roku, większość systemu operacyjnego Apple iOS jest nadal napisana w Objective-C, więc będzie na urządzeniach Apple przez wiele lat.
podczas gdy większość programistów odkryła Objective-C dopiero podczas rewolucji aplikacji na iPhone ' a, Objective-C istnieje od ponad 30 lat., Objective-C jest podstawą desktopowego systemu operacyjnego Apple, Mac OS X, od czasu jego debiutu w 2001 roku, a także był podstawą NEXTSTEP-bezpośredniego przodka OS X-stworzonego przez Steve' a Jobsa ' s NeXT Computer Inc. Objective-C nie został jednak stworzony ani przez Apple, ani NeXT. Jego początkiem był mały startup Connecticut na początku lat 80. o nazwie Stepstone.
Follow Computer History Museum Facebook/Twitter
wczesna historia Objective-C i późniejsza ewolucja w NeXT nie są dobrze znane, a dostępnych jest bardzo niewiele źródeł., W CHM niedawno nabyliśmy esej na temat „historii Objective-C”, napisany wspólnie przez Brada Coxa i Steve ' a Naroffa, zgłoszony na trzecią konferencję History of Programming Languages w 2007 roku, ale nigdy nie opublikowany. Przeprowadziłem również historię ustną z Coxem, początkowym twórcą języka, oraz z Blaine Garstem, następnym inżynierem, który później przyczynił się do Objective-C. te źródła, oprócz wcześniejszego wywiadu, który przeprowadziłem z Naroffem, są podstawą do następującej historii.,
idee, które doprowadziły do powstania Objective – C, powstały w dziale International Telephone and Telegraph (ITT), gdzie Tom Love i Brad Cox szukali sposobów na zwiększenie produktywności programistów. W 1981 roku specjalny numer magazynu Byte opisał rewolucyjny nowy język programowania, Smalltalk, który został opracowany przez zespół Alana Kay ' a w Xerox PARC. Smalltalk reprezentował radykalnie nowy sposób myślenia o tworzeniu programów, który Kay nazwał ” zorientowanym obiektowo.,”Zamiast pisać program jako serię działań („procedur”), które przyjmują dane jako dane wejściowe, program byłby ponownie zorientowany wokół samych danych, zgrupowany w obiektach”.”Smalltalk wyobrażał sobie programy jako zbiory obiektów, które wysyłałyby do siebie wiadomości, powodując wywoływanie przez nie „metod „(wykonywanie akcji). Wywoływane metody wybierane były „dynamicznie”, czyli podczas pracy programu. Tak więc program Smalltalk może modyfikować się w czasie rzeczywistym, w odpowiedzi na dane wejściowe użytkownika.,
Cox dostrzegł ogromne korzyści produktywności w języku takim jak Smalltalk. Wyobrażał sobie, że pozwoli mu i miłości tworzyć biblioteki przedmiotów, które mogą być mieszane i dopasowywane jak Lego., Zamiast pisać wszystko od zera, programista mógłby użyć istniejących lub” prefabrykowanych ” obiektów do szybkiego tworzenia nowego programu. Cox przewidział przyszłość, w której biblioteki obiektowe będą kupowane i sprzedawane, wprowadzając rewolucję przemysłową oprogramowania z tymi „wymiennymi” częściami.
Smalltalk miał jednak kilka wad. Był powolny, był technologią Xerox i wymagał, aby wszystkie napisane w nim programy działały w specjalnym środowisku., Cox I Love byli zaangażowani w używanie Uniksa Bell Labs, stosunkowo otwartego systemu, z dużą bazą programów napisanych w języku C. C był językiem, który tworzył szybkie i wydajne programy. Cox wpadł na pomysł połączenia idei obiektowych Smalltalka z C i opublikował tę pracę w 1983 roku, nazywając ją Object-Oriented Precompiler (Oopc). Cox celowo uczynił go tak prostym, jak to tylko możliwe, myśląc o nim jako o „pistolecie lutowniczym”, który spawałby programowanie obiektowe na C., Cox skontrastował to z nowym językiem C++ Bell Labs, który również łączył C i programowanie obiektowe, ale w znacznie bardziej złożony sposób, który Cox porównał do fabryki.
po napotkaniu oporu w ITT i krótkim okresie w firmie Schlumberger, Love i Cox założyli własną firmę, która wprowadzała te pomysły na rynek, początkowo pod nazwą Productivity Products International, a później Stepstone. Cox przepisał OOPC z nowym kompilatorem i zmienił nazwę na język Objective-C. mimo to nadal wymagał tłumaczenia kodu Objective – C na zwykły kod C., Love określiła niektóre aspekty swojego projektu, w tym decyzję o uczynieniu z niego języka hybrydowego z dwoma poziomami konceptualnymi, z kodem obiektowym wyższego poziomu dosłownie oddzielonym od proceduralnego kodu C za pomocą znaków z nawiasami kwadratowymi.2
skupiając się na sprzedaży bibliotek obiektowych napisanych przy użyciu Objective-C, Cox przeniósł swoją uwagę na te biblioteki. Stepstone udzielił również licencji na język Objective-C klientom, z których wielu prosiło o zmiany lub nowe funkcje., Cox zatrudnił grupę, która zajęła się rozwojem języka i zaczęła dodawać funkcje takie jak garbage collection i interpreter. Były one prowadzone, gdy firma StepStone ' s object libraries wyschła, a firma upadła.