W tym roku na WWDC tak mocno skupiono się na iOS 8 i OS X Yosemite, że to, co powinno być największą nowiną tego wydarzenia, zostało raczej niedocenione. Firma Apple przedstawiła światu język programowania Swift. Dla użytkownika końcowego to zaledwie nowość. Jednak dla społeczności programistów może to równie dobrze zmienić zasady gry. Niektóre języki programowania mają wyraźną przewagę nad innymi językami programowania, niektóre są szybsze, niektóre bardziej wydajne, niektóre są po prostu czystsze, a niektóre niezwykle proste. Apple jest najnowszą firmą, która stworzyła własny język programowania po Google Go (Golang) i Microsoft .Net Framework. Swift Programming Language twierdzi, że nauczył się z tych języków, pozostając wiernym swojemu poprzednikowi Objective C. Firma Apple twierdzi, że stworzyła najszybszy i najbardziej niezawodny język programowania wysokiego poziomu. Pozwól nam wyjaśnić.
Dlaczego potrzebujemy języków programowania?
Istnieje kilka sposobów na to, aby urządzenie robiło „rzeczy”. Każde urządzenie, od nowoczesnych gadżetów do noszenia po tradycyjne komputery, może być stworzone do robienia różnych rzeczy przy użyciu staromodnego sposobu języka maszynowego, pisania w surowym kodzie bajtowym / języku asemblerowym, tworzenia każdej instrukcji ręcznie; lub możesz polegać na językach wysokiego poziomu, które pomogą zmniejszyć trochę nudy. Dlatego większy nacisk kładzie się na przybliżenie języków programistów do normalnego języka, jak to tylko możliwe. Rozumiemy, że nazwa Swift przyciąga więcej programistów niż widzów, ale nadal będziemy upraszczać wyjaśnienie, aby pomóc Ci zrozumieć technologię, która będzie kontrolować przyszłe generacje produktów Apple.
Krótkie wprowadzenie: urządzenia elektroniczne to dosłownie najgłupsze rzeczy znane ludzkości, bez całego programowania zostałyby zredukowane do zwykłych ozdób. To, co daje im jakąkolwiek prawdziwą funkcję, to programowanie. Na bardzo podstawowym poziomie elektronicy trzeba mówić, akcja po działaniu, co muszą zrobić, to właśnie robiliśmy z kartami perforowanymi, a później z językiem maszynowym. Następnie przenieśliśmy się w czasie, aby opracować języki, które pozwalają nam komunikować się z maszynami w bardziej naturalny sposób (tak, kod jest w rzeczywistości prostszą wersją tego, czym mógłby być). Piszemy kod, który jest kompilowany do czegoś, co komputer rozumie, a następnie wykonywany. Podsumowując, kod-kompilacja-wykonanie.
Dlaczego szybki?
Teraz możesz sobie wyobrazić najbardziej istotne pytanie: „Dlaczego?”. C, język pochodzi z lat 70-tych, w tamtym czasie był przełomem, a następnie w latach 80-tych pojawił się cel C. Od tamtej pory Apple używa tej platformy do programowania. Logika podpowiada, że „jeśli coś nie jest zepsute, nie naprawiaj tego”, a jeśli działało przez 30 lat z rzędu, jaki może być problem? Dobrze, że. Apple używa Objective C od dziesięcioleci. Czas na coś szybszego, potężniejszego, łatwiejszego. Wchodzi Swift.
Według oficjalny ebook on Swift (dostępny za darmo w iTunes) „Swift to nowy język programowania dla aplikacji iOS i OS X, który bazuje na najlepszym języku C i Objective-C, bez ograniczeń kompatybilności z C. Swift przyjmuje bezpieczne wzorce programowania i dodaje nowoczesne funkcje, aby programowanie było łatwiejsze, bardziej elastyczne i przyjemniejsze. Czysta karta Swift, wspierana przez dojrzałe i lubiane frameworki Cocoa i Cocoa Touch, to okazja do ponownego wyobrażenia sobie, jak działa tworzenie oprogramowania. ”
Dlaczego język Swift jest ważny?
Chociaż Apple chciałby, abyś wierzył w ich innowacje z całego serca, pojawił się pomysł na język „skryptowy”. Tradycyjne parametry kod-kompilacja-wykonanie wymagają, aby kod był widoczny w akcji dopiero po jego skompilowaniu. Kompilacja pokazuje dokładnie, do czego zdolny jest Twój kod. Jeśli twój kod zawiera błędy, kompilacja spowoduje błędne zachowanie lub awarie. Wtedy zadaniem programisty będzie wytropienie miejsca błędu, naprawienie go i rozpoczęcie od nowa. Ten proces jest zarówno żmudny, jak i czasochłonny, ale jest to coś, z czym świat programowania zawsze żył; tak było zawsze. Języki skryptowe są wykonywane wiersz po wierszu, dzięki czemu można zobaczyć wyniki podczas pisania, eliminując potrzebę późniejszego sprawdzania kodu pod kątem błędów. Dzięki temu proces jest szybszy i dużo łatwiejszy.
Do tej pory możliwości języków skryptowych były ograniczone. Weźmy na przykład Pythona, jest on niesamowicie szybki, ale ogranicza się również do prostszych rzeczy o ograniczonych możliwościach. Jak samochód Forumla1, świetny do wyścigów, a nie do zakupów.
Jeśli chcesz stworzyć grę, to Python nie jest Twoim podstawowym środowiskiem. Jednak Objective-C to (lub C ++, jeśli używasz systemu Windows). Teraz Swift obiecuje to, co najlepsze z obu (w rzeczywistości wielu) światów, czerpiąc inspirację z Objective-C, Rust, Haskell, Ruby, Python, C #, CLU i zbyt wielu innych, aby je wymienić (odniesienie: Swift developer / expert Chris Lattner). Swift twierdzi, że zachowuje dobre rzeczy i traci złe rzeczy z góry. W kluczowych testach porównawczych jego wykonanie jest szybsze niż Python i znacznie szybsze niż Objective-C, więc to dobry początek.
Co jeszcze robi?
Swift oferuje również środowisko wizualne czasu rzeczywistego zwane „placem zabaw”, w którym można zobaczyć kompilację wyników w czasie rzeczywistym, podobnie jak język skryptowy. To, w oparciu o projekt aplikacji, może skrócić całe procesy do kilku minut, ponieważ jeśli coś pójdzie nie tak, od razu dowiesz się, co to spowodowało i możesz to natychmiast rozwiązać. Jest to programowy odpowiednik poprawiania błędu na wydruku w porównaniu z poprawianiem podkreślonego na czerwono słowa w trakcie pracy. Umożliwiając szybsze tworzenie złożonych aplikacji.
To idzie trochę głębiej. W przypadku języków wysokiego poziomu wymagane było zadeklarowanie i dostęp do klas i bibliotek w celu włączenia funkcji, bez względu na to, jak są one podstawowe. w C ++ Potrzebowałbyś
#include<stdio.h> int main(void) { printf("Hello Worldn"); return0; }
do prostego:
println("Hello, world")
To jest cały kod, który musi zostać skompilowany. Zauważysz również, że kod nie używa przerażającego „;” jako uniwersalny znak zakończenia.
Jakie są wady?
Otóż, istnienie Swifta nie oznacza natychmiastowej śmierci Objective-C i wszystkich jego dróg. Aplikacje można nadal tworzyć przy użyciu Objective-C, a natywni użytkownicy Objective C nie będą czuli się całkowicie wyobcowani, ponieważ istnieją podobieństwa w tych środowiskach. Oczywiście, ponieważ Apple spędził właśnie 4 lata pracując nad nowym językiem programowania, skupią się na popychaniu i wspieraniu Swift, teraz iw przyszłości. Być może któregoś dnia wymażą Objective-C z kronik języków programowania Apple, ale ten dzień nie jest dzisiaj. Chociaż jeśli wyszedł nowy język, taki, który jest tak łatwy do nauczenia i jest o wiele szybszy, to dlaczego ktoś miałby trzymać go z celem-C?
Istnieje oczywiście kilka obaw, z których natychmiastowe są wstrząsy w branży. Cała kariera została wykuta wokół uczenia ludzi, jak tworzyć aplikacje na iPhone’a, te kariery i ich uczniowie natychmiast stały się przestarzałe, będzie wiele zmian na tym froncie. Otrzymamy również nowy zbiór wczesnych adapterów do Swifta (Flappy Birds już stworzone za pomocą Swifta), co jest zarówno dobre, jak i złe. Dobrze, że do organizmu zostanie wstrzyknięta nowa krew, a źle, że ta nowa krew będzie niedoświadczona i zaleje rynek źle wykonanymi aplikacjami.
Wkrótce będziemy omawiać metalową strukturę Apple, omawiając jej zalety i wady, zwłaszcza w grach na iOS.
Wniosek
Jeśli zastanawiasz się, dlaczego na konferencji WWDC nie ogłoszono żadnego nowego sprzętu, odsyłamy Cię ponownie do naszego wcześniejszego oświadczenia, że sam sprzęt nie może nic zrobić, dopóki oprogramowanie za nim nie zadziała. Więc to była dosłownie największa wiadomość wszechczasów. Że otrzymujemy nowe podejście do oprogramowania, które w przyszłości zmieni oblicze całego sprzętu. Aby uzyskać Swift, potrzebujesz Xcode 6 beta i ID programisty.