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

ภาษาโปรแกรมเปรียบเสมือนภาษาตัวกลางที่นักพัฒนาโปรแกรมจะใช้สั่งงานคอมพิวเตอร์ เพราะมนุษย์คุยกับคอมพิวเตอร์ตรงๆ ไม่รู้เรื่อง ก็เลยต้องการภาษาตัวกลางที่เป็นภาษาที่ใกล้เคียงมนุษย์ (ที่นักพัฒนาสามารถอ่านออกเขียนได้) ทำให้เมื่อผ่านสิ่งที่เรียกว่านักแปลภาษา (Compiler) แล้วคอมพิวเตอร์ก็จะสามารถเข้าใจว่าตัวเองควรทำอะไร และ 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 vs Objective-C
ในหัวข้อนี้ จะไม่เขียนว่าภาษาไหนดีกว่า และนักพัฒนาควรจะพัฒนาด้วยภาษาไหน สิ่งที่จะเขียนก็คือการเปรียบเทียบว่าท่าเดิมในภาษา Objective-C นั้น เมื่อเขียนด้วย Swift จะเป็นอย่างไร ส่วนจะสวยขึ้นไหม เขียนง่ายขึ้นไหม ขึ้นอยู่กับการตัดสินใจ ประสบการณ์ และวิจารณญาณของนักพัฒนาแต่ละคน
- Dictionary Creation and How to Access

- String Sorting

- Delegation

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