Mengapa kita perlu mempelajari konsep dari Programming Language?

Kita dapat dengan mudah mempelajari bahasa pemrogaman dengan lebih mudah.

Pada dasarnya, semua bahasa pemrograman adalah serupa. Jika kita sudah memahami konsep yang ada, maka kita dapat dengan mudah memahami semua bahasa pemrograman. Kita juga dapat menggunakan bahasa pemrograman dengan lebih baik jika kita memahami konsep bahasa pemrograman.

Kriteria bahasa pemrograman yang baik

1. Readability: mudah dibaca dan dimengerti oleh banyak orang

2. Writeability: mudah digunakan untuk membuat program

3. Reliability: mudah untuk mencapai ekspektasi programmer

4. Cost: memiliki biaya yang terjangkau.

Penyebaran dalam Desain Bahasa Pemrograman

1. Computer Architecture

Bahasa yang dikembangkan oleh seorang arsitektur komputer terkenal yaitu Von Neumann.

Bahasa ini sangat terkenal karena komputer Von Neumann:

  • Data dan program tersimpan di memory
  • Memory terpisah dari CPU
  • Data dan instruksi disalurkan dari memory ke CPU
  • Basis dari bahasa yang sangat penting (model variabel, pernyataan model piping, dan iterasi yang efisien)

Metode Penyebaran Programming

  • Pada tahun 1950 dan awal 1960, terdapat permasalahan tentang efisiensi mesin.
  • Pada akhir tahun 1960, efisiensi menjadi penting; readability dan struktur yang lebih baik (programming terstruktur dan penyempurnaan pemilihan keputusan)
  • Pada akhir tahun 1970, orientasi proses berubah menjadi orientasi data (data abstraction).
  • Pada pertengahan tahun 1980, programming berorientasi pada objek (data abstraction + inheritance + polimorphism)

Metode Implementasi

I. Compilation

  1. Proses penerjemahan high-level program (bahasa pemrograman) menjadi machine code (bahasa mesin). Penerjemahan cukup lama namun eksekusi cepat.
  2. Proses kompilasi adalah sebagai berikut:
  • Lexical analysis: mengkonversi karakter dalam sumber program menjadi lexical units.
  • Syntax analysis: mengubah lexical units menjadi parse trees yang merepresentasi struktur syntactic dari program.
  • Semantics analysis: menghasilkan intermediate code.
  • Code generation: machine code dihasilkan.

 

II. Pure Interpretation

  1. Tidak ada penerjemahan.
  2. Lebih mudah untuk diimplementasikan oleh program. (errors/kesalahan dapat langsung dideteksi dan ditampilkan).
  3. Lebih lambat untuk dieksekusi (10 hingga 100 kali lebih lambat dari kompilasi program).
  4. Terkadang membutuhkan space yang lebih besar.
  5. Biasa digunakan untuk bahasa web scripting ( JavaScript, PHP)

 

III. Sistem Implementasi Hybrid

  1. Sebuah gabungan antara compilers dan pure interpreters.
  2. Sebuah bahasa high-level program diterjemahkan menjadi intermediate language yang memudahkan proses interpretasi.
  3. Lebih cepat dibandingkan pure interpretation.
  4. Contoh:
  • Program di kompilasi untuk mendeteksi errors/kesalahan sebelum interpretasi.
  • Implementasi dari Java di hybrid; intermediate form, byte code, menyediakan portabilitas dari segala mesin yang memiliki byte code interpreter dan sebuah run-time system (digabungkan hal ini disebut java virtual machine).