Lompat ke konten
Kembali ke modul

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.

CompilerInterpreter
Kapan menerjemahkanSemuanya, sebelum dijalankanBaris per baris, saat berjalan
Yang kamu kirimFile biner hasil terjemahanKode sumbermu
Error munculSebelum program mulaiSaat baris itu tercapai
ContohGo, Rust, CPython 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.

Coba sendiri

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.