En introduktion til Apples nye programmeringssprog: Swift

I år på WWDC var fokus så stærkt på iOS 8 og OS X Yosemite, at det, der skulle have været den største nyhed ved begivenheden, blev ret undervurderet. Apple introducerede programmeringssproget Swift til verden. Dette, for slutbrugeren, er knapt en nyhed. For udviklerfællesskabet kan det dog lige så godt være en game changer. Visse programmeringssprog har klare fordele i forhold til andre programmeringssprog, nogle er hurtigere, nogle mere effektive, nogle er bare renere, nogle utrolig simple. Apple er det seneste firma, der har skabt deres eget programmeringssprog efter Googles Go (Golang) og Microsofts .Net Framework. Swift Programming Language hævder at have lært af disse sprog, mens de forbliver tro mod sin Objective C-forgænger. Apple hævder at have skabt det hurtigste og mest robuste programmeringssprog på højt niveau. Lad os forklare.

Hvorfor har vi brug for programmeringssprog?

Der er en del måder at få en enhed til at gøre ‘ting’ på. Enhver enhed, fra moderne bærbare gadgets til de traditionelle computere, kan laves til at gøre ting ved at bruge enten den gammeldags måde med maskinsprog, skrivning i rå byte-kode/assemblersprog, udformning af hver instruktion i hånden; eller du kan stole på sprog på højt niveau, som vil hjælpe med at reducere noget af kedeligheden. Derfor er der mere fokus på at bringe udviklersprog så tæt på det normale sprog som muligt. Vi forstår, at navnet Swift tiltrækker flere udviklere end tilskuere, men vi vil stadig forenkle forklaringen for at hjælpe dig med at forstå den teknologi, der vil styre fremtidige generationer af Apple-produkter.

En hurtig primer: Elektroniske enheder er bogstaveligt talt de dummeste ting, som menneskeheden kender, uden al programmeringen ville de blive reduceret til rene ornamenter. Det, der giver dem nogen reel funktion, er programmeringen. På et helt grundlæggende niveau skal elektronikken fortælles, handling for handling, hvad den skal gøre, det var det, vi plejede at gøre med hulkort og senere med maskinsprog. Derefter bevægede vi os frem i tiden for at udvikle sprog, der lader os kommunikere med maskiner på en relativt mere naturlig måde (ja, kode er faktisk en enklere version af, hvad det kunne være). Vi ville skrive kode, det ville blive kompileret til noget computeren forstår og derefter eksekveret. Så for at opsummere, code-compile-execute.

  Sådan bruges vandmærker i PowerPoint

Hvorfor Swift?

Nu kan du forestille dig, at det mest relevante spørgsmål er “Hvorfor?”. C, sproget er fra 70’erne, bryder betydeligt nyt på det tidspunkt, så kom dets udspring, mål C i 80’erne. Apple har brugt denne platform til udvikling lige siden. Logikken dikterer, “hvis det ikke er i stykker, så lad være med at reparere det”, og hvis det har virket i 30 år i træk, hvad kan så være problemet? Nå, det. Apple har brugt Objective C i årtier nu. Tid til noget hurtigere, mere kraftfuldt, lettere. Indtast Swift.

Ifølge officiel e-bog på Swift (tilgængelig gratis på iTunes) “Swift er et nyt programmeringssprog til iOS- og OS X-apps, der bygger på det bedste fra C og Objective-C uden begrænsningerne af C-kompatibilitet. Swift anvender sikre programmeringsmønstre og tilføjer moderne funktioner for at gøre programmering nemmere, mere fleksibel og sjovere. Swifts rene tavle, bakket op af de modne og højt elskede Cocoa og Cocoa Touch rammer, er en mulighed for at genforestille, hvordan softwareudvikling fungerer.”

Hvorfor er Swift vigtig?

Så meget som Apple gerne vil have dig til at tro på deres helhjertede innovation, har der været en idé om “scripting”-sprog. De traditionelle code-compile-execute-parametre kræver, at du først kan se din kode i aktion, efter den er kompileret. Kompilering viser dig præcis, hvad din kode er i stand til. Hvis din kode har fejl, vil kompileringen resultere i uregelmæssig adfærd eller nedbrud. Så bliver koderens opgave at spore, hvor fejlen ligger, at rette den og så starte forfra. Denne proces er både besværlig og tidskrævende, men det er noget, programmeringsverdenen altid har levet med; det er sådan, tingene altid har været. Scriptsprog udføres linje for linje, så du kan se resultater, mens du skriver, hvilket eliminerer behovet for at gennemgå din kode for fejl på et senere tidspunkt. Gør processen hurtigere og meget nemmere.

  Hvad de er + forskellen mellem TCP og UDP

Til dato har scriptsprog været begrænsede i deres evner. Tag Python for eksempel, det er lynhurtigt, men det er også begrænset til mere simple ting med begrænsede muligheder. Som en Forumla1-bil, fantastisk til racerløb, ikke så meget til at få dagligvarer.

Hvis du vil lave et spil, så er Python ikke dit go-to-miljø. Dog er Objective-C (eller C++, hvis du er på Windows). Swift lover nu det bedste fra begge (faktisk mange) verdener og henter inspiration fra Objective-C, Rust, Haskell, Ruby, Python, C#, CLU og alt for mange andre til at nævne (reference: Swift-udvikler/-ekspert). Chris Lattner). Swift hævder at beholde de gode ting og miste de dårlige ting fra ovenstående. I nøglebenchmarks er dens udførelse hurtigere end Python og meget hurtigere end Objective-C, så det er godt startet.

Hvad gør den ellers?

Swift bringer også et visuelt realtidsmiljø kaldet “legeplads”, hvor du kan se dit resultat kompilere i realtid, ligesom et scriptsprog. Dette kan, baseret på appens design, bringe hele processer ned på et par minutter, for hvis noget går galt, vil du med det samme vide, hvad der forårsagede det og kan løse det lige der. Det svarer til programmering af at rette en fejl på en udskrift versus at rette et rødt understreget ord, mens du går videre. Giver dig mulighed for hurtigere at oprette komplekse apps.

Det går lidt dybere. For sprog på højt niveau blev du forpligtet til at deklarere og få adgang til klasser og biblioteker for at engagere funktioner, uanset hvor grundlæggende. i C++ Du skal bruge og for at bruge grundlæggende input, output og datatyper i din kode. I Swift er intet af det dog nødvendigt. Du behøver ikke at erklære nogen biblioteker, da Swift vil administrere, hvad hver datatype og io (input/output) funktion har brug for og vil engagere biblioteket selv. Så udskrivning af noget så simpelt som “Hej verden”, går fra

#include<stdio.h>
int main(void)
{
  printf("Hello Worldn");
  return0;
}

til en simpel:

println("Hello, world")

Det er hele koden, der skal kompileres. Du vil også bemærke, at koden ikke bruger det frygtede “;” som et universelt tegn på en sluterklæring.

  Fremtiden for telefoner: Hvad er foldbart glas?

Hvad er ulemperne?

Nu betyder eksistensen af ​​Swift ikke den øjeblikkelige død af Objective-C og alle dens måder. Apps kan stadig oprettes ved hjælp af Objective-C, og native Objective C-brugere vil ikke føle sig fuldstændig fremmedgjorte, da der er ligheder i disse miljøer. Da Apple lige har brugt 4 år på at arbejde på et nyt programmeringssprog, vil de selvfølgelig fokusere på at skubbe og understøtte Swift, nu og i fremtiden. Måske vil de en dag slette Objective-C fra annaler af Apples programmeringssprog, men den dag er det ikke i dag. Men hvis et nyt sprog er ude, et der er så nemt at lære og er så meget hurtigere, hvorfor skulle nogen så holde det ud med Objective-C?

Der er selvfølgelig et par bekymringer, den umiddelbare er omvæltningen i branchen. Hele karrierer er blevet skabt omkring at lære folk at lave iPhone-apps, de karrierer og deres elever er straks blevet forældede, der vil være masser af omstruktureringer på den front. Vi vil også få en ny høst af tidlige adaptere til Swift (Flappy Birds er allerede oprettet ved hjælp af Swift), hvilket er både en god ting og dårlig. Godt, at nyt blod vil blive sprøjtet ind i organismen, det dårlige er, at dette nye blod vil være uerfarent og vil oversvømme markedet med dårligt fremstillede apps.

Vi vil snart diskutere Apples metalramme og diskutere dets fordele og ulemper, især i iOS-spil.

Konklusion

Hvis du undrer dig over, hvorfor der ikke blev annonceret nogen ny hardware på WWDC-konferencen, så vil vi henvise dig igen til vores tidligere udtalelse om, at hardware alene ikke kan gøre noget, før softwaren bag det ikke virker. Så dette var bogstaveligt talt den største nyhed nogensinde. At vi får et nyt greb om software, der vil ændre ansigtet på al hardware i fremtiden. For at få Swift skal du bruge Xcode 6 beta og et udvikler-id.

Få Swift her