(4) A fourth generation (programming) language (4GL) is a grouping of programming languages that attempt to get closer than 3 GLs to human language, form of thinking and conceptualization. 4GLs are designed to reduce the overall time, effort and cost of software development. The main domains and families of 4GLs are: database queries, report generators, data manipulation, analysis and reporting, screen painters and generators, GUI creators, mathematical optimization, web development and general purpose languages.