Trước hết tôi muốn có một câu trả lời thực sự, tôi luôn cố gắng kiếm được nhiều hơn từ nhiều nguồn và bài viết khác nhau, và khi tôi đọc những thứ như C ++ thì chậm vì nó có chức năng ảo và vì C này tốt hơn , tôi thực sự không biết nói gì và nghĩ như một con người với bộ não. Vì vậy, xin vui lòng tránh để đạt đến cấp độ này trong câu trả lời của bạn.
Câu hỏi của tôi là về một sự chuyển đổi lớn sang C ++ đã được hoàn thành, ít nhiều, với Doom 3.
Điều thú vị đối với tôi là trước cột mốc này, hầu hết các công cụ trò chơi và bản thân trò chơi đều được viết bằng C, giống như từ thời Quake . Thật thú vị khi lưu ý rằng phần mềm ID quyết định viết lại hoàn toàn cơ sở mã cho IdTech 4 trong C ++, một số lượng lớn công việc mà tôi không thể hiểu được nếu không có danh sách lý do thực sự tốt.
Tôi đang tập trung vào Doom 3 vì tôi chủ yếu quan tâm đến thế giới OpenGL và trong hành trình của mình, tôi cố gắng tập trung vào chủ đề này, vì vậy tôi đã đọc rất nhiều về điều này, nhưng tôi nghĩ rằng một câu hỏi như thế có thể là API kết xuất -không có quá nhiều vấn đề.
Tại sao tại một thời điểm nhất định, ngành công nghiệp chuyển đổi ồ ạt sang C ++? Các lý do cho sự lựa chọn mà ID đã thực hiện là gì?
Điều cuối cùng mà tôi muốn nói là ngôn ngữ C đơn giản hơn nhiều để thực hiện và cung cấp số lượng tính năng ít hơn, vì điều này ít có cơ hội bị "phân mảnh" thành các phần không giống như C ++ thực sự thường làm. Nói một cách đơn giản, tôi có nhiều cơ hội hơn để tìm một trình biên dịch C thực sự tốt hơn là một trình biên dịch C ++ tốt với tất cả các tính năng được triển khai theo cách tốt.
Ví dụ, NDK cho Android vẫn không hỗ trợ C ++ tốt (với bản phát hành r8b) với tất cả các tính năng mới nhất và tốt nhất, và đó là bộ công cụ gốc dành cho HĐH di động phổ biến nhất trên thế giới!
Nếu tôi đã viết mã của mình trong một C ++ hiện đại, có lẽ tôi sẽ bị đau bây giờ vì một trong những hệ điều hành phổ biến nhất trên thế giới sẽ vượt quá giới hạn đối với tôi. Và giống như Android, nhiều trình biên dịch khác không phải là tuyệt vời.
Tôi có nên viết mã C ++ liên quan đến phiên bản C ++ đã cũ 2-3 không?