Tags:
Node Thumbnail

แอปเปิลเปิดตัวภาษา 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 ทดแทนต่อไป

No Description

เขาบอกว่าอนาคตของ 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

ที่มา - Apple, Infoworld

Get latest news from Blognone

Comments

By: sMaliHug on 16 June 2024 - 10:43 #1314670

ไม่ค่อยรู้ภาษานี้เลยครับ อยากรู้ว่าการนำไปใช้งานมันฟรีเหมือนภาษาCเลยหรือเปล่า หรือว่าจะมีประเด็นเรื่อง licence เหมือนJavaของ Oracle ที่สุดท้ายแล้วก็ตามเก็บค่า ซ้ำยังเงื่อนไขแบบงงๆ

By: PH41
ContributorAndroidUbuntuWindows
on 17 June 2024 - 02:12 #1314709 Reply to:1314670
PH41's picture

ตอนนี้เป็น Apache License 2.0 ครับ

ถ้าจะเอาระดับ C ต้องเปลี่ยนเป็น GNU License

By: ipats
ContributorNOOBIn Love
on 17 June 2024 - 15:23 #1314784 Reply to:1314709

Apache License เปิดกว้างกว่า GPL นะครับ คือจะเอาไปต้มยำทำแกงอะไรก็ได้ เอาไปแก้แล้วไม่เปิดฟรีแบบต้นฉบับก็ยังได้ ระดับเดียวกับ MIT/BSD เลย


iPAtS

By: Alysium on 16 June 2024 - 11:42 #1314673

"เขาบอกว่าอนาคตของ Swift ในอีก 10 ปีข้างหน้า ต้องการขยายฐานผู้ใช้งานให้กว้างขึ้นกว่าเดิม"

ถ้าต้องรออีกสิบปี คนน่าจะใช้ rust มากกว่ามั้ง เอนจิ้นเจ้าใหญ่ก็ใช้ c++ เป็นแกนกลางอยู่เลย

By: PH41
ContributorAndroidUbuntuWindows
on 17 June 2024 - 02:13 #1314710 Reply to:1314673
PH41's picture

คิดว่างั้น แต่ Swift ก็ง่ายกว่า เพราะมันใข้ ARC ไม่ต้องมาจัดการ memory เองขนาดนั้น

By: tom789
Windows Phone
on 16 June 2024 - 12:28 #1314675

เอาไปเขียน โปรแกรมแล้ว ลง ระบบอื่นๆ ได้ไหม
การมีภาษาเขียนโปรแกรมของตัวเอง วางรากฐานมั่นคงดีนะ คนก็ต้องเข้ามาใช้ แล้วหนีจากไมได้อีกนาน

By: PH41
ContributorAndroidUbuntuWindows
on 17 June 2024 - 02:15 #1314711 Reply to:1314675
PH41's picture

ได้ครับ ลง Windows Linux Android ได้หมด แต่ต้องแบก engine (lib) มันไปด้วย (ข้อมูลผมหลายปีแล้ว ปัจจุบันไม่แน่ใจ)

By: rattananen
AndroidWindows
on 16 June 2024 - 12:59 #1314678

เพื่อลดความซับซ้อนของการใช้ภาษา C, C++, Objective-C

ถ้าภาษา C ซับซ้อน แล้วถ้าภาษาอื่นน่าจะยุ่งเหยิงกันเลยทีเดียว

By: Kazu
iPhoneWindows PhoneAndroidUbuntu
on 16 June 2024 - 15:26 #1314685 Reply to:1314678

ลองใช้CเขียนOOPดูครับ

By: rattananen
AndroidWindows
on 16 June 2024 - 19:24 #1314693 Reply to:1314685

ที่ไม่ซับซ้อนเพราะมันไม่มี feature อะไรไงครับ
เขียนอย่างไรได้อย่างนั้น ไม่จำเป็นต้อง mangling

และที่จริง OOP มันเป็นวิธีคิดน่ะครับ อยู่ที่จะ implement อย่างไรเท่านั้น
ฉะนั้น C ก็ทำได้นะครับ
Polymorphism C style https://godbolt.org/z/aWa4r7a7o

By: PandaBaka
iPhoneAndroidWindows
on 16 June 2024 - 16:08 #1314689 Reply to:1314678
PandaBaka's picture

ฝั่ง Apple ที่ลดความซับซ้อนน่าจะหมายถึง Objective-C ฮะ เดิมที่ภาษานี้นอกจากคำสั่งยาวเราต้องคอยมาโยน memory ทิ้งเองด้วย

By: big50000
AndroidSUSEUbuntu
on 16 June 2024 - 13:39 #1314681
big50000's picture

ถ้าพี่หัดแคร์แพลตฟอร์มอื่นเท่ากับแพลตฟอร์มตัวเอง คนอื่นก็พร้อมที่จะย้ายไปหาด้วย