Fondasi: Komputermu, Web, dan Alat Kerjamu · 1/7
Apa yang dilakukan komputer terhadap kodemu
Kode sumber itu cuma teks. Pelajari apa yang mengubah teks itu jadi sesuatu yang bisa dikerjakan prosesor.
Baca 18 menit
Setelah pelajaran ini kamu bisa
- Menjelaskan bedanya kode sumber dengan program yang sedang berjalan
- Menyebutkan apa yang dilakukan compiler dan interpreter
- Menjelaskan posisi JavaScript di antara keduanya
Saat kamu menulis kode, yang kamu tulis itu teks. Tidak lebih. File bernama app.js sama pasifnya dengan daftar belanja — cuma karakter yang tersimpan di disk. Ada sesuatu lain yang harus membaca teks itu dan menjalankannya.
Apa yang sebenarnya dimengerti prosesor
CPU hanya mengerti angka yang mengkodekan operasi yang sangat kecil: pindahkan nilai ini ke sini, jumlahkan dua ini, lompat ke posisi itu. Itu namanya machine code. Tidak ada CPU yang pernah mengerti kata function. Jadi setiap bahasa yang kamu pakai harus diterjemahkan turun ke angka-angka itu.
Ada dua cara klasik untuk melakukan penerjemahan itu, dan memahami keduanya yang nanti membuat perilaku JavaScript jadi masuk akal.
| Compiler | Interpreter | |
|---|---|---|
| Kapan menerjemahkan | Semuanya, sebelum dijalankan | Baris per baris, saat berjalan |
| Yang kamu kirim | File biner hasil terjemahan | Kode sumbermu |
| Error muncul | Sebelum program mulai | Saat baris itu tercapai |
| Contoh | Go, Rust, C | Python klasik, JavaScript klasik |
Di mana posisi JavaScript
JavaScript biasanya disebut interpreted, dan dulu itu benar. Sekarang ia bukan keduanya secara persis. Engine modern membaca kode sumbermu, langsung mulai menginterpretasinya supaya halaman tidak macet, dan *pada waktu yang sama* mengamati function mana yang paling sering jalan. Function yang "panas" itu dikompilasi jadi machine code sungguhan sementara programmu sudah berjalan. Itu disebut JIT — just-in-time compilation.
Kamu belum perlu detailnya — ada satu pelajaran khusus soal engine nanti. Yang penting sekarang adalah gambaran besarnya: teksmu bukan yang benar-benar dijalankan. Selalu ada sesuatu yang menerjemahkannya lebih dulu, dan sesuatu itu membuat pilihan yang bisa kamu bantu atau kamu hambat.
Kode ini sedang berjalan sekarang, di browser kamu, diterjemahkan oleh engine yang dijelaskan di atas. Ubah angkanya lalu tekan Jalankan.
Hasil
Tekan Jalankan untuk melihat hasilnya.
Ini jalan di browser kamu, di dalam sandbox. Apa pun yang kamu tulis di sini tidak bisa merusak situs.
Tugas praktik
Buat file bernama first.js di komputermu. Isi dengan satu console.log. Lalu jalankan dua cara: buka console browser dan tempel isinya, dan jalankan node first.js di terminal. Teks yang sama, dua penerjemah berbeda.
Hasil yang diharapkan
Baris yang sama tercetak di kedua tempat.