ที่นี่เราจะดูความแตกต่างพื้นฐานระหว่าง C++, Java และ Python ก่อนจะดูความแตกต่างระหว่าง C++ และ Java แล้วตามด้วย Java และ Python
| หัวข้อ | C++ | Java |
|---|---|---|
| การจัดการหน่วยความจำ | ใช้ pointers, structures, unions และ references | ไม่รองรับ pointers รองรับ references รองรับ Threads, interfaces |
| ไลบรารี | ไลบรารีฟังก์ชันระดับต่ำ (Low level functional libraries) | ไลบรารีหลากหลาย พร้อมฟังก์ชันต่างๆ มากมาย |
| Multiple Inheritance | รองรับ multiple inheritance ด้วยคลาสทั่วไป | รองรับ multiple interface เท่านั้น (pure abstract classes) |
| Operator Overloading | รองรับ operator overloading | ไม่รองรับ operator overloading |
| การจัดการโปรแกรม | ฟังก์ชันและตัวแปรสามารถอยู่ภายนอกคลาสได้ | ฟังก์ชันและตัวแปรต้องอยู่ในคลาสหรือแพ็กเกจเท่านั้น |
| Portability (ความเคลื่อนย้ายได้) | โค้ดขึ้นอยู่กับแพลตฟอร์ม ต้อง recompile | Platform independent คอมไพล์แล้วรันได้ทุกแพลตฟอร์มที่มี JVM |
| Thread Support | ไม่มี built-in threads | มี built-in threads |
ต่อไปมาดูความแตกต่างระหว่าง Java และ Python
| หัวข้อ | Java | Python |
|---|---|---|
| กระบวนการคอมไพล์ | โค้ดถูกคอมไพล์ด้วยคอมไพเลอร์ | โค้ดถูกแปลด้วย Python interpreter |
| ความยาวโค้ด | จำนวนบรรทัดมากกว่า Python | จำนวนบรรทัดน้อยกว่า Java |
| Syntax | แต่ละบล็อกแยกด้วย braces {} แต่ละบรรทัดจบด้วย semicolon | แต่ละบล็อกแยกด้วย indentation ไม่ต้องการ semicolon |
| ความสะดวกในการพิมพ์ | Strongly typed ตัวแปรต้องกำหนด datatype ก่อน | Dynamic typing ไม่ต้องระบุ datatype |
| ความเร็วในการรัน | Java เร็วกว่า Python | Python ช้ากว่า Java |
| Multiple Inheritance | รองรับ multiple inheritance ผ่าน interfaces เท่านั้น | รองรับ multiple inheritance โดยตรง |