Welcome to Swift!

Swift เป็นภาษาคอมพิวเตอร์สำหรับพัฒนาแอพพลิเคชั่นของ macOS iOS watchOS และ tvOS ที่ทั้งทรงพลังและใช้งานง่ายมากๆ จนทำให้การเขียน Swift code นั้นสนุกกว่าการเขียนโปรแกรมภาษาอื่นๆ รูปแบบการเขียนของ Swift นั้นก็ไม่ยาก มันทำให้โปรแกรมดูกระชับและเข้าใจง่ายเหมือนการเขียนประโยคทั่วๆไปในชีวิตประจำวันของเรา นอกเหนือจากนั้น 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 ได้
Xcode
  • 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 เวอร์ชันใหม่ได้
Swift Playground on iPad
  • Playground encourages interactive coding
    Playground คือที่ที่นักพัฒนาสามารถสร้างส่วนของโปรแกรมขึ้นมา เพื่อทำการทดลองก่อนที่ะนำไปพัฒนาต่อได้ โดยที่ไม่ต้องสร้างทั้งแอพลิเคชั่น
  • Swift is a future you can influence
    Swift มี community ที่สามารถสื่อสารโดยตรงกับนักพัฒนาทั่วทุกมุมโลกได้ ทำให้การเรียน Swift นั้นไม่ยาก
One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.