سويفت (لغة برمجة)

Swift
Apple Swift Logo.png
Paradigmنمط برمجة متعدد (كائني التوجه, وظيفي، أمري، block structured)
Designed byكريس لاتنر وأپل
Developerأپل
First appeared2014
الإصدار المستقر
1.1
Typing disciplineساكن، قوي، استدلالي
OSiOS, OS X
Licenseبرمجيات احتكارية[1]
Filename extensions.swift
Websitedeveloper.apple.com/swift
Influenced by
Objective-C, رست، هاسكل، روبي، پايثون، سكالا، سي#، كلو،[2] دي[3]
Influenced
رست[4]

سويفت Swift، هو نمط برمجة تم تجميعه في لغة البرمجة التي أنشأتها ابل لتطوير أنظمة آي أو إس و أو إس إكس . عرضت في مؤتمر للمطورين في جميع أنحاء العالم 2014,[5] تم تصميم سويفت للعمل مع أبل كاكاو و كوكوا اللمس الأطر ومجموعة كبيرة من الموجودة سي-الكائنية متاحة كتابة لمنتجات أبل. والمقصود أن تكون سويفت أكثر مرونة بالنسبة للرمز الخاطئ أى ("أكثر أمانا") من سي-الكائنية ، وأيضا أكثر إيجازا (نفس الفكرة يمكن التعبير عنها بأقل كمية من التعليمات البرمجية). يتم بناؤها مع مترجم إل إل في إم المدرج في إكس كود (6)، ويستخدم وقت التشغيل سي-الكائنية، مما يسمح ل سى و سي-الكائنية، سى ++ ورمز سويفت لتعمل ضمن برنامج واحد.[6]


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

التاريخ

بدأت تطوير سويفت في 2010 بواسطة كريس لاتنر، وفي الأنهاية بالتعاون مع الكثير من المبرمجين الآخرين. أخذت سويفت أفكار اللغة "من سى الكائنية رست هاسكل ، روبي ، بايثون و سي# . ، CLU لغة برمجة، وعدد كبير جدا من قائمة بآخرين ". [2] في 2 يونيو , عام 2014، أصبح التطبيق الأول في WWDC هو التطبيق الذى تم إصداره علنا قد كتب بلغة سويفت.[7] تم إصدار نسخة بيتا من اللغة إلى مطوري أبل المسجلين في ذلك الوقت، ولكن أبل لم نعد بأن تكون النسخة النهائية من سويفت ستكون متوافق مع مع نسخة المصدر التي تم إصدارها. آبل تخطط لجعل محولات كود المصدر متاح إذا لزم الأمر من أجل الإفراج الكامل.[7]


المميزات

ترتيبات لغات البرمجة في 2015. قفزت سويفت في ترتيب اقبال المبرمجين عليها من 68، لدى مولدها في صيف 2014، إلى 22 في يناير 2015.[8]

الأنواع، المتغيرات والخيارات

المكتبات، وقت التشغيل والتطوير

ادارة الذاكرة

التصحيح وعناصر أخرى

أوجه الشبه بلغة البرمجة سي

أوجه الاختلاف عن لغة البرمجة سي

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

أمثلة الرمز

// this is a single line comment using two slashes.

/* this is also a comment,
   but written over multiple lines */

/* multiline comments
   /* can be nested! */
   so that you can block out code containing multiline comments
*/

// Swift variables are declared with "var" followed by a name, a type, and a value
var explicitDouble: Double = 70

// if the type is omitted, Swift will infer it from the variable's initial value
var implicitInteger = 70
var implicitDouble = 70.0
var  = "美国"

// Swift constants are declared with "let" followed by a name, a type, and a value
let numberOfBananas: Int = 10

// if the type is omitted, Swift will infer it from the constant's value
let numberOfApples = 3
let numberOfOranges = 5

// values of variables and constants can be interpolated in strings as follows
let appleSummary = "I have \(numberOfApples) apples."
let fruitSummary = "I have \(numberOfApples + numberOfOranges) pieces of fruit."

// in playgrounds, code can be placed in the global scope
println("Hello, world")

// define an array
var fruits = ["mango", "kiwi", "avocado"]

// example of if statement; .isEmpty, .count
if fruits.isEmpty {
    println("No fruits in my array.")
} else {
    println("There are \(fruits.count) items in my array")
}

// define a dictionary with four items, each with a person's name and age
let people = ["Anna": 67, "Beto": 8, "Jack": 33, "Sam": 25]

// now we use Swift's flexible enumerator system to extract both values in a single loop 
for (name, age) in people {
    println("\(name) is \(age) years old.")
}

// functions and methods are declared with the "func" syntax
// the return type is specified with ->
func sayHello(personName: String) -> String {
    let greeting = "Hello, " + personName + "!"
    return greeting
}

// prints "Hello, Jane!"
println(sayHello("Jane"))

// parameter names can be made external and required for calling
// the external name can be the same as the parameter name by
// prefixing with an octothorpe (#)
// or can be defined separately.
func sayAge(#personName: String, personAge Age: Int) -> String {
    let result = "\(personName) is \(Age) years old."
    return result
}

// we can also specify the name of the parameter
println(sayAge(personName: "Jane", personAge: 42))

انظر أيضاً

المصادر

  1. ^ Lattner, Chris (June 11, 2014). "Re: [LLVMdev] [cfe-dev] [ADVERTISEMENT] open positions in Apple's Swift compiler team". Retrieved June 12, 2014. You can imagine that many of us want it to be open source and part of llvm, but the discussion hasn't happened yet, and won't for some time.
  2. ^ أ ب Lattner, Chris (June 3, 2014). "Chris Lattner's Homepage". Chris Lattner. Retrieved June 3, 2014. I started work on the Swift Programming Language in July of 2010. I implemented much of the basic language structure, with only a few people knowing of its existence. A few other (amazing) people started contributing in earnest late in 2011, and it became a major focus for the Apple Developer Tools group in July 2013 [...] drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
  3. ^ "Building assert() in Swift, Part 2: __FILE__ and __LINE__ - Swift Blog -". Apple Developer. Retrieved September 26, 2014. 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.
  4. ^ "RFC for `if let` expression". Retrieved December 4, 2014. The `if let` construct is based on the precedent set by Swift, which introduced its own `if let` statement.
  5. ^ Williams, Owen (June 2, 2014). "Apple announces Swift, a new programming language for iOS". The Next Web. Retrieved June 2, 2014.
  6. ^ Timmer, John. A fast look at Swift, Apple’s new programming language "A fast look at Swift, Apple's new programming language" Check |url= value (help). Ars Technica. Retrieved June 6, 2014.
  7. ^ أ ب Platforms State of the Union, Session 102, Apple Worldwide Developers Conference, June 2, 2014
  8. ^ "Apple's New Programming Language Is Growing Like Mad". wired.com. 2015-01-15. Retrieved 2015-01-15.

وصلات خارجية

الكلمات الدالة: