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

Zawody przyszłości w branży IT (część 3)

Zawody przyszłości w branży IT (część 3)

Zgodnie z obietnicą przedstawimy Wam dziś kolejne zawody, które wchodzą z rozmachem na rynek pracy w branży IT i zaczniemy od: Trener / Mentor IT — zapotrzebowanie na specjalistów w IT to gorący temat i sprawia, że akurat w sferze szkoleń tworzy się nisza, a to z...

czytaj dalej
Zawody przyszłości w branży IT (część 2.)

Zawody przyszłości w branży IT (część 2.)

Zaciekawiła Was pierwsza część artykułu o zawodach, które obecnie wchodzą na rynek pracy? Dziś przybliżymy Wam kolejne. Analityk Danych (ang. Data Scientist) — firmy i przedsiębiorstwa gromadzą coraz więcej danych każdego dnia. Dlatego też eksperci data science są...

czytaj dalej
Kilka zawodów przyszłości w branży IT (część 1.)

Kilka zawodów przyszłości w branży IT (część 1.)

Branża technologiczna kwitnie i tworzy ogromną liczbę zawodów przyszłości. Właśnie teraz jest najlepszy czas, aby przekonać się, które stanowiska są topie, a zarazem są najlepiej płatnymi stanowiskami w branży technologicznej. Zaletą tych profesji jest to, że w wielu...

czytaj dalej