Karakteristik Bahasa C++

C++ Merupakan Bahasa Terkompilasi

Agar program buatan Anda dapat dijalankan, kode sumber harus melewati dua tahap pemrosesan. Kode yang Anda tulis hanyalah teks karakter yang tidak dapat dipahami komputer. Kompilator akan mengubah simbol teks tersebut menjadi perintah yang dapat dibaca CPU, yaitu bahasa mesin — satu-satunya rangkaian perintah yang bisa dieksekusi CPU baris demi baris.

  1. Kompilasi: Kompilator membaca file sumber dan menghasilkan file objek;
  2. Penautan: Penaut menggabungkan beberapa file objek untuk menghasilkan program yang dapat dieksekusi.

Sebuah proyek C++ umumnya terdiri dari banyak file sumber. Berikut diagram alur kerjanya:

File eksekusi yang dihasilkan terikat pada perangkat keras dan sistem operasi tertentu, tidak dapat digunakan secara langsung lintas platform (program Mac tidak bisa berjalan langsung di komputer Windows).

Yang biasa disebut portabilitas C++ merujuk pada portabilitas kode sumber: satu set kode sumber yang sama dapat dikompilasi secara terpisah di berbagai sistem dan berjalan normal.

Artinya, file exe yang dikompilasi di Windows tidak bisa disalin ke Mac lalu langsung berjalan. Anda harus menyalin teks sumber yang sama (file .cpp dan .h) ke Mac, kemudian kompilasi ulang menggunakan kompilator C++ milik Mac untuk menghasilkan program yang kompatibel dengan macOS.

Standar ISO C++

Standar ISO C++ mendefinisikan dua komponen utama

  1. Fitur Inti Bahasa: Kemampuan dasar bawaan bahasa itu sendiri, contohnya tipe bawaan char/int, perulangan for/while, dan lain-lain.
  2. Komponen Pustaka Standar: Kumpulan alat resmi pendamping, meliputi kontainer vector/map, output dengan operator <<, pembacaan input dengan fungsi getline() serta operasi IO lainnya.

Seluruh pustaka standar diimplementasikan dengan kode C++ murni dan tertanam di semua kompilator utama. Hanya beberapa skenario tingkat rendah (seperti peralihan konteks utas) yang menggunakan sedikit bahasa mesin.

Mengapa kita memerlukan pustaka standar? Pustaka standar konsepnya mirip dengan SDK yang sering kita dengar sekarang. Tujuannya adalah mengurangi beban kerja pengembang C++. Jika setiap fungsi dasar harus dikembangkan ulang dari awal oleh setiap pemrogram, bahasa ini tidak akan populer. Contohnya, jika setiap orang harus menulis kode sendiri untuk menampilkan teks di konsol, akan ada banyak pekerjaan berulang. Untuk menyelesaikan masalah ini, perancang C++ menulis sekumpulan kode lengkap, dikompilasi menjadi pustaka (.lib) dan disediakan untuk digunakan ulang. Singkatnya, hal ini menghindari pembuatan roda ulang, meningkatkan efisiensi pengembangan secara drastis dan menarik lebih banyak pengguna.

Pustaka standar tidak mengandalkan trik sintaks khusus, ia ditulis sepenuhnya dalam C++. Anda dapat membaca seluruh kode sumbernya dan membuat alat serupa secara kustom.

C++ Merupakan Bahasa Tipe Statis

Untuk semua variabel, nilai, pengenal, dan ekspresi, kompilator harus mengetahui tipe datanya dengan jelas pada posisi penggunaan di kode. Tipe suatu objek secara langsung menentukan operasi apa saja yang dapat dijalankan padanya.

Kelebihan Utama Tipe Statis: Pemeriksaan tipe dilakukan saat kompilasi. Banyak kesalahan langsung tertangkap kompilator saat menulis kode, sehingga program tidak crash saat dijalankan, menyeimbangkan keamanan dan performa. Penjelasannya: saat kompilator mengubah kode Anda menjadi bahasa mesin, ia akan mengeluarkan pesan error jika menemukan ketidakcocokan tipe. Misalnya menyimpan nama teks ke variabel bilangan bulat yang seharusnya menampung umur akan memicu error kompilasi. Kesalahan kompilasi dapat diperbaiki segera oleh pengembang, sedangkan kesalahan saat runtime jauh lebih sulit ditangani terutama jika perangkat lunak sudah dibagikan ke pengguna akhir.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *