Witam.Jestem poczatkujacym programista. Caly czas szukam swojego ("Jezyka"?) Chcialem was zapytac jak to wyglada z Obj-C czy warto sie tego uczyc? jak wyglada rynek pracy programistow Obj-C i czy jest to ogolnie ciezki jezyk.Pozdrawiam
Rynek pracy AFAIK jest ok. Sprawdź ogłoszenia.
Pytanie - czy posiadasz sprzęt z japkiem?
Na wejście w Obj-C i robienie rzeczy np. na iOS (to chyba najczęstsze wykorzystanie Obj-C) potrzebujesz
- komputera z japkiem (kilka tysięcy)
- 99 dolarów rocznie za "Apple Developer Program", który ci pozwoli wydawać apki.
- urządzenie z systemem iOS do testowania (najtańsze za tysiąc z kawałkiem powinieneś kupić).
- drogie akcesoria do sprzętów Apple (nawet kabelki są drogie)
Jeśli byłbyś co najmniej średniozaawansowanym programistą to jeśli chciałbyś w to wejść, to te wydatki cóż, ot tylko wydatki. Wiadomo, że nic nie jest za darmo (sam kiedyś chciałem wejść w programowanie iOS, ale w końcu dalej web klepie. Chociaż mak się przydaje, bo jest o wiele bardziej wygodny niż linuxy).
Gorzej, że napisałeś:
Witam.Jestem poczatkujacym programista.
Więc, jeśli jesteś osobą początkującą i szukasz dopiero swojego języka, to raczej poszukałbym tańszego rozwiązania (chyba, że już posiadasz sprzęt z nadgryzionym jabłkiem, albo masz po prostu kasę na zakup).
LukeJL trochę przesadził imo :p Owszem, trzeba sprzęt z jabkiem, ale może to być nawet jakiś używany mac mini, który pewnie za 1,5k by się znalazło (strzelam), na początek na bank wystarczy. 99 dolarów rocznie nie trzeba o ile chce się mieć sprzęt jabkowy do nauki a później żyć z pracy "na etatcie" iOS dev. Jeśli faktycznie chcesz własne apki wydawać to trzeba, ale dopiero przy wrzucaniu do app store'a. Wcześniej możesz tą apkę kodzić bez konta developerskiego. Urządzenia z ios do testowania też koniecznie nie musisz. W XCode(IDE do kodzenia w obj-c) jest symulator wszystkich takich urządzeń. A jak koniecznie chcesz przetestować w realu to można jakiegoś iphone'a 4s używkę za kilka stówek i tyle. Drogie akcesoria - fakt, są drogie, ale tak dużo ich nie trzeba. Mam maca i iphone'a i jak dotąd kupiłem tylko przejściówkę z thunderbolt na hdmi za jakieś 79 zł.
Bardziej martwi mnie aspekt samego języka. Jeśli to miałby być Twój pierwszy język to trochę ciężko. Składnia obj-c nie należy do najprzyjemniejszych a i jest parę dziwactw w tym języku. Imo ten język nie należy do najłatwiejszych. Co do rynku, ofert pracy jest z 10x mniej niż np. w Javie, ale myślę, że programistów iOS jest również z 10x mniej, więc wychodzi na to samo. Hajs się zazwyczaj w miarę zgadza.
Jak się trochę postarasz to zainstalujesz Mac OSX na PC lub na wirtualce jeśli masz wystarczająco dobry sprzęt. Na start i rozpoczęcie przygody zupełnie wystarczające.
**Ważna **informacja o której nie wspomnieli poprzednicy. Wraz z pojawieniem się najnowszej wersji XCode 7, apple zmieniło trochę politykę odnośnie testowania aplikacji na urządzeniach. Od teraz można z poziomu XCode testować aplikację bez opłaconego konta developerskiego zarówno na symulatorze jak i na telefonie/tablecie na podobnej zasadzie jak ma to miejsce z androidem. Nadal trzeba będzie mieć opłacone konto developerskie, aby móc wrzucać aplikacje do App Store, ale do testowania na urządzeniu już nie.
Jeśli jesteś początkujący to zacznij od programowania czegoś na desktop.
Polecam rozwiązywać zadanka ns SPOJ albo MAIN.edu.pl by wyrobić sobie podstawowe umiejętności.
Nie bierz się za nic większego dopóki:
- nie będziesz umiał posługiwać się debuggerem (narzędzie tak ważne jak młotek dla stolarza). Minimum skilla w w tek materii to: "Step over", "Step into", "Step out", breakpoints, podgląd zmiennych
- nie napiszesz kodu większego niż 1000 na linii (choćby w ramach rozwiązywania zadań na SPOJ lub MAIN)
- nie nauczysz się czytać dokumentacji (bez średniej-podstawowej znajomości agielskiego to nie ma o czym mówić). Np jeśli mówimy o C++ to www.cplusplus.com/reference/ albo http://en.cppreference.com/w/
- posługiwać się wyszukiwarką (google)
Krok następny poznanie jakiegoś framework-a (zestawu bibliotek do tworzenia aplikacji). Może być to cokolwiek (nie koniecznie cocoa), ważne by nauczyć się wertować dokumentację i rozwiązywać problemy związane z jej zrozumieniem.
Dobrą metodą jest udzielania się na forach i ich obserwowanie (nie tylko zdawania pytań). Podstawowe błędy i problemy programistyczne są tu wałkowane na tysiące sposobów.