อะไรคือ Swift มันดียังไง ?

ภาษาโปรแกรม “Swift” เป็นภาษาโปรแกรมใหม่ที่ Apple ได้สร้างและออกแบบมาใหม่เพื่อให้นักพัฒนาใช้พัฒนาโปรแกรมบน Mac OS X และ iOS โดยในอดีตจนถึงปัจจุบันภาษาที่ใช้คือ Objective-C กลับเข้าคำถามที่ว่าอะไรคือ Swift มันคือ “ภาษาโปรแกรม”

swift-screenshot

ภาษาโปรแกรมเปรียบเสมือนภาษาตัวกลางที่นักพัฒนาโปรแกรมจะใช้สั่งงานคอมพิวเตอร์ เพราะมนุษย์คุยกับคอมพิวเตอร์ตรงๆ ไม่รู้เรื่อง ก็เลยต้องการภาษาตัวกลางที่เป็นภาษาที่ใกล้เคียงมนุษย์ (ที่นักพัฒนาสามารถอ่านออกเขียนได้) ทำให้เมื่อผ่านสิ่งที่เรียกว่านักแปลภาษา (Compiler) แล้วคอมพิวเตอร์ก็จะสามารถเข้าใจว่าตัวเองควรทำอะไร และ Swift ก็เป็นหนึ่งภาษาตัวกลางนั้น

swift

Swift เป็นภาษาที่ออกแบบให้มีประสิทธิภาพสูงและง่ายต่อการพัฒนาโดยนำข้อดีของภาษาสมัยใหม่เข้ามามากมาย เช่น Type Inference, Clean Syntax, No semicolons, Closures, Generics ซึ่งคุณสมบติที่กล่าวมาบางอย่างก็มีอยู่แล้วในภาษา Objective-C แต่ใน Swift นั้นจะน่าคบหามากขึ้น ภาษา Swift ยังถูกออกแบบให้มีความปลอดภัยในการเขียนโปรแกรมมากขึ้น ทั้งนี้ไม่ใช่การเขียนโปรแกรมขณะขับรถแล้วจะไม่เกิดอุบัติเหตุบนถนนนะครับ แต่เป็นความปลอดภัยในเชิงของการพัฒนา ทำให้ลดข้อผิดพลาดของโปรแกรมที่พัฒนาขึ้น ยกตัวอย่างเช่น

  • ไม่อนุญาติให้มีตัวแปรที่ไม่ได้ถูกกำหนดค่าในโปรแกรม
  • ไม่ต้องเขียนสัญลักษณ์ * (Asterisk) ขณะประกาศตัวแปร Pointer
  • ตรวจสอบการใช้งานค่าต่ำสุดและสูงสุดของตัวเลขจำนวนเต็ม
  • จะต้องเขียนวงเล็บปีกกาครอบส่วนของโปรแกรมที่อยู่ภายใต้เงื่อนไขใดๆ

ด้วยลักษณะที่เป็นภาษาสมัยใหม่ ทำให้นักพัฒนาทั้งที่นั่งในงาน WWDC และนั่งดู Live Streaming ต่างต้องอุทานคำว่า Wow! และอยากลองใช้งานกันอย่างมากมาย ผลลัพธ์จากความนิยมก็คือ Ebook ภาษา Swift ที่ Apple ปล่อยออกมาเพียงแค่วันเดียวมีการดาวน์โหลดถึง 370,000 ครั้ง โดยภาษา Swift นั้นแม้จะเปิดตัวในสมัยของ iOS 8 แต่เราสามารถที่จะเขียนแอพให้รองรับ iOS 7 ด้วยภาษา Swift ได้เช่นเดียวกัน

swift-c
swift-hello

Swift vs Objective-C

ในหัวข้อนี้ จะไม่เขียนว่าภาษาไหนดีกว่า และนักพัฒนาควรจะพัฒนาด้วยภาษาไหน สิ่งที่จะเขียนก็คือการเปรียบเทียบว่าท่าเดิมในภาษา Objective-C นั้น เมื่อเขียนด้วย Swift จะเป็นอย่างไร ส่วนจะสวยขึ้นไหม เขียนง่ายขึ้นไหม ขึ้นอยู่กับการตัดสินใจ ประสบการณ์ และวิจารณญาณของนักพัฒนาแต่ละคน

  • Dictionary Creation and How to Access
Screen Shot 2557-06-04 at 10.59.06 PM
  • String Sorting
Screen Shot 2557-06-04 at 10.59.22 PM
  • Delegation
Screen Shot 2557-06-04 at 10.59.46 PM

อนาคตของ Swift และการเขียนแอพบน iOS

  • Apple ต้องการให้ Swift เป็นภาษาที่จะมา “แทนที่” Objective-C แทนที่จะเป็น “ทางเลือก”
  • คิดว่ายังคงต้องใช้เวลาเปลี่ยนผ่านและการพัฒนาสักระยะใหญ่ๆ ทั้งเรื่องของความสามารถของภาษาและ Community
  • Objective-C เป็นภาษาเก่าแก่ที่ถูกพัฒนามากว่า 20 ปี คาดว่าหลายต่อหลายคนยังคงจะใช้ Objective-C ไปก่อนอีกนาน
  • Apple ต้องพยายามลดช่องว่างความยากของตัวภาษาในการเรียนรู้การพัฒนาโปรแกรมบน Mac OS X และ iOS เพื่อจูงใจนักพัฒนาหน้าใหม่ๆ
  • หลายคนที่ปรับตัวเองมาจากภาษาสคริปต์สมัยใหม่อย่าง Python, Ruby, Javascript ก็น่าจะเป็นอีกกลุ่มที่สนใจใช้ Swift ในการพัฒนา

ใส่ความเห็น