Swift

Från Wikipedia
Hoppa till: navigering, sök
Swift
Paradigm Multi-paradigmatiskt programspråk (Objekt-orienterat, Funktionellt, Imperativt, Struktuerat)
Gavs ut 2014
Utvecklare Chris Lattner och Apple
Influerat av Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, D[1]
Platform OS X, iOS
Licens Ospecificerat
Webbplats http://developer.apple.com/swift

Swift är ett kompilerat, multi-paradigmatiskt programspråk utvecklat av Apple i huvudsak för programmering på iOS och OS X plattformarna.[2]

Historia[redigera | redigera wikitext]

Utveckling påbörjades i Juli 2010 av Chris Lattner som implementerade grundläggande funktionalitet innan flertal programmerare bidrog till utvecklingsprocessen så tidigt som 2011. Språkets design inspirerades av "Objective-C, Rust, Haskell, Ruby, Python, C#, CLU och mycket mer". Swift blev ett stort fokus för Apple Developer Tools, avdelningen i Apple ansvarig för Xcode och andra programmeringsverktyg, i Juli 2013.[3]

2 Juni 2014 annonserades språket för första gången under årets World Wide Developer Conference (WWDC) och beskrevs som "Objective-C utan C".[4] Den ackompanjerande WWDC-appen släpptes ut på App Store samma dag och var den första kommersiella appen skriven i Swift.

Swift nådde version 1.0 den 9 September 2014.[5]

Översikt[redigera | redigera wikitext]

Swift kan beskrivas som en modernisering av Objective-C. Till skillnad från föregångaren använder sig Swift inte av pekare och kräver initiering av variabler. Den Smalltalk-baserade syntaxen för metodanrop har ersatts av en vanligare, punktnotationsliknande syntax. Samtidigt behåller Swift grundläggande Objective-C koncept, som utvidgningar, stängningar och protokoll (Engelska: extensions, closures, protocols).

Kodexempel[redigera | redigera wikitext]

Hello World[redigera | redigera wikitext]

Exempelkod för Hello World, som presenteras i boken The Swift Programming Language:

println("Hello, world!")

Array Sortering[redigera | redigera wikitext]

Exempelkod som demonstrerar sortering och utskrivning av en Array som innehåller element av datatypen Int.

var minArray: [Int] = [65, 3, 17, 93]; sort(&minArray)
 
print(minArray)
 
//Skriver ut "[3, 17, 65, 93]".

Generiskt Byte[redigera | redigera wikitext]

Exempelkod för en funktion som byter ut två T variablers slumpmässiga värden med varandra. Värdena skrivs ut före och efter användning av funktionen.

import Foundation //Krävs för slumpmässighet.
 
func generisktByte<T>(inout #förstaVärdet: T, inout #andraVärdet: T) { 
    (förstaVärdet, andraVärdet) = (andraVärdet, förstaVärdet)
}
 
var ettVärde = (arc4random()%10)+1, annatVärde = (arc4random()%10)+1 
//Själva värdena deklareras och definieras som ett slumpmässigt värde mellan 10 och 1.
 
println("\(ettVärde), \(annatVärde)") //Värdena skrivs ut före bytet.
 
generisktByte(förstaVärdet: &ettVärde, andraVärdet: &annatVärde)
 
println("\(ettVärde), \(annatVärde)") //Värdena skrivs ut efter bytet.

En unik egenskap för programspråket är att det stödjer Unicode karaktärer i själva koden.

Se även[redigera | redigera wikitext]

Referenser[redigera | redigera wikitext]

  1. ^ [a b] ”Building assert() in Swift, Part 2: __FILE__ and __LINE__ - Swift Blog -”. Apple Developer. https://developer.apple.com/swift/blog/?id=15. Läst 2014-09-26. ”Swift borrows a clever feature from the D language: these identifiers expand to the location of the caller when evaluated in a default argument list.” 
  2. ^ ”Swift Dokumentation - Om Swift”. https://developer.apple.com/library/ios/documentation/swift/conceptual/swift_programming_language/index.html#//apple_ref/doc/uid/TP40014097-CH3-XID_0. Läst 18 Oktober 2014. 
  3. ^ ”Chris Lattner Hemsida”. http://www.nondot.org/sabre/. Läst 18 Oktober 2014. 
  4. ^ ”The Verge - Swift”. http://www.theverge.com/2014/6/2/5772992/apple-has-a-new-programming-language-called-swift-and-it-totally-rules. Läst 18 Oktober 2014. 
  5. ^ ”Swift Blogg”. https://developer.apple.com/swift/blog/?id=14. Läst 18 Oktober 2014. 

Externa länkar[redigera | redigera wikitext]