Objective-C — języki programowania w pigułce

6 grudnia 2021

Język programowania Objective-C to jeden z najstarszych języków, które są używane w branży IT. Stanowi rozszerzenie języka C z możliwością programowania obiektowego wzorowanego przede wszystkim na Smalltalku. Powstał na początku lat 80-tych ubiegłego stulecia w pewnej firmie informatycznej i jest ogólnego zastosowania, ale przede wszystkim stosuje go firma Apple do swoich systemów operacyjnych takich jak OS X i iOS oraz interfejsów API: Cocoa i Cocoa Touch.

Analizując składnię tego języka, wymienić należy dwa rozszerzenia, które wchodzą w interakcję z językiem C, a mianowicie kwadratowe nawiasy służące do wywoływania metod oraz znak @ umożliwiający wywołanie definicji deklarowanych właśnie dla Objectivie-C. Z tego właśnie rozwiązania skorzystało wielu programistów. Zostały wprowadzone także specjalne typy, które są unikalnymi referencjami dla obiektu utworzonego już z języka C.

Objecitive-C jest wzorowany również na Smalltalku gdzie składnie są bardzo zbliżone m.in. przez charakterystyczne wielosłowne metody. Należy pamiętać, że w przeciwieństwie do Smalltalka obiektem pozostaje tylko to, co jest dostarczone przez nakładkę. Warto dodać, że Objectivie-C nie ma standardu języka, ponieważ dwie koncepcje Apple i Steostone rozwijają się niezależnie.

 

Starszy, ale czy zapomniany?

W 2014 roku Objectivie-C pozostawał jednym z trzech najpopularniejszych języków programowania na świecie. Kiedy wszedł na rynek język Swift, developerzy chętnie sięgnęli po ten drugi, co zaowocowało tym, że oba te języki uplasowały się dalej na liście rankingowej. Mimo tego, że od ponad 4 lat Objecitvie-C nie jest już głównym językiem Apple, to wciąż jest efektywnie wykorzystywany.

Zapewne wynika to z faktu, iż napisanie od nowa większości kodów w już istniejących projektach byłoby kosztowne i nie opłacalne, słusznym zatem wydaję się udostępnić możliwość korzystania zarówno ze starego jak i nowego standardu. Jeśli prześledzimy ofert pracy dla iOS developera to zapewne zauważy się wymóg znajomości zarówno Swifta jak i Objective-C. Wynika to zapewne z tego, że w wielu projektach pracuje się na obu tych językach i cześć powstaje w Swift, a starsze części kodu utrzymywane są w Objective-C.

Składnia Objective-C i podobieństwo do innych języków

Kodujący w języku Swift zauważają ogromne podobieństwo do Objecitive-C i jest to słuszne spostrzeżenie, gdyż Swift powstał na podwalinach tego języka. Są w nim zachowane takie rozwiązania jak ARC oraz lambda domknięcia. Istnieją też narzędzia wywodzące się bezpośrednio z języka C, czyli wskaźniki, zarządzania pamięcią i inne. Wiadome jest, że część starego kodu jest nadal utrzymywana w tym języku, ponieważ nieopłacalne byłoby przepisanie wszystkiego od nowa. Jest również ogrom bibliotek dostępnych do użytku dla programistów. Wystarczy przejrzeć listę bibliotek dostępnych na managerze zależności CocoaPods. Jeśli w miarę dokładnie znasz Swift, to zapewne wiele rozwiązań w Objective-C będzie dla Ciebie całkiem proste.

Zakładając, że znasz język C lub C++ proste się wydadzą kwestie z zarządzaniem pamięcią. Jeśli zatem wszystkie tajniki i różnice będą Ci znane, wtedy z łatwością przyzwyczaisz się do składni i z łatwością możesz rozpocząć, wykorzystywać narzędzia Objective-C w powierzonych projektach.

 

Czy warto uczyć się Objective-C, choć jest to stary język?

Wszystko zależy od celu tej edukacji oraz pozycji wyjściowej samego programisty. Dla osoby, która chce nauczyć się programowania na iOS lub inny system Apple wskazane jest poświęcić 100% uwagi na Swift 4. Jeśli znasz już Swift 4 to dobry moment, żeby wziąć się za Objecitive-C. Przez wiele lat był on wykorzystywany do tworzenia oprogramowania oraz aplikacji dla firmy Apple. Jednocześnie powstała cała plejada nowych frameworków i bibliotek. Nawet obecnie większość aplikacji w App Store stanowią te napisane w Objecitive-C.

 

Podsumowując

Objecitive-C jest generalnie prostym językiem komputerowym dającym możliwość zaawansowanego programowania obiektowego. To zestaw rozszerzeń standardowego języka ANSI C a jego dodatki do C oparte są głównie na Smalltalk jednym z pierwszych języków. Język, o którym dziś mówimy, został zaprojektowany, aby dać C pełne możliwości programowania obiektowego i robić to w sposób prosty i bezpośredni. Osoby, które chcą programować pod systemy Apple, powinny się go nauczyć, choć nie w pierwszej kolejności

Pozostałe wpisy

Nowy Rok — nowe cele i wyzwania

Nowy Rok — nowe cele i wyzwania

Postanowienia noworoczne Kilka dni temu rozpoczęliśmy Nowy Rok 2022, wielu z nas ma wyznaczone nowe cele na ten rok, marzenia większe i mniejsze i z nadzieją patrzymy na te nowe 365 dni. Ktoś chce rzucić palenie papierosów, ktoś pozbyć się...

czytaj dalej
Idą Święta

Idą Święta

Święta, Święta idą… Wielkimi krokami nadchodzą najpiękniejsze, białe, mroźne i cudowne Święta Bożego Narodzenia. Czasami bywa tak, że tak bardzo się nimi stresujemy, że w natłoku spraw organizacyjnych z nimi związanymi umyka nam najważniejsze, że to...

czytaj dalej
Platforma Slack i jej nowe możliwości cz.2

Platforma Slack i jej nowe możliwości cz.2

Slack daje szereg nowych możliwości, a także sprawniejszą pracę Slack First Sustainability — zajmuję się efektywną współpracą firm z dostawcami, pozwalając osiągać zdolność raportowania inwestycyjnego z zakresu 3. A jednocześnie pozwala zredukować...

czytaj dalej