ฉันเห็นด้วยกับ @Kilian คำตอบ แต่ฉันจะเพิ่มองค์ประกอบบางอย่าง
1- ทำงานกับเครื่องเสมือนไม่ใช่ระบบปฏิบัติการ
เนื่องจาก Java และ C # ทำงานผ่านเครื่องเสมือนจึงคาดว่าจะมีเหตุผลที่คุณไม่สามารถทำสิ่งที่คุณต้องการได้เมื่ออยู่บนระบบปฏิบัติการโดยตรงเพราะคุณมีแนวโน้มที่จะทำให้บางสิ่งใน VM เสียหาย นอกจากนี้เมื่อ Java ถูกวางตัวเป็นผู้ไม่เชื่อเรื่องพระเจ้าแพลตฟอร์มมันเป็นตรรกะมากขึ้น
2- แอปพลิเคชั่นไม่จำเป็นต้องให้คุณต้องการของแบบนั้น
มีแอปพลิเคชั่นมากมายที่ไม่ต้องการให้คุณขุดลึกลงไปในรายละเอียดมากนัก แต่ถ้าคุณใช้ภาษาที่ต้องการให้คุณทำคุณจะได้รับ:
- ความเสี่ยงมากขึ้นที่จะมีข้อผิดพลาดเนื่องจากสิ่งที่ไม่จำเป็นเหล่านั้น
- ต้นทุนการพัฒนาที่มากขึ้นการจัดการหน่วยความจำและการทดสอบใช้เวลาและเงิน!
3- ภาษาถูกสร้างขึ้นมาเพื่อลดน้ำหนักค่าใช้จ่าย / การใช้งาน / ความเสี่ยงเช่น ... ทุกอย่าง
ด้วย C ++ คุณสามารถทำสิ่งที่คุณต้องการได้นั่นคือตัวเลือกของคน C ++ อย่างไรก็ตามยิ่งมีมากคุณจะต้องจัดการ
ดังนั้นสิ่งต่าง ๆ เช่นการสืบทอดหลาย ๆ อย่างไม่ได้ถูกยกเลิกเพียงเพราะความจริงที่ว่าพวกเขากำลังเป็นอันตรายพวกเขาถูกเลิกเพราะการใช้งานพวกเขามีค่าใช้จ่าย (การพัฒนาการบำรุงรักษา) ทั้งหมดสำหรับคุณลักษณะที่ไม่ค่อยได้ใช้อย่างถูกต้อง โดยทั่วไปจะเขียนใหม่แตกต่างกัน