Langsung ke konten utama

Javascript: Interpreted? Compiled?

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di materi javascript. Sebelum kita melanjutkan materi menuju framework frontend, kita perkuat dulu dasar atau fondasinya. 


Pada kali ini kita akan membahas tentang interpreter , compiler pada javascript. 

Javascript is scripting language

Javascript merupakan scripting language yang artinya ia menggunakan interpreter.  Berbeda dengan bahasa pemrograman lain misalkan Java ia menggunakan compiler yang menerjemahkan menjadi bahasa yang bisa dimengerti oleh mesin.


Interpreter vs Compiler

Interpreter:

  • Mentranslasi pernyataan program satu persatu
  • Memakan sedikit waktu untuk menganalisis kode. Namun, secara keseluruhan komparatif ia lebih lambat dibanding compiler
  • bahasa yang menggunakan: javascript, ruby, python.

Compiler

  • Scan seluruh program dan mentranslasikan semuanya kedalam machine code
  • Memakan lebih waktu untuk menganalisis kode. Namun, secara keseluruhan komparatif ia lebih cepat dibanding interpreter
  • bahasa yang menggunakan: java, c#, c / c++. 

 

src: programiz.com



Tapi...

Berdasarkan kebanyakan di internet javascript merupakan interpreted language. Tapi sebenarnya tidak sepenuhnya benar. Contoh, Kita ambil V8 Chrome Engine yang merupakan sebuah engine/mesin yang berjalan didalam inti google chrome dan Node JS (Backendnya para javascript coder) yang mengkompilasi/compile code asli secara internal.

V8 increases performance by compiling JavaScript to native machine code before executing it, versus executing bytecode or interpreting it.

Artinya, V8 meningkatkan performa dengan kompilasi ke native machine code sebelum mengkesekusi, versus mengeksekusi bytecode atau di interpretasikan.

contoh program:

console.log("Hello World");

hello;


Kalau secara teori interpreter ia akan mengeksekusi baris pertama "Hello World" lalu selanjutnya akan ada kesalahan syntax. Namun, runtime environment javascript modern tidak seperti itu dia akan crash sebelum fungsi console.log dijalankan.


Jadi.. Compiled?

Hmm, mungkin iya tapi mungkin tidak. Tergantung dari implementasinya dan perspektif.


Mungkin sekian untuk materi kali ini, selanjutnya kita akan membahas tentang hoisting. Wassalamualaikum wr wb.

Komentar

Postingan populer dari blog ini

Javascript: DOM Document

 Document Assalamualaikum wr wb. Halo teman-teman gimana kabarnya? semoga sehat selalu dan bisa menjalani aktifitas dengan lancar. Yap, kita kembali lagi berjumpa di materi javascript dom melanjutkan materi sebelumnya. Bagi teman-teman yang belum mengikuti materi sebelumnya, saya sarankan untuk dibaca terlebih dahulu.   DOM Document Seperti pengertian sebelumnya, HTML DOM merupakan sebuah dokumen objek yang merepresentasikan halaman website. Dengan begitu kita dapat mengubah, menghapus dan membuat elemen dan attributnya ataupun value dari tag HTML. Seperti sebelumnya kita menggunakan  innerHTML untuk megisi konten dari tag <p>. Sekarang kita akan mencoba menggunakan method lain untuk mengakses DOM. Mencari Elemen / Tag HTML document.getElementById('nama_id'); document.getElementsByClassName('nama_class'); document.getElementsByTagName('nama_tag'); Untuk mencari elemen dengan classname dan tagname sebenarnya hampir mirip. Karena banyak tag bisa menggunakan ...

Javascript: 5 Website Untuk Mengasah Analisis dan Problem Solving

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini saya akan sharing website-website yang kalian harus tahu untuk mengasah problem solving dan analisis yang dibutuhkan dalam sebuah coding. Berikut daftar websitenya A great way to improve your skills when learning to code is by solving coding challenges. Solving different types of challenges and puzzles can help you become a better problem solver, learn the intricacies of a programming language, prepare for job interviews, learn new algorithms, and more.    1. TopCoder   TopCoder adalah sebuah platform untuk mengasah skill competitive programming online. Menyediakan sebuah masalah-masalah dan tantangan algoritma yang harus kalian pecahkan dengan online teks editor. Memiliki fitur scoring dimana para peserta dapat berlomba-lomba untuk mendapatkan score yang tinggi. 2. LeetCode   Leetcode juga tidak kalah dengan website lainnya. Memiliki banyak masalah-masalah algoritma dari mulai yang ...

Javascript: Tipe Data dan Variabel

Javascript      Javascript atau biasa disingkat "JS" merupakan bahasa pemrograman yang dinamis yang bisa menambahkan interaktif pada sebuah website. Di ciptakan oleh Brendan Eich . Tidak hanya itu, javascript juga sangat serba guna dan mudah dipelajari untuk pemula. Lebih menariknya lagi, javascript ini dapat digunakan untuk membuat sebuah game!. Hmm, terdengar familiar.. Oh Ya!! Game Dinosaurus milik chrome 😀.  Ternyata dinosaurus aplikasi google chrome dibuat dengan javascript!. Untuk sekarang kita masuk ke materi javascript dasar. Javascript Dasar     Setelah mengetahui apa itu javascript sekarang kita akan mempelajari dasar-dasar javascript. Kita akan mempelajarinya bersama-sama!. 1. Data Types (Tipe Data)     Apa itu tipe data?. TIpe data merupakan sebuah data yang diklasifikasikan menjadi beberapa bagian yang dimana data tersebut digunakan oleh programmer untuk berinteraksi dan membuat sebuah sistem menggunakan data tersebut....