Perbedaan C dengan C++


Perbedaan antara bahasa pemrograman C dengan C++. Bahasa pemrograman C++ sesuai dengan namanya adalah pengembangan dari bahasa pemrograman C, dimana dalam C++ dapat menjalankan hampir semua code C, namun tidak demikian sebaliknya. Bahasa pemrograman C++ dianggap bahasa pemrograman dengan tingkat lebih tinggi dari C, karena C++ bersifat OOP (Object Oriented Programming) dan memberikan tambahan fungsi baru dari C.

<img src="c_cpp.jpg" alt="c_cpp">

Bjarne Stroustrup, yang menciptakan bahasa pemrograman C++ menjelaskan bahwa perbedaan dan ketidaksesuaian antara C dengan C++ haruslah diminimalkan. Hal tersebut bertujuan untuk mempermudah pertukaran penggunaan antara keduanya. Terdapat beberapa perbedaan antara kedua bahasa pemrograman tersebut, sebagian besar adalah kelebihan C++ atas C, yakni:
  • Bahasa pemrograman C menggunakan paradigma pemrograman secara prosedural, sedangkan C++ menggunakan lebih dari satu paradigma. Dimana pada bahasa pemrograman C penting untuk memberikan langkah prosedural, sedangkan pada C++ lebih mengutamakan data dibandingkan prosesnya.
  • Data pada bahasa pemrograman C kurang aman sedangkan pada C++ bersifat hidden sehingga cenderung lebih aman.
  • Bahasa pemrograman C menggunakan pendekatan top-down sedangkan C++ sebaliknya menggunakan pendekatan down-top.
  • Bahasa pemrograman C++ memungkinkan penggunaan function dalam structure program, sedangkan C tidak.
  • Bahasa pemrograman C tersusun atas function-driven, sedangkan C++ tersusun atas object-driven.
  • Bahasa pemrograman C++ mendukung exception handling sedangkan C tidak.
  • Fungsi standard input-output pada kedua bahasa pemrograman tersebut berbeda pada C menggunakan scanf untuk input dan printf untuk output. Sedangkan C++ menggunakan cin>> sebagai input dan cout<< sebagai output.
  • Dalam bahasa pemrograman C++ memungkinkan overloading, yakni dua function yang memiliki nama yang sama dalam satu program dengan menggunakan polymorphism, hal yang dimiliki OOP. Sedangkan bahasa pemrograman C tidak memungkinkan hal tersebut.
  • Pada bahasa pemrograman C mapping data dan function sulit dilakukan, sedangkan pada C++ mapping antara keduanya dapat dilakukan dengan menggunakan 'object'.
  • Pada bahasa pemrograman C tidak memungkinkan inheritance serta namespace, sedangkan C++ karena bersifat OOP memungkinkan inheritance serta namespace untuk menghindari collision. 
  • Bahasa pemrograman C lebih compatible dibandingkan C++ dalam hal pemrograman terkait hardware. Bahasa pemrograman C dapat digunakan untuk pemrograman microcontroller.
Lihat juga mengenai perbedaan antara macro dengan function.

Bila ada sesuatu yang belum jelas dan ingin tahu lebih dalam seputar project Arduino, pemrograman, dan elektronika, bisa bertanya pada bagian comment.