Seorang
programmer akan memilih bahasa pemrogramannya jika merasa bahwa bahasa
pemrograman tersebut bagus dan mudah digunakan. Ada beberapa criteria untuk
penilaian suatu bahasa pemrograman, yaitu :
a. Clarity,
Simplicity, dan Unity
Bahasa
pemrograman harus dapat menology programmer untuk membuat suatu desain program
jauh sebelum programmer melakukan coding.
Kemudahan, kesederhanaan, dan kesatuan merupakan suatu kombinasi yang membantu
programmer mengembangkan suatu algoritma sehingga algoritma yang dihasilkan
mempunyai kompleksitas yang rendah.
Syntax
bahasa pemrograman mempengaruhi kemudahan ketika program mulai ditulis, dites,
dan dimodifikasi. Program yang mudah dibaca adalah kunci dari hal tersebut.
b. Orthogonality
Orthogonality
menunjuk kepada suatu atribut yang dapat dikombinasikan dengan beragam fitur
bahasa pemrograman sehingga setiap kombinasinya mempunyai arti dan dapat
digunakan. Contohnya, suatu bahasa pemrograman mendukung suatu ekspresi yang
dapat menghasilkan suatu nilai, dan bahasa pemrograman tersebut juga mendukung
statemen kondisi yang mengevaluasi suatu ekspresi untuk mendapatkan nilai true atau false. Dua fitur dari bahasa pemrograman tersebut, yaitu ekspresi
dan statemen kondisi, adalah orthogonal
jika sembarang ekspresi dapat digunakan (dan dievaluasi) di dalam statemen
kondisi.
Ketika
fitur bahasa pemrograman adalah orthogonal,
maka bahasa pemrograman tersebut akan mudah dipelajari dan program akan mudah
ditulis karena hanya ada sedikit exception
dan case yang harus diingat.
c. Kewajaran
untuk Aplikasi
Bahasa
pemrograman membutuhkan syntax yang tepat/cocok yang digunakan pada struktur
program untuk merefleksikan struktur logika yang melandasi suatu algoritma.
Bahasa
pemrograman harus mempunyai struktur data, operasi-operasi, struktur control,
dan syntax alami yang tepat/cocok memecahkan suatu masalah. Suatu bahasa
pemrograman didesain secara khusus untuk kebutuhan tertentu, misalnya PROLOG
digunakan untuk keperluan deduksi atau C++ untuk pemrograman berorientasi
objek.
d. Mendukung
Abstraksi
Abstraksi
merupakan suatu hal yang substansial pagi programmer untuk membuat suatu solusi
dari masalah yang dihadapi. Kemudian abstraksi tersebut dapat dengan mudah
diimplementasikan menggunakan fitur-fitur yang ada dalam bahasa pemrograman.
e. Kemudahan
untuk Verifikasi Program
Verifikasi
program merupakan hal penting bagi sebuah program karena dengan verifikasi yang
mudah maka suatu program akan dengan mudah dibangun dan dikembangkan.
Kesederhanaan struktur semantic dan
syntax merupakan aspek primer yang mempengaruhi kesederhaan verifikasi program.
f. Lingkungan
Pemrograman
Bahasa
pemrograman yang mempunyai lingkungan pemrograman yang baik dan lengkap akan
memudahkan programmer untuk mengimplementasikan abstraksi yang sudah
disusunnya. Lingkungan pemrogramn disini dapat berarti editor yang digunakan, dokumetasi yang baik dari bahasa
pemrograman, fasilitas debugging, user interface yang baik, ataupun tool lain yang dapat digunakan untuk
memudahkan pekerjaan programmer.
SmallTalk
merupakan salahsatu bahasa pemrograman yang didesain secara khusus untuk
lingkungan pemrogramannya, terdiri dari Windows, menu, input mouse, dan
sekumpulan tool untuk digunakan dalam
program.
g. Portabilitas
Program
Salah
satu criteria penting untuk proyek pemrograman adalah kemudahan program yang
sudah jadi untuk dipindah-pindahkan dari computer yang digunakan untuk membuat
dan mengembangkan, ke computer lain yang akan menggunakannya.
h. Biaya
Penggunaan
Biaya
merupakan elemen penting dalam mengevaluasi suatu bahasa pemrograman. Ada
beberapa biaya yang dapat diukur, yaitu :
1) Biaya
eksekusi program
Program
yang sering dieksekusi akan membutuhkan suatu kode executable yang efisien sehingga cepat untuk dieksekusi. Semakin
cepat suatu program dieksekusi maka akan semakin murah biaya eksekusi program.
2) Biaya
translasi/kompilasi program
Untuk
pembelajaran, kecepatan translasi lebih diutamakan daripada kecepatan eksekusi
karena pada pembelajaran lebih sering dilakukan translasi/kompilasi daripada
eksekusi program yang dihasilkan. Oleh karena itu, lebih dibutuhkan compiler yang efisien dibandingkan kode executable yang efisien.
3) Biaya
penciptaan, testing, dan penggunaan program
Semakin
baik dan lengkap lingkungan pemrograman pada bahasa pemrograman maka ketiga
biaya ini akan menjadi rendah. Hal ini disebabkan tidak banyak waktu dan tenaga
serta pikiran yang dicurahkan ke pembuatan program. SmallTalk sudah membuktikannya.
4) Biaya
pemeliharaan program
Pemeliharaan
program termasuk perbaikan error yang muncul ketika program sudah digunakan,
perubahan yang dibutuhkan pada program ketika hardware atau system operasi
berubah, dan penyesuaian kebutuhan dengan kebutuhan baru.Pemeliharaan merupakan salah satu biaya terbesar
dari life cycle cost dan merupakan
hal yang membosankan bagi programmer.