Là mục tiêu-C ++ đang được loại bỏ? [đóng cửa]


10

Là táo giảm dần hỗ trợ cho object-c ++? Lưu ý những điều dưới đây:

  • Trong hướng dẫn sử dụng ngôn ngữ Objective-C , đã từng có một phần về pha trộn object-c và c ++. Phần đó hiện đang thiếu.
  • Liên kết đến các bài viết về object-c ++ trên trang web của nhà phát triển apple dường như đã bị phá vỡ và hiện đang được chuyển hướng, ví dụ như bài viết này , mà tôi đã tìm thấy trong câu hỏi stackoverflow này .
  • Tìm kiếm c ++ trên trang web apple dev mang lại rất ít thông tin hiện tại.

Tôi có nên lo lắng về việc sử dụng c ++ để phát triển iOS không?

Câu trả lời:


19

Không, tôi sẽ không lo lắng về nó.

Trước hết, hai bộ công cụ biên dịch chính của Apple (gcc và clang) đều tiếp tục hỗ trợ nó. Trên thực tế, trang chính cho clang liên tục chỉ ra sự hỗ trợ cho Objective C ++ là "mục tiêu của dự án Clang".

Thứ hai, không giống như MSDN, Apple thường xuyên thay đổi tài liệu kỹ thuật trực tuyến của họ và các liên kết đến các bài viết trên trang web dành cho nhà phát triển của họ bị phá vỡ rất nhiều. Đó là một nỗi đau ở cổ - Tôi giữ một loạt tài liệu API API trên ổ cứng của mình vì tôi mệt mỏi vì phải tìm lại nó trực tuyến.

Lịch sử của Apple trong 27 năm tôi đã lập trình cho Mac là khi họ có kế hoạch loại bỏ API, họ sẽ rất thẳng thắn về nó và thường đưa ra thông báo năm năm trở lên dưới dạng thông báo công khai hoặc ít nhất là cảnh báo trình biên dịch. Vì vậy, tôi sẽ ngạc nhiên nếu họ chỉ lặng lẽ từ chối một ngôn ngữ lập trình mà nhiều, hàng ngàn nhà phát triển dựa vào.


2

Objective-C phù hợp để xử lý phần cụ thể của thiết bị trong ứng dụng của bạn. Nó làm cho việc phát triển một chương trình GUI thực sự dễ dàng. Mặt khác, C ++ là cần thiết khi bạn cần tính di động và / hoặc kiểm soát nhiều hơn những gì bạn đang làm.

Bạn đã bao giờ thử phát triển một ứng dụng dựa trên OpenGL với Objective-C chưa? Mã của bạn sẽ trở thành một mớ hỗn độn khó chịu (đặc biệt nếu bạn cần thực hiện nhiều phép toán vectơ vì Objective-C không hỗ trợ quá tải toán tử).

Nhiều thư viện cho OS X và iOS dựa vào C ++, vì vậy tôi sẽ không lo lắng về việc Apple bỏ hỗ trợ cho C ++ (ngay cả Apple cũng dựa vào nó.)


Nó nói về Objective-C ++ chứ không phải C ++
thay thế vào

1
@mathepic - Bản thân nó không phải là ngôn ngữ mà là một tính năng của trình biên dịch để biên dịch mã Objective-C và C ++.
Raphael

1

Hoàn toàn câu trả lời là không. Phần lớn thời gian chạy Objective-C và nhiều phần riêng tư của khung công khai và khung riêng tư cung cấp năng lượng cho phần mềm Apple được viết bằng Objective-C ++ ngày nay và điều đó sẽ không thay đổi.

Họ sử dụng nó để tận dụng các thư viện phần mềm nguồn mở hiện tại cũng như STL nơi có ý nghĩa. Clang được viết bằng C ++

Ồ và tất cả IOKit là C ++

Xcode có nhiều phần được viết bằng Objective-C ++

C ++ cho những điều hợp lý, Objective-C cho API và UI. (nói cách khác, phơi bày một API ổn định tuyệt vời được kết hợp với C ++ khi nó có ý nghĩa)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.