Swift. Programowanie funkcyjne dla aplikacji mobilnych

Bezpłatny fragment

Swift – co powinniśmy wiedzieć

Hello, Swift!

Funkcyjny Swift

Myślenie funkcyjne w języku Swift

Nie używamy nil, chyba że celowo

Unikanie stanu mutowalnego

Należy używać funkcji wyższego rzędu

Przypisy

SWIFT – CO POWINNIŚMY WIEDZIEĆ

AUTOR – Mark Chu-Carroll

Motywacje stojące za tworzeniem języków komputerowych są ważne. Język Haskell został opracowany do celów badawczych przy projektach języka funkcyjnego. Projekt Clojure powstał wokół idei, że styl funkcyjny i wszechobecna niezmienność stanowią wstępne warunki współbieżności. Elixir został zaprojektowany z myślą o wysokiej rozszerzalności i produktywności. Natomiast w języku Swift szukamy zamiennika istniejącego języka, stworzonego jako baza dla deweloperów, którzy mogą być zainteresowani wykorzystaniem zalet programowana funkcyjnego, ale niekoniecznie chcą zmiany na całkiem nowy paradygmat. Autorzy PragPub zbadali Swift krótko po jego wydaniu, pod kątem jego hybrydowego celu.

W 2014 roku Apple zapowiedział nowy język programowania o nazwie Swift do programowania w systemach iOS, macOS, watchOS, tvOS i Linux. Dla takich osób jak ja to była ważna wiadomość. Projektowanie i implementacja języków programowania były tematem mojej pracy doktorskiej. Mam obsesję na punkcie języków programowania. Ostatnio, gdy postanowiłem policzyć, ilu języków się nauczyłem, okazało się, że ponad 120 – a jeszcze przeczytałem specyfikacje co najmniej 30 innych. Uwielbiam języki programowania. Są ekscytujące!

Od czasu nastania OSX większość oprogramowania na komputerach Macintosh została zaprogramowana w języku Objective-C. To ładny język programowania (obecnie), który tak naprawdę nigdy nie przyjął się poza OSX i jego poprzednikiem – NeXTSTEP. Objective-C był hybrydą staromodnego, proceduralnego, imperatywnego programowania i programowania obiektowego. Swift także jest hybrydą, która łączy programowanie obiektowe z funkcyjnym. W tym przypomina język Scala (porównaj e-book pt. Scala – język hybrydowy).

Objective-C powstał około 1984 roku. Wtedy główne języki programowania, stosowane do tworzenia aplikacji, były przeważnie proceduralnymi językami imperatywnymi, takimi jak Pascal i C. Teraz jesteśmy w przełomowym dla programowania okresie. Gorącym tematem jest programowanie funkcyjne. A sposób, w jaki programowanie funkcyjne się przyjmuje, jest bardzo podobny do tego, w jaki wcześniej było przyjmowane projektowanie obiektowe – przez hybrydy. Jeśli przyjrzymy się wielu popularnym językom programowania – takim jak Scala – odnajdziemy w zasadzie część, która jest starym, znanym obiektowym językiem, a dodatkowo masą dołączonych do niej elementów funkcyjnych.

Mając Objective-C, który okazał się dość przestarzały, Apple zrobił rzecz oczywistą – dokonał przełomu i wprowadził nowy hybrydowy język funkcyjno-obiektowy o nazwie Swift.