Swift (ngôn ngữ lập trình)

Swift là một ngôn ngữ lập trình hướng đối tượng dành cho việc phát triển iOS và macOS, watchOS, tvOS và z/OS. được giới thiệu bởi Apple tại hội nghị WWDC 2014. Swift được mong đợi sẽ tồn tại song song cùng Objective-C, ngôn ngữ lập trình hiện tại dành cho các hệ điều hành của Apple. Swift được thiết kế để hoạt động với các framework Cocoa và Cocoa Touch của Apple  và phần lớn mã Objective-C hiện có được viết cho các sản phẩm của Apple. Nó được biên dịch với trình biên dịch LLVM và đã được đưa vào Xcode kể từ phiên bản 6, phát hành năm 2014. Trên các nền tảng của Apple, nó sử dụng thư viện runtime Objective-C  cho phép mã C, Objective-C, C++ và Swift cùng chạy trong một chương trình.

Apple dự định Swift hỗ trợ nhiều khái niệm cốt lõi liên quan đến Objective-C, đáng chú ý là thu hồi động, các ràng buộc phổ thông, lập trình mở rộng và các tính năng tương tự, nhưng theo cách "an toàn hơn", giúp dễ dàng bắt lỗi phần mềm hơn; Swift có các tính năng giải quyết một số lỗi lập trình phổ biến như con trỏ rỗng  cung cấp cú pháp đặc biệt để giúp tránh kim tự tháp diệt vong. Swift hỗ trợ khái niệm về khả năng mở rộng giao thức, một hệ thống mở rộng có thể được áp dụng cho các kiểu, cấu trúc và lớp, mà Apple khuyến khích như một sự thay đổi thực sự trong mô hình lập trình mà họ gọi là "lập trình hướng giao thức"  (tương tự như đặc điểm).

Swift được giới thiệu tại Worldwide Developers Conference (WWDC) 2014 của Apple. Nó đã trải qua quá trình nâng cấp lên phiên bản 1.2 trong năm 2014 và nâng cấp lớn hơn cho Swift 2 tại WWDC 2015. Ban đầu, ngôn ngữ độc quyền, phiên bản 2.2 được được chuyển sang phần mềm nguồn mở theo Giấy phép Apache 2.0 vào ngày 3 tháng 12 năm 2015, dành cho các nền tảng của Apple và Linux.

Thông qua phiên bản 3.0, cú pháp của Swift đã trải qua quá trình phát triển quan trọng, với nhóm nòng cốt làm cho sự ổn định nguồn trở thành trọng tâm trong các phiên bản sau. Trong quý đầu tiên của năm 2018, Swift đã vượt qua Objective-C về mức độ phổ biến.

Swift 4.0, được phát hành vào năm 2017, đã giới thiệu một số thay đổi đối với một số lớp và cấu trúc tích hợp. Mã được viết bằng các phiên bản trước của Swift có thể được cập nhật bằng chức năng di chuyển được tích hợp trong Xcode

Vào tháng 3 năm 2017, chưa đầy 3 năm sau khi chính thức ra mắt, Swift đã đứng đầu trong bảng xếp hạng TIOBE hàng tháng về các ngôn ngữ lập trình phổ biến nhất. Một tài liệu 500 trang về Swift cũng được phát hành tại WWDC, miễn phí trên iBooks Store.

 Lịch sử 
Sự phát triển của Swift bắt đầu vào tháng 7 năm 2010 bởi Chris Lattner, với sự hợp tác cuối cùng của nhiều lập trình viên khác tại Apple. Swift lấy ý tưởng ngôn ngữ  "từ Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, và quá nhiều thứ khác để liệt kê". Ngày 2/6/2014 ứng dụng Apple Worldwide Developers Conference (WWDC) đã trở thành ứng dụng được phát hành công khai đầu tiên được viết bằng Swift. Phiên bản beta của ngôn ngữ lập trình đã được phát hành cho các nhà phát triển Apple đã đăng ký tại hội nghị, nhưng công ty không hứa rằng phiên bản cuối cùng của Swift sẽ tương thích với mã nguồn với phiên bản thử nghiệm. Apple đã lên kế hoạch để làm cho các bộ chuyển đổi mã nguồn có sẵn nếu cần để phát hành đầy đủ.Platforms State of the Union, Session 102, Apple Worldwide Developers Conference, ngày 2 tháng 6 năm 2014

The Swift Programming Language, Một tài liệu 500 trang về Swift cũng được phát hành tại WWDC, miễn phí trên iBooks Store và website chính thức.

Swift đạt mốc 1.0 ngày 9 tháng 9 năm 2014, với Gold Master cho Xcode 6.0 for iOS. Swift 1.1 phát hành ngày 22 tháng 10 năm 2014, cùng với sự ra mắt của Xcode 6.1. Swift 1.2 được phát hành ngày 8 tháng 4 năm 2015, cùng với Xcode 6.3. Swift 2.0 đã được công bố tại WWDC 2015 và được cung cấp để xuất bản ứng dụng trong App Store ngày 21 tháng 9 năm 2015. Swift 3.0 được phát hành ngày 13 tháng 9 năm 2016. Swift 4.0 được phát hành ngày 19 tháng 9 năm 2017. Swift 4.1 được phát hành ngày 29 tháng 3 năm 2018.

Swift giành vị trí thứ nhất cho Ngôn ngữ lập trình được yêu thích nhất trong [./https://en.wikipedia.org/wiki/Stack_Overflow Stack Overflow] Developer Survey 2015 và vị trí thứ 2 năm 2016.

Ngày 3 tháng 12 năm 2015, ngôn ngữ Swift, thư viện hỗ trợ, trình gỡ lỗi và trình quản lý gói đã được mở nguồn theo giấy phép Apache 2.0 với một Runtime Library Exception, và Swift.org được tạo để lưu trữ dự án. Mã nguồn được lưu trữ trên GitHub nơi mọi người có thể dễ dàng lấy mã, tự xây dựng mã và thậm chí tạo các yêu cầu để đóng góp mã trở lại dự án.

Tháng 12 năm 2015, IBM đã công bố trang web Swift Sandbox của mình, cho phép các nhà phát triển viết mã Swift trong một khung và hiển thị đầu ra trong một khung khác. đã không còn được sử dụng vào tháng 1 năm 2018.

Trong WWDC 2016, Apple đã công bố một ứng dụng độc quyền cho iPad, có tên Swift Playgrounds, nhằm dạy mọi người cách viết mã trong Swift. Ứng dụng được trình bày trong giao diện tương tự trò chơi video 3D cung cấp phản hồi khi các dòng mã được đặt theo một thứ tự nhất định và được thực thi.

Tháng 1 năm 2017, Chris Lattner tuyên bố rời khỏi Apple để giành vị trí mới với Tesla Motors, với vai trò lãnh đạo dự án Swift sẽ thuộc về nhân vật kỳ cựu Ted Kremenek.

 Lịch sử phiên bản 
 Ngày  Phiên bản 2014-09-09  Swift 1.0 2014-10-22  Swift 1.1 2015-04-08  Swift 1.2 2015-09-21  Swift 2.0 2016-09-13  Swift 3.0 2017-09-19  Swift 4.0 2018-03-29  Swift 4.1 2018-09-17  Swift 4.2 2019-03-25  Swift 5.0
 Mã nguồn ví dụ 
 let người = ["Trang": 67, "Ngọc": 8, "Duyên": 33, "Hoàng": 25]
 for (tên, tuổi) in người {
     print("\(tên) là \(tuổi) tuổi.")
 }

 Xem thêm 
 AppleScript
 Xcode
 Objective-C
 Rust
 Go
 Ngôn ngữ D

 Tham khảo 

 Liên kết ngoài 

 Swift at Apple Developer

 Server-side Swift
 Server-side Swift - The Vapor Framework
 Swift for IBM z/OS
 Swift for Linux on z Systems

Thể loại:Ngôn ngữ lập trình
Thể loại:Apple
Thể loại:Giới thiệu năm 2014
Thể loại:Ngôn ngữ lập trình hướng đối tượng
Thể loại:Họ ngôn ngữ lập trình Smalltalk
Thể loại:Phần mềm của Apple Inc.
Thể loại:Phần mềm tự do đa nền tảng
Thể loại:Ngôn ngữ lập trình khai báo
Thể loại:Ngôn ngữ hàm
Thể loại:Ngôn ngữ lập trình bậc cao
Thể loại:Ngôn ngữ lập trình đối sánh mẫu
Thể loại:Phần mềm sử dụng giấy phép Apache
Thể loại:Ngôn ngữ lập trình hệ thống