Bahasa pemrograman tingkat tinggi

Istilah "bahasa pemrograman tingkat tinggi" tidak serta merta menjadikan bahasa tersebut lebih baik dibandingkan dengan bahasa pemrograman tingkat rendah. Akan tetapi, maksud dari "tingkat tinggi" di sini merujuk kepada abstraksi yang lebih tinggi dibandingkan dengan bahasa tingkat rendah terhadap bahasa mesin. Dibandingkan dengan harus berurusan dengan register, alamat memori dan stack-stack panggilan, bahasa pemrograman tingkat tinggi akan berurusan dengan variabel, larik, dan ekspresi aritmetika atau aljabar Boolean. Selain itu, tidak seperti bahasa rakitan, bahasa tingkat tinggi tidak memiliki "opcode" atau kode operasi yang dapat secara langsung menjadikan bahasa tersebut menjadi kode mesin. Fitur lainnya seperti rutin-rutin penanganan "string", fitur pemrograman berorientasi objek, input/output terhadap berkas juga terdapat di dalam jenis bahasa ini.