Perbedaan antara bahasa pemrograman tingkat tinggi dan rendah
Bahasa pemrograman
Bahasa pemrograman adalah bahasa apa pun yang digunakan manusia untuk menginstruksikan komputer. Program adalah daftar instruksi yang disiapkan untuk dikirimkan ke komputer dan dieksekusi. Pada dasarnya, instruksi menyimpan, memindahkan, dan mengubah nilai dalam memori komputer. Nilai-nilai ini dapat ditafsirkan oleh beberapa perangkat, seperti monitor, speaker, keyboard, bantalan sentuh atau mouse, yang menyediakan cara berkomunikasi dengan pengguna.
Kode mesin
Bahasa tingkat rendah adalah bahasa yang dekat dengan dasar-dasar perangkat keras komputer. Bahasa tingkat terendah adalah kode mesin, yang perangkat keras mengerti secara langsung dan tidak memerlukan interpretasi atau terjemahan. Kode mesin seluruhnya terdiri dari string angka biner: angka nol dan angka yang terkenal. Meskipun dapat melakukan segala sesuatu yang dapat dicapai oleh bahasa lain (pada kenyataannya seluruh bahasa harus diterjemahkan ke dalam kode mesin oleh penerjemah), itu tidak dirancang untuk memenuhi kebutuhan programmer dan membutuhkan pengetahuan yang mendalam tentang prosesor dan perangkat komputer, selain itu hampir mustahil bagi manusia untuk membacanya.
Bahasa assembly
Bahasa pemrograman tingkat "lebih tinggi" berikutnya adalah bahasa assembly, yaitu kode mesin yang kode instruksinya telah diganti dengan perintah yang lebih intuitif. Sebagai contoh, perintah untuk menempatkan nilai 97 dalam register memori disebut AL (dalam kode mesin itu akan menjadi "10110000 01100001"), dan dalam bahasa assembly akan "MOV AL, 97", yang masih merupakan perintah rahasia tetapi jauh lebih mudah dibaca. Meskipun masih tidak efisien untuk menulisnya dan membutuhkan programmer untuk berurusan langsung dengan perangkat keras komputer, itu adalah bahasa tingkat yang lebih tinggi daripada kode mesin karena lebih abstrak, yaitu, lebih dekat ke programmer.
Bahasa tingkat tinggi
Programmer modern jarang menulis dalam bahasa assembly. Sebaliknya, mereka menggunakan salah satu dari banyak bahasa tingkat tinggi seperti C, Java, atau Python, yang programnya disebut compiler atau interpreter dapat menerjemahkan ke kode mesin. Bahasa-bahasa ini mencegah programmer dari harus terlibat dengan dunia fisik perangkat keras dan membawanya ke abstraksi logis: alih-alih memindahkan nilai heksadesimal oleh register memori, programmer bekerja dengan variabel yang isinya dapat dimodifikasi, dengan loop yang mereka dapat diulang sampai suatu kondisi terpenuhi, dengan pernyataan logis seperti IF, AND, THEN, OR, dan ELSE, di antara alat-alat lain. Bahasa-bahasa ini dirancang untuk programmer, menghadiri cara-cara di mana kekuatan maksimum dapat dicapai dengan kesulitan yang paling sedikit.
Perbandingan
Bahasa tingkat tinggi tidak menerima nama itu karena mereka "lebih baik" daripada bahasa tingkat rendah. Kadang-kadang kemampuan untuk berkomunikasi secara langsung dengan prosesor komputer dalam bahasa assembly atau bahkan kode mesin dapat memecahkan masalah bahwa lapisan abstraksi bahasa tingkat tinggi dapat menyulitkan. Bahasa tingkat sangat tinggi hanya dapat menangani sistem operasi tertentu, seperti Microsoft Visual Basic, atau dengan program tertentu, seperti "makro" dari pengolah kata. Program-program ini sangat berguna bagi siapa saja yang ingin memanipulasi Windows atau Word tanpa harus mengetahui cara kerjanya, tetapi bahasa semacam itu tidak akan berguna bagi seseorang yang mencoba menulis program mereka sendiri dan membutuhkan bahasa tingkat yang lebih rendah. Oleh karena itu, seorang pemrogram memilih bahasa tergantung pada pekerjaan yang perlu dilakukannya.