Frasa "Saya tahu ketika saya melihatnya" adalah ungkapan sehari-hari yang digunakan oleh pembicara untuk mengkategorikan fakta atau peristiwa yang dapat diamati, meskipun kategorinya subjektif atau tidak memiliki parameter yang jelas. Ungkapan ini terkenal digunakan oleh Hakim Agung Mahkamah Agung Amerika Serikat Potter Stewart untuk menggambarkan tes ambang batas untuk kecabulan di Jacobellis v. Ohio (1964).
- "Saya tahu ketika saya melihatnya" Artikel Wikipedia
Seperti kecabulan, saya pikir kita semua tahu bahasa pemrograman ketika kita melihatnya. Jelas OP melakukannya, karena Anda sudah menilai C ++ sebagai bahasa pemrograman, dan HTML bukan menjadi bahasa pemrograman.
Jadi apa sebenarnya tujuan mengejar definisi formal? Yannis telah memberikan ringkasan yang bagus tentang mengapa definisi paling populer, kelengkapan Turing, cacat: mengarah ke kategorisasi yang menentang tes "Saya tahu kapan saya melihatnya".
Saya katakan kepada Anda bahwa definisi apa pun yang dapat Anda buat akan mengarah ke beberapa bahasa yang kita semua anggap bukan bahasa "pemrograman" akan dikategorikan demikian; atau untuk beberapa bahasa yang kita semua rasakan sebagai "pemrograman" bahasa akan dikategorikan tidak begitu.
Mengapa tidak pergi saja dengan naluri Anda? Saya menggunakan heuristik sederhana: bahasa pemrograman adalah bahasa yang tujuan utamanya, menurut pendapat saya dan menurut pengamatan saya, adalah menulis program. Tidak menandai konten. Tidak mengubah XML. Untuk menulis program tujuan umum. Saya lebih suka mengetahuinya ketika saya melihatnya daripada mencoba untuk mendefinisikan definisi formal, dan saya tidak melihat nilai asli yang dapat datang dari mencoba definisi tersebut.