Jejak Fisik di Balik Kode: Mengapa Kita Menyebutnya Begitu?
Membangun perangkat lunak di zaman modern sering kali membuat kita lupa bahwa bahasa yang kita gunakan sehari-hari—seperti print, bug, hingga patch—sebenarnya adalah “warisan” dari tumpukan besi, kabel, dan kertas di masa lalu.
Baru-baru ini, saya menonton sebuah video luar biasa dari kanal YouTube Core Dumped yang berjudul “How History Shaped the Programming Terms We Still Use Today”. Video ini benar-benar membuka mata saya tentang bagaimana sejarah fisik komputer membentuk jargon software engineering yang kita pakai sekarang. Mari saya ceritakan beberapa temuan menariknya.
Core Dumped
1. Pesan Horor “Core Dumped”
Jika programmu crash di lingkungan Linux, kamu mungkin pernah melihat pesan segmentation fault (core dumped). Tahukah kamu bahwa “Core” di sini merujuk pada benda fisik nyata?
Dulu, memori komputer (RAM) terbuat dari ribuan cincin magnetik kecil yang disebut magnetic core memory [01:11]. Setiap cincin mewakili satu bit (0 atau 1). Ketika komputer mati atau crash, para insinyur perlu memeriksa isi dari “cincin-cincin” tersebut untuk mencari tahu apa yang salah. Proses menyalin seluruh isi memori fisik ke dalam sebuah file disebut “dumping the core”. Jadi, meskipun sekarang RAM kita terbuat dari transistor silikon, kita masih “membuang isi inti” setiap kali terjadi kesalahan fatal [04:24].
Magnetic Core Memory
2. Misteri Fungsi print() (Padahal Tidak Ada Kertas)
Pernahkah kamu merasa aneh saat mengetik print("Hello World") tapi yang muncul hanya tulisan di layar monitor, bukan di kertas printer?
Alasannya adalah di tahun 1950-an, monitor belum lazim digunakan. Alat output utama adalah teletype—semacam mesin tik yang dihubungkan ke komputer [10:44]. Setiap kali komputer ingin memberikan jawaban, ia benar-benar mencetak (print) jawaban itu di atas kertas. Ketika monitor (terminal) mulai menggantikan kertas, para pemrogram saat itu malas mengubah nama fungsinya karena terlalu berisiko dan melelahkan untuk mengganti ribuan baris kode secara manual tanpa bantuan IDE modern [16:14].
Teletype
3. Asal-Usul “Bug” dan “Debugging”
Cerita ini mungkin yang paling populer, tapi ada detail menarik di dalamnya. Pada tahun 1947, Laksamana Madya Grace Hopper menemukan seekor ngengat yang terjepit di dalam relay (saklar mekanis) komputer Mark II miliknya, yang menyebabkan kerusakan sistem [07:04].
Ngengat itu kemudian ditempel di buku log dengan catatan: “First actual case of bug being found.” Menariknya, istilah “bug” sendiri sebenarnya sudah digunakan oleh para insinyur (termasuk Thomas Edison) sejak abad ke-19 untuk mendeskripsikan cacat teknis, namun peristiwa ngengat inilah yang membuat istilah tersebut abadi di dunia komputer [06:44].
Bug di dalam Relay
4. Menambal Kode dengan “Patch”
Kenapa pembaruan perangkat lunak disebut patch? Di masa lalu, data dimasukkan melalui kartu berlubang (punch cards) atau pita kertas. Jika ada kesalahan pada satu bit, kamu tidak bisa “menghapus” lubang yang sudah terlanjur dibuat. Solusi cerdiknya? Para insinyur menempelkan selotip atau tambalan (patch) di atas lubang yang salah tersebut agar komputer membacanya sebagai angka nol [09:23]. Itulah mengapa hingga sekarang, memperbaiki kode disebut sebagai “patching”.
Punch Card
Apresiasi untuk @CoreDumped: Seni Menjelaskan Hal Rumit
Di sela-sela cerita ini, saya ingin memberikan apresiasi khusus untuk kanal YouTube Core Dumped. Jarang sekali saya menemukan kanal teknologi yang mampu memberikan penjelasan se-deep (mendalam) ini namun tetap terasa menarik.
Ada dua hal yang membuat saya sangat mengagumi karya George di kanal ini:
- Narasi yang Terstruktur: Penjelasannya tidak hanya teknis, tapi memiliki alur sejarah yang kuat. Kita tidak hanya diajarkan “apa”, tapi juga “mengapa”.
- Animasi yang Memanjakan Mata: @CoreDumped menggunakan animasi visual yang sangat halus dan cerdas untuk menggambarkan cara kerja konsep-konsep teknis di dunia software engineering. Padahal menurut pengakuan George ia hanya membuat slide-nya menggunakan Microsoft Power Point
Jika kamu adalah seorang engineer yang ingin memahami akar dari apa yang kamu kerjakan setiap hari, video ini adalah tontonan wajib.
Penutup: Belajar dari Masa Lalu
Mengingat kembali sejarah ini membuat saya sadar bahwa software engineering bukanlah ilmu yang muncul tiba-tiba dari ruang hampa. Ia adalah akumulasi dari solusi-solusi fisik atas keterbatasan di masa lalu. Terkadang, untuk menjadi engineer yang lebih baik di masa depan, kita perlu menoleh sejenak ke belakang dan memahami “besi tua” yang mendasarinya.
Bagaimana menurutmu? Apakah ada istilah lain yang membuatmu penasaran asal-usulnya?
Komentar & Diskusi