There is no such thing as a fourth generation language.
Machine code is the first generation (the native language of the
computer). Assembly language is the second generation (low-level
symbolic language). All high-level (abstract) languages are
third-generation.
Although some languages claim to be fourth-generation or even
fifth-generation, they are meaningless terms used by marketing
types that tell you nothing about a language's capability.