Od kiedy rozpocząłem moją przygodę z blogiem na temat programowania w języku Swift, najczęściej padającym ze strony czytelników pytaniem jest pytanie: "Czy powinienem uczyć się od razu Swift, czy też zacząć od Objective-C?". Postaram się odpowiedzieć na to pytanie.

Aby odpowiedzieć na tak zadane pytanie musimy odpowiedzieć sobie na kilka pytań pomocniczych.

Czym różnią się oba języki programowania?

Objective-C jest to powstałe w 1983 roku rozszerzenie języka C o możliwości obiektowe, wzorowane na Smalltalku. Swift jest to zupełnie nowy język programowania nie mający wiele wspólnego z Objective-C. Oczywiście można dopatrzeć się pewnych podobieństw, ale nie są to elementy których nie znajdziemy też w innych językach programowania. Objective-C w wydaniu Apple był wielokrotnie ulepszany od momentu premiery, ale w związku ze swoją przeszłością posiada dość specyficzne zasady pisania kodu. Swift natomiast jest językiem niezwykle podobnym do innych mainstreamowych języków, jak choćby C#.

Nie miałem do tej pory styczności z programowaniem i chcę nauczyć się programować na iOS/OSX, co powinienem wybrać?

Jeżeli chcesz zacząć od jutra pracę na stanowisku iOS/OSX Developera wybierz Objective-C dlatego, że większość firm zatrudniających obecnie na tym stanowisku wymaga znajomości Objective-C. Jeśli jednak nauka programowania to dla Ciebie inwestycja w przyszłość, wybierz Swift i nie oglądaj się za siebie.

Uczę się Objective-C, czy powinienem zainteresować się Swift?

Nie przerywaj nauki Objective-C ale zwróć uwagę na Swift. Oba języki można z powodzeniem używać równolegle w pisanych przez Ciebie aplikacjach.

Czy Apple nie porzuci Swift?

Wiele osób, z którymi przyszło mi rozmawiać wyraża zaniepokojenie, że Swift nie odniósł tak spektakularnego sukcesu jak się spodziewano i Apple może się z niego wycofać. Ja uważam, że jest to błędne myślenie. Swift jest efektem wieloletniej pracy inżynierów Apple i nie przypadkiem pojawia równolegle z nową generację urządzeń zaprezentowanych przez giganta z Cupertino. Wszelkiego rodzaju udogodnienia wprowadzone w Swift mają przede wszystkim ułatwić pisanie aplikacji na zróżnicowane co do parametrów technicznych urządzenia Apple. Uważam zatem, że Apple nie pozbędzie się tak nowoczesnego języka, za zaprojektowanie którego na pewno słono zapłacił.

Jakie aplikacje w App Store zbudowane są w Swift?

Deweloperzy coraz częściej modernizują swoje aplikacje używając do tego języka Swift. Powstaje też sporo aplikacji "od zera" napisanych w Swift. Oto kilka aplikacji którymi chwali się Apple:

alt text

Czy uczelnie biorą Swift na poważnie?

Pojawienie się języka Swift, jak można było się spodziewać nie umknęło również teoretykom programowania, a lista szkół wprowadzających elementy języka Swift do swoich wykładów jest już dość pokaźna:

Zagraniczne szkoły: Aberystwyth University, California Polytechnic Institute, Cuesta College Drexel University, Full Sail University, Ingésup, Northwest Kansas Technical College, Plymouth University, RMIT University, Southern Methodist University, Stanford, Technical University of Munich, Tecnológico de Monterrey, University of California, Santa Cruz, University of Missouri.

Polskie szkoły: Politechnika Warszawska, Politechnika Gdańska, Politechnika Wrocławska, Politechnika Śląska, Uniwersytet Jagieloński, Uniwersytet w Białymstoku, Uniwersytet im. Adama Mickiewicza w Poznaniu (i tu potrzebuje waszej pomocy, bo tylko tyle udało mi się potwierdzić).

Swift czy Objective-C będzie za kilka lat na topie?

Na to pytanie musicie odpowiedzieć sobie sami biorąc ewentualnie powyższe wywody pod uwagę. Jestem ciekaw waszych odpowiedzi i zapraszam do głosowania: