Ada banyak kriteria yang menentukan sebuah bahasa adalah bahasa pemrograman.
Kriteria yang paling mendasar adalah apakah bahasa tersebut Turing-Complete, atau dengan kata lain, bisa menjalankan Turing Machine. Sebuah bahasa yang Turing-Complete adalah bahasa yang cukup powerful untuk menjalankan semua komputasi yang ada di dunia.
Sederhananya, syarat sebuah bahasa yang Turing-Complete adalah sebagai berikut:
1. Bisa membaca dan menulis isi variabel.
HTML tidak memenuhi kriteria ini. JavaScript misalnya, memenuhi kriteria ini karena variabel dalam JavaScript bisa dibaca dan diganti isinya.
2. Bisa loncat maju atau mundur.
HTML tidak memenuhi kriteria ini karena sebuah HTML dibaca secara linier. JavaScript memenuhi kriteria ini karena setelah isi sebuah JavaScript masuk ke memory, kita bisa maju/mundur untuk membaca isi variabel atau memanggil fungsi.
HTML tidak memenuhi kriteria ini karena sebuah HTML dibaca secara linier. JavaScript memenuhi kriteria ini karena setelah isi sebuah JavaScript masuk ke memory, kita bisa maju/mundur untuk membaca isi variabel atau memanggil fungsi.
3. Adanya conditional branching di mana pada suatu kondisi tertentu kita bisa loncat maju atau mundur.
HTML tidak memenuhi kriteria ini. JavaScript, misalnya, memenuhi kriteria ini. Jika variabel a = 1, kita bisa membuat JavaScript loncat menjalankan fungsi P dan jika tidak maka loncat menjalankan fungsi Q.
HTML tidak memenuhi kriteria ini. JavaScript, misalnya, memenuhi kriteria ini. Jika variabel a = 1, kita bisa membuat JavaScript loncat menjalankan fungsi P dan jika tidak maka loncat menjalankan fungsi Q.
Dengan keterbatasan-keterbatasan ini, maka HTML tidak dapat disebut sebagai programming language. Tapi tentu kita tidak bisa mengabaikan pentingnya HTML dalam perkembangan teknologi informasi dan dampaknya ke masyarakat secara luas. Apalagi mengingat bahwa hypertext dalam HTML adalah wajah internet kita.
