Bahasa komputer telah melalui evolusi yang dramatis sejak komputer yang pertamadibuat untuk bantuan dalam kalkulasi sejak perang dunia ke dua. Awalnya programmerbekerja dengan instruksi komputer yang sangat primitif yaitu machine language (bahasamesin).Pada bahasa mesin instruksi-instruksi terdiri dari suatu kalimat yang panjang yang berupatulisan 1 (satu) dan 0 (nol). Selanjutnya assembler digunakan untuk memetakan instruksimesin ke mnemoniscs yang dapat dibaca dan ditangani oleh manusia seperti ADD danMOV.Kemudian, lahirlah bahasa tingkat tinggi seperti BASIC dan COBOL. Bahasa inimemungkinkan orang bekerja dengan sejumlah kata dan kalimat tertentu dalam sepertiLet I=100. Instruksi ini akan diterjemahkan kembali menjadi bahasa mesin denganmengunakan suatu interpreter ataupun compiler. Suatu interpreter bekerja denganmenterjemahkan baris program sesaat dibaca, mengubahnya menjadi bahasa mesin, danmenjalankannya.Compiler bekerja dengan menterjemahkan program menjadi suatu bentuk intermediasi.Tahap ini disebut sebagai Compiling dan menghasilkan suatu file object. Kemudiancompiler akan membangkitkan linker, yang mana akan mengubah file object menjadisuatu program yang executable (dapat dijalankan langsung).Karena interpreter membaca kode sambil menjalankan baris per baris, maka interpreterterasa lebih mudah oleh programmer dalam menggunakannya. Dengan adanya tambahanlangkah pada Compiler seperti tahap compiling dan lingking pada kode, sehingga terasakurang nyaman.
Compiler akan menghasilkan suatu program yang sangat cepat pada saat dijalankan
karena waktu untuk menterjemahkan program telah dihilangkan. Keuntungan dari suatu
Compiler adalah menghasilkan program executable yang tidak tergantung kepada
program sumber. Sedangkan pada interpreter anda harus menjalankannya dengan
menggunakan program sumber.
Untuk beberapa tahun, prinsip utama dari programmer komputer adalah menulis suatu
kode yang sependek mungkin, dan dapat dijalankan dengan cepat. Program tersebut harus
berukuran kecil karena memori komputer sangat mahal, dan harus cepat karena tenaga
pemrosesesan (CPU) sangat mahal.
Setelah komputer menjadi semakin kecil, murah dan cepat, dan harga dari memori telah
jatuh. Prioritas ini telah berubah. Sekarang biaya tenaga programmer jauh lebih mahal
dibandingkan dengan harga komputer yang digunakan dalam bisnis. Program yang ditulis
dengan baik dan mudah ditangani adalah suatu yang bernilai tinggi. Mudah ditangani