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: Operator Arithmetic

Operator Arithmetic   Halo teman-teman, kembali lagi dengan saya haikal pada materi javascript dasar. Materi ini akan berkaitan dengan materi sebelumnya yaitu dengan data type dan variable bagi yang belum mengikuti materi sebelumnya boleh dibaca terlebih dahulu linknya Javascript: Data Types and Variable . Nah, pada hari ini kita akan mempelajari sebuah operasi aritmatika pada bahasa javascript. Lah, kan katanya kemarin mau ngebahas tentang function dan object?. Sabar gan, kita belajar dulu dari dasarnya karena untuk materi function dan object cukup kompleks. Karena materi ini juga tak kalah menarik. Ok mari kita masuk ke materinya!. Pasti teman-teman udah tau dong apa itu aritmatika. Yap! aritmatika seperti pejumlahan, pengurangan, pembagian, perkalian dan modulus. Dalam bahasa javascript kita dapat penghitung dengan operasi ini. Langung saja kita peraktikan. Penjumlahan Pertama-tama teman-teman buat terlebih dahulu file html dan javascriptnya karena kita akan menggunakan console...

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 ...