"Bahasa generasi ke-N" adalah kata kunci. Ini adalah istilah pemasaran. Tidak ada definisi yang diterima secara universal tentang apa yang secara tepat mendefinisikan "generasi ke-n" untuk n> 2. Beberapa orang mengkategorikan bahasa "scripting" seperti Perl atau Python sebagai 4GL karena mereka jauh lebih tinggi daripada C, sementara yang lain berpikir mendefinisikan karakteristik 4GL adalah bahwa mereka spesifik domain, misalnya SQL. Beberapa nitwits bahkan berpikir bahwa Java (bahasa pertengahan 90-an yang penuh dengan orientasi objek dan pengumpulan dan refleksi sampah) termasuk dalam kategori "3GL" yang sama dengan Fortran (dari 50-an) dan C (dari 70-an).
Kategorisasi yang sangat membingungkan seperti "bahasa generasi ke-4" tidak berguna. Anda dapat melihatnya di buku teks lama, atau mendengarnya dari orang-orang yang memulai pemrograman pada tahun 80-an, tetapi tag seperti "4GL" tidak berharga tanpa penjelasan yang menyertai apa yang sebenarnya dimaksud oleh penulis.
Karena tidak ada yang langsung mengerti apa yang Anda maksud dengan "4GL", Anda tidak boleh menggunakan kategorisasi tersebut. Alih-alih, gunakan istilah tertentu untuk mengomunikasikan dengan tepat apa yang Anda maksud. Misalnya semua NASM, LLVM IR, dan Jasmin adalah bahasa assembly, tetapi dua VM target terakhir, dan yang terakhir juga merupakan bahasa pemrograman berorientasi objek. Apakah semua 2GL itu? SQL adalah sebagian deklaratif, bahasa khusus domain untuk kueri basis data dari tahun 80-an. Dan TeX adalah bahasa khusus domain untuk pengaturan huruf dari tahun 70-an. Apakah keduanya 4GL karena keduanya kurang lebih spesifik domain?