แอปเปิลเปิดตัวภาษา Swift ครั้งแรกในปี 2014 เพื่อเป็นภาษาหลักสำหรับพัฒนาแอพบน iOS และ macOS แทน Objective-C ของเดิม
ปีนี้ถือเป็นการครบรอบ 10 ปีของภาษา Swift ซึ่งในงาน WWDC 2024 สัปดาห์ที่แล้วก็มีการฉลองกันเล็กๆ น้อยๆ ในเรื่องนี้
Ted Kremenek ผู้อำนวยการฝ่าย Languages & Runtimes ของแอปเปิล กล่าวในหัวข้อ Platforms State of the Union ของ WWDC ว่า Swift เกิดขึ้นมาเพื่อลดความซับซ้อนของการใช้ภาษา C, C++, Objective-C ลง ซึ่งตอนนี้มีแอพที่สร้างด้วย Swift มากกว่า 1 ล้านตัวแล้ว และไม่ใช่แค่แอพอย่างเดียว เพราะแอปเปิลเองก็นำ Swift ไปใช้เขียนส่วนต่างๆ ของระบบปฏิบัติการ ลงไปจนถึงชั้นของเฟิร์มแวร์ด้วย แม้กระทั่ง ระบบเซิร์ฟเวอร์ Private Cloud Compute ตัวใหม่ ก็เขียนส่วนเครือข่ายด้วย Swift เช่นกัน
Kremenek บอกว่า Swift ตอบโจทย์ทั้งเรื่องความปลอดภัยของหน่วยความจำ (safety), ประสิทธิภาพ (speed) และการเรียนรู้ได้ง่าย (approachability) แถมยังทำงานร่วมกับ C/C++ ได้ จึงเป็นภาษาที่เหมาะที่สุดในการใช้แทน C++ ซึ่งแอปเปิลก็กำลังค่อยๆ เปลี่ยนผ่านโค้ดเดิมที่เป็น C++ มาใช้ Swift ทดแทนต่อไป
เขาบอกว่าอนาคตของ Swift ในอีก 10 ปีข้างหน้า ต้องการขยายฐานผู้ใช้งานให้กว้างขึ้นกว่าเดิม เช่น การพัฒนาส่วนขยาย Swift บน Visual Studio Code และ IDE ตัวอื่นที่รองรับ Language Server Protocol, ขยายลินุกซ์ดิสโทรที่รองรับให้มากขึ้น เพิ่ม Debian และ Fedora จากเดิมที่รองรับ Ubuntu, CentOS, Amazon Linux, Red Hat อยู่แล้ว อีกทั้งจะพัฒนาการใช้งานบนวินโดวส์ให้ดีขึ้น
แอปเปิลยังเปิด หน้าเพจองค์กร Swift บน GitHub เพื่อเป็นโฮสต์โครงการต่างๆ ที่เกี่ยวกับ Swift รวมกันไว้ที่เดียว แทนการใช้ชื่อ "Apple" เพื่อให้ชุมชนผู้ใช้งานมีส่วนร่วมมากขึ้น
ปีนี้แอปเปิลยังจะออก Swift 6.0 ที่มีฟีเจอร์สำคัญอย่าง data-race safety เพื่อป้องกันปัญหาการแย่งกันเข้าถึงข้อมูลตัวเดียวกัน (data race) แล้วทำงานผิดพลาด (รายละเอียด) ตอนนี้ Swift 6.0 อยู่ระหว่างการทดสอบ และตั้งเป้าออกรุ่นเสถียรในเดือนกันยายน 2024
Comments
ไม่ค่อยรู้ภาษานี้เลยครับ อยากรู้ว่าการนำไปใช้งานมันฟรีเหมือนภาษาCเลยหรือเปล่า หรือว่าจะมีประเด็นเรื่อง licence เหมือนJavaของ Oracle ที่สุดท้ายแล้วก็ตามเก็บค่า ซ้ำยังเงื่อนไขแบบงงๆ
ตอนนี้เป็น Apache License 2.0 ครับ
ถ้าจะเอาระดับ C ต้องเปลี่ยนเป็น GNU License
Apache License เปิดกว้างกว่า GPL นะครับ คือจะเอาไปต้มยำทำแกงอะไรก็ได้ เอาไปแก้แล้วไม่เปิดฟรีแบบต้นฉบับก็ยังได้ ระดับเดียวกับ MIT/BSD เลย
iPAtS
"เขาบอกว่าอนาคตของ Swift ในอีก 10 ปีข้างหน้า ต้องการขยายฐานผู้ใช้งานให้กว้างขึ้นกว่าเดิม"
ถ้าต้องรออีกสิบปี คนน่าจะใช้ rust มากกว่ามั้ง เอนจิ้นเจ้าใหญ่ก็ใช้ c++ เป็นแกนกลางอยู่เลย
คิดว่างั้น แต่ Swift ก็ง่ายกว่า เพราะมันใข้ ARC ไม่ต้องมาจัดการ memory เองขนาดนั้น
เอาไปเขียน โปรแกรมแล้ว ลง ระบบอื่นๆ ได้ไหม
การมีภาษาเขียนโปรแกรมของตัวเอง วางรากฐานมั่นคงดีนะ คนก็ต้องเข้ามาใช้ แล้วหนีจากไมได้อีกนาน
ได้ครับ ลง Windows Linux Android ได้หมด แต่ต้องแบก engine (lib) มันไปด้วย (ข้อมูลผมหลายปีแล้ว ปัจจุบันไม่แน่ใจ)
ถ้าภาษา C ซับซ้อน แล้วถ้าภาษาอื่นน่าจะยุ่งเหยิงกันเลยทีเดียว
ลองใช้CเขียนOOPดูครับ
ที่ไม่ซับซ้อนเพราะมันไม่มี feature อะไรไงครับ
เขียนอย่างไรได้อย่างนั้น ไม่จำเป็นต้อง mangling
และที่จริง OOP มันเป็นวิธีคิดน่ะครับ อยู่ที่จะ implement อย่างไรเท่านั้น
ฉะนั้น C ก็ทำได้นะครับ
Polymorphism C style https://godbolt.org/z/aWa4r7a7o
ฝั่ง Apple ที่ลดความซับซ้อนน่าจะหมายถึง Objective-C ฮะ เดิมที่ภาษานี้นอกจากคำสั่งยาวเราต้องคอยมาโยน memory ทิ้งเองด้วย
ถ้าพี่หัดแคร์แพลตฟอร์มอื่นเท่ากับแพลตฟอร์มตัวเอง คนอื่นก็พร้อมที่จะย้ายไปหาด้วย