「第n世代言語」は流行語です。これはマーケティング用語です。n> 2の「n世代」を正確に定義するものについて、一般に受け入れられている定義はありません。PerlやPythonなどの「スクリプト」言語を4GLに分類する人もいます。 4GLの特徴は、SQLなどのドメイン固有であることです。Java(オブジェクト指向とガベージコレクションとリフレクションに満ちた90年代半ばの言語)は、Fortran(50年代から)およびC(70年代から)と同じ「3GL」カテゴリに属すると考える人もいます。
「第4世代言語」などのように混同されている分類は役に立ちません。古い教科書で見ることも、80年代にプログラミングを始めた人から聞くこともありますが、「4GL」などのタグは、著者がそれによって何を意味するかについての説明がなければ意味がありません。
「4GL」の意味を誰もすぐには理解しないため、このような分類を使用しないでください。代わりに、具体的な用語を使用して、正確にあなたが言っていることを伝えます。たとえば、NASM、LLVM IR、およびJasminはすべてアセンブリ言語ですが、後者の2つはターゲットVMであり、最後の1つもオブジェクト指向プログラミング言語です。それらはすべて2GLですか?SQLは、80年代からのデータベースクエリ用の部分的に宣言的なドメイン固有の言語です。TeXは、70年代からの植字のためのドメイン固有の言語です。どちらもドメイン固有であるため、どちらも4GLですか?