Dalam rangka mencari perspektif baru, saya mencoba belajar bahasa pemrograman C++ (dibaca see plus plus). Bahasa pemrograman yang sudah tua tetapi masih dipakai hingga sekarang dan seterusnya.

Kenapa belajar C++?

Waktu itu saya mendengar episode Berkarir Di Industri Riset High-Tech podcast Ujung ke Ujung milik mas Asep dan mbak Radita Liem. Mbak Radita sempat membahas tentang proyek LLVM yang dibangun dengan C++. Apple pun menggunakan LLVM di ekosistem mereka.

Hal di atas menjadi dorongan yang kuat kenapa saya mau belajar C++. Alasan lainnya saya lagi suka-sukanya dengan produk Apple dan cara mereka mendesain hardware dan software dan berkualitas.

Saya sempat niat untuk fokus belajar Rust namun saya urungkan niat. Pertama, usianya masih 5 tahun. Kedua, masih banyak bug di dalam Rust saat tulisan ini dibuat. Ketiga, sintaksnya yang membuat saya cukup pusing.

Alasan-alasan di atas adalah murni dari pendapat saya. Bisa jadi tahun depan atau beberapa tahun ke depan saya akan belajar Rust. Rust sedang masih “mencari jati dirinya” dengan memperkaya fitur dan memperbaiki bug. Saya menunggu hingga Rust bisa dikatakan stabil.

Kita kembali ke topik C++.

Saya menemukan dua tempat bagus untuk belajar C++ yakni Kelas Terbuka dan Codecademy. Pointer adalah konsep C++ yang langsung cari karena saya mendengar banyak software developer yang belajar C++ bingung tentang konsep ini.

Saya pun sempat bingung dengan sintaks pointer. Untungnya, Codecademy memberikan sebuah penjelasan yang sederhana bagaimana membedakan sintaks pointer.

1
2
3
4
5
6
7
8
#include <iostream>
int main() {
int power = 9000;
// When * is used in declaration, it's creating a pointer
int* ptr = &power;
// When * is not used in a declaration, it's a dereference operator.
  std::cout << *ptr << std::endl;
}