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

Bách khoa toàn thư mở Wikipedia
Swift
Mẫu hìnhĐa mẫu hình: hướng giao thức, hướng đối tượng, hàm, mệnh lệnh, khối cấu trúc
Thiết kế bởiChris Lattner, Doug Gregor, John McCall, Ted Kremenek, Joe Groff, and Apple Inc.[1]
Nhà phát triểnApple Inc.
Xuất hiện lần đầu2 tháng 6 năm 2014; 9 năm trước (2014-06-02)[2]
Phiên bản ổn định
5.0[3] / 25 tháng 3 năm 2019; 5 năm trước (2019-03-25)
Bản xem thử
5.1 branch[4]
Kiểm tra kiểuTĩnh, Mạnh, Suy luận
Hệ điều hànhDarwin, Linux, FreeBSD, z/OS
Giấy phépApache License 2.0 (Swift 2.2 và mới hơn)
Độc quyền (trước Swift 2.2)[5][6]
Phần mở rộng tên tập tin.swift
Trang mạngswift.org
Ảnh hưởng từ
Objective-C,[7] Rust, Haskell, Ruby, Python, C#, CLU,[8] D,[9]Object Pascal[10], Smalltalk

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 iOSmacOS, watchOS, tvOSz/OS. được giới thiệu bởi Apple tại hội nghị WWDC 2014.[11] 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.[11] Swift được thiết kế để hoạt động với các framework CocoaCocoa 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[12], 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.[13]

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"[14] (tương tự như đặc điểm).[15]

Swift được giới thiệu tại Worldwide Developers Conference (WWDC) 2014 của Apple.[16] 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.[17][18]

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.[19][20] Trong quý đầu tiên của năm 2018, Swift đã vượt qua Objective-C về mức độ phổ biến.[21]

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.[22] 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.[23]

Lịch sử[sửa | sửa mã nguồn]

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ê".[8] 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.[24] 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 đủ.[24]

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.[23]

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.[25] 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.[26] Swift 1.2 được phát hành ngày 8 tháng 4 năm 2015, cùng với Xcode 6.3.[27] 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.[28] Swift 3.0 được phát hành ngày 13 tháng 9 năm 2016.[29] Swift 4.0 được phát hành ngày 19 tháng 9 năm 2017.[30] Swift 4.1 được phát hành ngày 29 tháng 3 năm 2018.[31]

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[32] và vị trí thứ 2 năm 2016.[33]

Ngày 3 tháng 12 năm 2015, ngôn ngữ Swift, thư viện hỗ trợ, trình gỡ lỗitrì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[34], 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.[35][36][37] đã không còn được sử dụng vào tháng 1 năm 2018.[38]

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.[39][40][41]

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.[42][43]

Lịch sử phiên bản[sửa | sửa mã nguồ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[44]

Mã nguồn ví dụ[sửa | sửa mã nguồn]

 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[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ U.S. patent no. 9329844
  2. ^ “Swift Has Reached 1.0”. Apple. ngày 9 tháng 9 năm 2014. Truy cập ngày 8 tháng 3 năm 2015.
  3. ^ https://github.com/apple/swift/releases
  4. ^ “Bản sao đã lưu trữ”. Bản gốc lưu trữ ngày 31 tháng 3 năm 2019. Truy cập ngày 19 tháng 4 năm 2019.
  5. ^ “Swift, Objectively”. Swift is proprietary and closed: It is entirely controlled by Apple and there is no open source implementation.
  6. ^ Lattner, Chris (ngày 11 tháng 6 năm 2014). “Re: [LLVMdev] [cfe-dev] [Advertisement] open positions in Apple's Swift compiler team”. Bản gốc lưu trữ ngày 14 tháng 7 năm 2014. Truy cập ngày 12 tháng 6 năm 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.
  7. ^ Lattner, Chris (ngày 3 tháng 6 năm 2014). “Chris Lattner's Homepage”. Chris Lattner. Truy cập ngày 3 tháng 6 năm 2014. The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
  8. ^ a b Lattner, Chris (ngày 3 tháng 6 năm 2014). “Chris Lattner's Homepage”. Chris Lattner. Truy cập ngày 3 tháng 6 năm 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.
  9. ^ “Building assert() in Swift, Part 2: __FILE__ and __LINE__”. Truy cập ngày 25 tháng 9 năm 2014.
  10. ^ “Why Does Apple's Swift Use Pascal's Variable Declaration Syntax?”. Inner Exception. Truy cập ngày 10 tháng 3 năm 2018.
  11. ^ a b “Apple announces Swift, a new programming language for iOS”.
  12. ^ “The Swift Linux Port”. Swift.org. Apple Inc. Truy cập ngày 3 tháng 8 năm 2016.
  13. ^ Timmer, John (ngày 5 tháng 6 năm 2014). “A fast look at Swift, Apple's new programming language”. Ars Technica. Condé Nast. Truy cập ngày 6 tháng 6 năm 2014.
  14. ^ Bản mẫu:Cite media
  15. ^ “Concepts are similar to Rust Traits”.
  16. ^ Williams, Owen (ngày 2 tháng 6 năm 2014). “Tim Berners-Lee's sixtieth birthday Apple announces Swift, a new programming language for iOS”. The Next Web. Truy cập ngày 2 tháng 6 năm 2014.
  17. ^ “Apple's new programming language Swift is now open source”. The Verge. Truy cập ngày 5 tháng 12 năm 2015.
  18. ^ “Apple Open Sources Swift in Latest Pitch to the Enterprise”. CIO Journal. The Wall Street Journal Blogs. ngày 3 tháng 12 năm 2015. Truy cập ngày 5 tháng 12 năm 2015.
  19. ^ “Looking back on Swift 3 and ahead to Swift 4”. Swift Forums. Truy cập ngày 19 tháng 11 năm 2018.
  20. ^ “Swift-Evolution”. Swift Evolution. Truy cập ngày 19 tháng 11 năm 2018.
  21. ^ “The RedMonk Programming Language Rankings: January 2018 – tecosystems”. redmonk.com (bằng tiếng Anh). Truy cập ngày 20 tháng 11 năm 2018.
  22. ^ Hein, Buster (ngày 9 tháng 3 năm 2017). “Swift is already one of the world's most popular programming languages”. Cult of Mac.
  23. ^ a b The Swift Programming Language. Apple. ngày 2 tháng 6 năm 2014. Truy cập ngày 2 tháng 6 năm 2014. Tóm lược dễ hiểu.
  24. ^ a b Platforms State of the Union, Session 102, Apple Worldwide Developers Conference, ngày 2 tháng 6 năm 2014
  25. ^ a b “Swift Has Reached 1.0”. ngày 9 tháng 9 năm 2014. Truy cập ngày 10 tháng 9 năm 2014.
  26. ^ “Xcode 6.1 Release Notes”. ngày 22 tháng 10 năm 2014. Truy cập ngày 23 tháng 1 năm 2015.
  27. ^ “Xcode 6.3 Release Notes”. ngày 8 tháng 4 năm 2015. Truy cập ngày 8 tháng 4 năm 2015.
  28. ^ “Swift 2 Apps in the App Store”. Swift Blog. Truy cập ngày 13 tháng 3 năm 2016.
  29. ^ Inc., Apple (ngày 13 tháng 9 năm 2016). “Swift 3.0 Released!”. Swift.org. Bản gốc lưu trữ ngày 14 tháng 10 năm 2016. Truy cập ngày 26 tháng 10 năm 2016.
  30. ^ Inc., Apple (ngày 17 tháng 9 năm 2017). “Swift 4.0 Released!”. Swift.org. Bản gốc lưu trữ ngày 28 tháng 3 năm 2019. Truy cập ngày 1 tháng 3 năm 2018.
  31. ^ Inc., Apple (ngày 29 tháng 3 năm 2018). “Swift 4.1 Released!”. Swift.org. Bản gốc lưu trữ ngày 25 tháng 4 năm 2019. Truy cập ngày 30 tháng 3 năm 2018.
  32. ^ “Stack Overflow Developer Survey Results 2015”.
  33. ^ “Stack Overflow Developer Survey Results 2016”.
  34. ^ “Swift.org and Open Source”. Swift.org. Apple Inc. Truy cập ngày 25 tháng 2 năm 2019.
  35. ^ “Introducing the IBM Swift Sandbox — Swift”. Swift (bằng tiếng Anh). Truy cập ngày 5 tháng 12 năm 2015.
  36. ^ Mayo, Benjamin. “Write Swift code in a web browser with the IBM Swift Sandbox”. 9to5Mac. Truy cập ngày 5 tháng 12 năm 2015.
  37. ^ “After Apple open sources it, IBM puts Swift programming in the cloud | ZDNet”. ZDNet. Truy cập ngày 5 tháng 12 năm 2015.
  38. ^ “Swift Package Catalog and Swift Sandbox Deprecation” (bằng tiếng Anh). Truy cập ngày 9 tháng 11 năm 2018.
  39. ^ “Swift Playgrounds”. Apple Developer. Truy cập ngày 19 tháng 6 năm 2016.
  40. ^ “Swift Playgrounds — Preview”. Apple (bằng tiếng Anh). Truy cập ngày 19 tháng 6 năm 2016.
  41. ^ Mayo, Benjamin (ngày 13 tháng 6 năm 2016). “Apple announces Swift Playgrounds for iPad at WWDC, public release in fall”. 9to5Mac. Truy cập ngày 19 tháng 6 năm 2016.
  42. ^ Cunningham, Andrew (ngày 10 tháng 1 năm 2017). “Longtime Apple programmer and Swift creator leaves Apple for Tesla”. Ars Technica.
  43. ^ Wuerthele, Mike (ngày 13 tháng 1 năm 2017). “New Swift project head Ted Kremenek said to be running the show behind the scenes for some time”. AppleInsider.
  44. ^ Kremenek, Ted (ngày 25 tháng 3 năm 2019). “Swift 5 Released!”. Swift.org (bằng tiếng Anh). Truy cập ngày 28 tháng 3 năm 2019.

Liên kết ngoài[sửa | sửa mã nguồn]