Object-C ++ ถูกเลิกใช้หรือไม่ [ปิด]


10

แอปเปิ้ลยกเลิกการสนับสนุนวัตถุประสงค์ -c ++ หรือไม่ หมายเหตุดังต่อไปนี้:

  • ในคู่มือภาษา Objective-Cเคยมีส่วนในการผสมระหว่าง Object-c และ c ++ ส่วนนั้นหายไป
  • ลิงก์ไปยังบทความเกี่ยวกับวัตถุประสงค์ c ++ บนเว็บไซต์ผู้พัฒนาแอปเปิ้ลดูเหมือนว่าจะไม่สามารถใช้งานได้และตอนนี้ถูกเปลี่ยนเส้นทางเช่นบทความนี้ซึ่งฉันพบในคำถามสแต็คโอเวอร์โฟลว์นี้
  • การค้นหา c ++ บนเว็บไซต์ apple dev จะทำให้ข้อมูลปัจจุบันมีน้อยมาก

ฉันควรกังวลเกี่ยวกับการใช้ c ++ สำหรับการพัฒนา iOS หรือไม่

คำตอบ:


19

ไม่ฉันไม่ต้องกังวลกับมัน

ก่อนอื่นเครื่องมือสำหรับคอมไพเลอร์หลักของ Apple สองตัว (gcc และ clang) ทั้งคู่ยังคงให้การสนับสนุนต่อไป ในความเป็นจริงหน้าหลักสำหรับเสียงดังกราวซ้ำ ๆ บ่งชี้ว่าการสนับสนุน Objective C ++ เป็น "เป้าหมายของโครงการเสียงดังกราว"

ข้อที่สองต่างจาก MSDN บ่อยครั้งที่ Apple ทำการเปลี่ยนแปลงเอกสารทางเทคนิคออนไลน์และลิงก์ไปยังบทความในเว็บไซต์นักพัฒนาของพวกเขาเป็นจำนวนมาก นั่นเป็นอาการปวดที่คอ - ฉันเก็บเอกสาร QuickTime API ไว้ในฮาร์ดไดรฟ์ของฉันเพราะฉันเบื่อที่จะต้องกลับไปหามันออนไลน์

ประวัติศาสตร์ของ Apple ในช่วง 27 ปีที่ฉันเขียนโปรแกรมสำหรับ Mac คือเมื่อพวกเขาวางแผนที่จะเลิกใช้ API พวกเขารู้ล่วงหน้าเกี่ยวกับเรื่องนี้มากและโดยทั่วไปจะแจ้งให้ทราบเป็นเวลาห้าปีหรือมากกว่านั้นในรูปแบบประกาศสาธารณะ หรืออย่างน้อยคำเตือนของคอมไพเลอร์ ดังนั้นฉันจึงประหลาดใจถ้าพวกเขาเลิกใช้ภาษาโปรแกรมอย่างเงียบ ๆ ที่นักพัฒนาซอฟต์แวร์หลายพันคนพึ่งพา


2

Objective-C เหมาะสำหรับจัดการกับส่วนเฉพาะอุปกรณ์ของแอปพลิเคชันของคุณ มันทำให้การพัฒนาโปรแกรม GUI นั้นง่ายมาก ในทางกลับกัน C ++ นั้นเป็นสิ่งจำเป็นที่คุณต้องการความสะดวกในการพกพาและ / หรือควบคุมสิ่งที่คุณกำลังทำอยู่

คุณเคยพยายามพัฒนาแอปพลิเคชั่นที่ใช้ OpenGL กับ Objective-C หรือไม่? รหัสของคุณจะกลายเป็นระเบียบที่น่ารังเกียจ (โดยเฉพาะถ้าคุณต้องการทำคณิตศาสตร์เวกเตอร์จำนวนมากเนื่องจาก Objective-C ไม่รองรับการใช้งานเกินกำลัง)

ห้องสมุดหลายแห่งสำหรับ OS X และ iOS ใช้ C ++ ดังนั้นฉันจึงไม่ต้องกังวลกับการที่ Apple ปล่อยการสนับสนุน C ++ (แม้แต่ Apple ก็ยังต้องพึ่งพา)


มันพูดถึง Objective-C ++ ไม่ใช่ C ++
ทางเลือก

1
@mathepic - ซึ่งไม่ใช่ภาษา แต่เป็นคุณลักษณะของคอมไพเลอร์เพื่อคอมไพล์รหัส Objective-C และ C ++
Raphael

1

แน่นอนคำตอบคือไม่ รันไทม์ Objective-C จำนวนมากและชิ้นส่วนส่วนตัวของกรอบงานสาธารณะและเฟรมเวิร์กส่วนบุคคลที่ใช้ซอฟท์แวร์ของ Apple ที่เขียนใน Objective-C ++ ในวันนี้และไม่น่าจะเปลี่ยนแปลง

พวกเขาใช้มันเพื่อใช้ประโยชน์จากไลบรารีซอฟต์แวร์โอเพ่นซอร์สที่มีอยู่เช่นเดียวกับ STL ที่เหมาะสม เสียงดังกราวเขียนด้วยภาษา C ++

โอ้และ IOKit ทั้งหมดคือ C ++

Xcode มีหลายส่วนที่เขียนใน Objective-C ++

C ++ สำหรับสิ่งที่สมเหตุสมผลสำหรับ Objective-C สำหรับ API และ UI (กล่าวอีกนัยหนึ่งคือเปิดเผย API ที่มีเสถียรภาพที่ยอดเยี่ยมซึ่งมีการดิ่งด้วย C ++ ที่เหมาะสม)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.