Welcome to Swift!
Swift เป็นภาษาคอมพิวเตอร์สำหรับพัฒนาแอพพลิเคชั่นของ macOS iOS watchOS และ tvOS ที่ทั้งทรงพลังและใช้งานง่ายมากๆ จนทำให้การเขียน Swift code นั้นสนุกกว่าการเขียนโปรแกรมภาษาอื่นๆ รูปแบบการเขียนของ Swift นั้นก็ไม่ยาก มันทำให้โปรแกรมดูกระชับและเข้าใจง่ายเหมือนการเขียนประโยคทั่วๆไปในชีวิตประจำวันของเรา นอกเหนือจากนั้น Swift ยังมีความพิเศษอีกหลายอย่างที่ทำให้นักพัฒนาหลายต่อหลายคนต้องตกหลุมรัก
Introducing Swift 3
Swift 3 คือการผสมผสานอย่างลงตัวของภาษาและการแสดงผลสำหรับผู้ใช้ การปรับปรุงของ Swift ทำให้การเขียนโปรแกรมของเราดูเป็นธรรมชาติในขณะที่โปรแกรมของเรามีการพัฒนาอย่างต่อเนื่อง ตัวอย่างเช่น การใช้งานตัวแปรสำหรับการระบุวันและเวลาที่ทำได้เร็วกว่าที่ผ่านมา และการใช้ตัวแปรสำหรับการระบุวันในปฎิทินที่ทำให้รู้สึกเหมือนการใช้งานในชีวิตจริง
“เมื่อก่อนอาจแทนวันจันทร์ด้วยเลข 1 แต่ Swift 3 แทนด้วย Monday ได้เลย”
Why Swift?
ทุกครั้งที่เราเจอภาษาใหม่ๆ เราก็มักจะเกิดคำถามอยู่เสมอ ว่าเป้าหมายของการออกแบบภาษานั้นๆขึ้นมาคืออะไร สำหรับ Swift แล้ว มันถูกออกแบบมาเพื่อ “แทนที่” ภาษา Objective-C เพราะภาษา Objective-C นั้นมีข้อบกพร่องเยอะ แต่การที่จะพูดว่า Swift เป็นภาษาที่ทันสมัยกว่า Objective-C โดยไม่ได้ระบุเหตุผล ก็อาจไม่น่าเชื่อเท่าไหร่ ดังนั้นจึงต้องมาดูกันว่า อะไรที่ทำให้ Swift เป็นภาษาที่ทันสมัยกว่า Objective-C
- Easier to read
Swift ก็เหมือนภาษาอังกฤษทั่วๆไป ทำให้มันง่ายต่อการอ่าน ไม่ว่าจะเป็นนักพัฒนาจากภาษาไหนๆ ก็สามารถที่จะปรับเปลี่ยนมาใช้ Swift ได้
- Easier to maintain
Xcode และ LLVM เป็น compiler สำหรับ Swift ที่สามารถระบุการเกี่ยวข้องกันของส่วนของโปรแกรมได้ ดังนั้น การแบ่ง Header file (.h) ออกจาก Implementation file (.m) ก็จะเป็นสิ่งเก่าๆ Swift จะทำให้ทั้งสองส่วนรวมกันเป็นไฟล์เดียว (.swift) - Safer
สิ่งที่น่าสนใจอีกอย่างของ Objective-C คือเมื่อเราพยายามที่จะเรียก method ที่มี pointer variable เป็น nil(null) แล้ว ทั้งคำสั่งจะไม่ถูกประมวลผล ดูเหมือนว่าจะเป็นข้อดีที่โปรแกรมจะสามารถ execute ต่อไปได้ แต่จริงๆแล้วมันจะทำให้เกิด bugs เยอะมาก - Unified with memory management
เมื่อก่อนนักพัฒนาจะต้องเป็นคนจัดการ memory เอง แต่ตอนนี้ Automatic Reference Counting (ARC) จะทำหน้าที่นี้แทน ทำให้ตอนนี้นักพัฒนาสามารถให้ความสนใจแก่ตัวของผลงานได้มากขึ้น - Requires less code
Swift ลดจำนวนของ code ที่จำเป็นต่อการทำคำสั่งซ้ำและการจัดการ string ได้ จากที่เคยใช้ code จำนวนมากในการนำเอา string 2 ตัวมาต่อกันก็แทนที่ด้วย operator + ได้เลย - Faster
อ้างอิงจากผลการทดลองของ Primate Labs ผู้พัฒนาโปรแกรม GeekBench อันโด่งดัง พบว่า Swift เร็วขึ้นจริงๆ - Fewer name collision with open source project
Swift มี namespace ที่เชื่อมต่อถึงกันได้ทั้งโปรแกรมโดย classes หรือ values ก็จะมี namespace identifier ของตัวเอง ทำให้เราสามารถมีไฟล์ที่ทั้งชื่อและเนื้อหาเหมือนกันอยู่ในโปรแกรมเดียวกันได้ - Supports dynamic libraries
การเปลี่ยนแปลงครั้งใหญ่ของ Swift ที่ไม่ค่อยได้รับความสนใจก็คือการเปลี่ยนมาใช้ dynamic libraries สิ่งนี้จะทำให้แอพพลิเคชั่นเก่าๆสามารถเชื่อมต่อกับ Swift เวอร์ชันใหม่ได้
- Playground encourages interactive coding
Playground คือที่ที่นักพัฒนาสามารถสร้างส่วนของโปรแกรมขึ้นมา เพื่อทำการทดลองก่อนที่ะนำไปพัฒนาต่อได้ โดยที่ไม่ต้องสร้างทั้งแอพลิเคชั่น - Swift is a future you can influence
Swift มี community ที่สามารถสื่อสารโดยตรงกับนักพัฒนาทั่วทุกมุมโลกได้ ทำให้การเรียน Swift นั้นไม่ยาก