A fourth-generation programming language (4GL) is any
computer
A computer is a machine that can be programmed to Execution (computing), carry out sequences of arithmetic or logical operations (computation) automatically. Modern digital electronic computers can perform generic sets of operations known as C ...
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming ...
that belongs to a class of languages envisioned as an advancement upon
third-generation programming language
A third-generation programming language (3GL) is a high-level computer programming language that tends to be more machine-independent and programmer-friendly than the machine code of the first-generation and assembly languages of the second-gene ...
s (3GL). Each of the
programming language generations
Programming languages have been classified into several programming language generations. Historically, this classification was used to indicate increasing power of programming styles. Later writers have somewhat redefined the meanings as distinc ...
aims to provide a higher level of
abstraction of the internal
computer hardware
Computer hardware includes the physical parts of a computer, such as the computer case, case, central processing unit (CPU), Random-access memory, random access memory (RAM), Computer monitor, monitor, Computer mouse, mouse, Computer keyboard, ...
details, making the language more
programmer
A computer programmer, sometimes referred to as a software developer, a software engineer, a programmer or a coder, is a person who creates computer programs — often for larger computer software.
A programmer is someone who writes/creates ...
-friendly, powerful, and versatile. While the definition of 4GL has changed over time, it can be typified by operating more with large collections of information at once rather than focusing on just
bit
The bit is the most basic unit of information in computing and digital communications. The name is a portmanteau of binary digit. The bit represents a logical state with one of two possible values. These values are most commonly represente ...
s and
byte
The byte is a unit of digital information that most commonly consists of eight bits. Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit ...
s. Languages claimed to be 4GL may include support for
database
In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases sp ...
management,
report generation
A report is a document that presents information in an organized format for a specific audience and purpose. Although summaries of reports may be delivered orally, complete reports are almost always in the form of written documents. Usage
In ...
,
mathematical optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
,
GUI development, or
web development
Web development is the work involved in developing a website for the Internet (World Wide Web) or an intranet (a private network). Web development can range from developing a simple single static page of plain text to complex web applications ...
. Some researchers state that 4GLs are a subset of
domain-specific language
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging f ...
s.
The concept of 4GL was developed from the 1970s through the 1990s, overlapping most of the development of 3GL, with 4GLs identified as "non-procedural" or "program-generating" languages, contrasted with 3GLs being algorithmic or procedural languages. While 3GLs like
C,
C++
C++ (pronounced "C plus plus") is a high-level general-purpose programming language created by Danish computer scientist Bjarne Stroustrup as an extension of the C programming language, or "C with Classes". The language has expanded significan ...
,
C#,
Java
Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
, and
JavaScript
JavaScript (), often abbreviated as JS, is a programming language that is one of the core technologies of the World Wide Web, alongside HTML and CSS. As of 2022, 98% of Website, websites use JavaScript on the Client (computing), client side ...
remain popular for a wide variety of uses, 4GLs as originally defined found uses focused on databases, reports, and websites. Some advanced 3GLs like
Python
Python may refer to:
Snakes
* Pythonidae, a family of nonvenomous snakes found in Africa, Asia, and Australia
** ''Python'' (genus), a genus of Pythonidae found in Africa and Asia
* Python (mythology), a mythical serpent
Computing
* Python (pro ...
,
Ruby
A ruby is a pinkish red to blood-red colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sa ...
, and
Perl
Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offici ...
combine some 4GL abilities within a general-purpose 3GL environment, and
libraries
A library is a collection of materials, books or media that are accessible for use and not just for display purposes. A library provides physical (hard copies) or digital access (soft copies) materials, and may be a physical location or a vir ...
with 4GL-like features have been developed as add-ons for most popular 3GLs, producing languages that are a mix of 3GL and 4GL, blurring the distinction.
In the 1980s and 1990s, there were efforts to develop
fifth-generation programming language
A fifth-generation programming language (5GL) is any programming language based on problem-solving using constraints given to the program, rather than using an algorithm written by a programmer. Most constraint-based and logic programming languag ...
s (5GL).
History
Though used earlier in papers and discussions, the term 4GL was first used formally by
James Martin in his 1981 book ''Applications Development Without Programmers'' to refer to non-procedural, high-level
specification language
A specification language is a formal language in computer science used during systems analysis, requirements analysis, and systems design to describe a system at a much higher level than a programming language, which is used to produce the executa ...
s. In some primitive way, early 4GLs were included in the
Informatics
Informatics is the study of computational systems, especially those for data storage and retrieval. According to ACM ''Europe and'' ''Informatics Europe'', informatics is synonymous with computer science and computing as a profession, in which ...
MARK-IV (1967) product and
Sperry Sperry may refer to:
Places
In the United States:
*Sperry, Iowa, community in Des Moines County
*Sperry, Missouri
*Sperry, Oklahoma, town in Tulsa County
*Sperry Chalet, historic backcountry chalet, Glacier National Park, Montana
*Sperry Glacier, ...
's
MAPPER
MAPPER, now known as BIS, is a fourth-generation programming language from
Sperry Univac. Mapper originated in the 1970s based on some work in the 1960s, but has been kept current. It was renamed and also given an extension named ICE - Internet C ...
(1969 internal use, 1979 release).
The motivations for the '4GL' inception and continued interest are several. The term can apply to a large set of software products. It can also apply to an approach that looks for greater
semantic
Semantics (from grc, σημαντικός ''sēmantikós'', "significant") is the study of reference, meaning, or truth. The term can be used to refer to subfields of several distinct disciplines, including philosophy, linguistics and comput ...
properties and implementation power. Just as the 3GL offered greater power to the programmer, so too did the 4GL open up the development environment to a wider population.
The early input scheme for the 4GL supported entry of data within the
72-character limit of the punched card (8 bytes used for sequencing) where a card's tag would identify the type or function. With judicious use of a few cards, the
4GL deck could offer a wide variety of processing and reporting capability whereas the equivalent functionality coded in a
3GL could subsume, perhaps, a whole box or more of
cards.
The 72-character format
continued for a while as hardware progressed to larger memory and terminal interfaces. Even with its limitations, this approach supported highly sophisticated applications.
As interfaces improved and allowed longer statement lengths and grammar-driven input handling, greater power ensued. An example of this is described on the
Nomad
A nomad is a member of a community without fixed habitation who regularly moves to and from the same areas. Such groups include hunter-gatherers, pastoral nomads (owning livestock), tinkers and trader nomads. In the twentieth century, the popu ...
page.
::Another example of Nomad's power is illustrated by Nicholas Rawlings in his comments for the Computer History Museum about NCSS (see citation below). He reports that
James Martin asked Rawlings for a Nomad solution to a standard problem Martin called the ''Engineer's Problem'': "give 6% raises to engineers whose job ratings had an average of 7 or better." Martin provided a "dozen pages of COBOL, and then just a page or two of
Mark IV, from
Informatics
Informatics is the study of computational systems, especially those for data storage and retrieval. According to ACM ''Europe and'' ''Informatics Europe'', informatics is synonymous with computer science and computing as a profession, in which ...
." Rawlings offered the following single statement, performing a set-at-a-time operation...
The development of the 4GL was influenced by several factors, with the hardware and operating system constraints having a large weight. When the 4GL was first introduced, a disparate mix of hardware and operating systems mandated custom application development support that was specific to the system in order to ensure sales. One example is the
MAPPER
MAPPER, now known as BIS, is a fourth-generation programming language from
Sperry Univac. Mapper originated in the 1970s based on some work in the 1960s, but has been kept current. It was renamed and also given an extension named ICE - Internet C ...
system developed by
Sperry Sperry may refer to:
Places
In the United States:
*Sperry, Iowa, community in Des Moines County
*Sperry, Missouri
*Sperry, Oklahoma, town in Tulsa County
*Sperry Chalet, historic backcountry chalet, Glacier National Park, Montana
*Sperry Glacier, ...
. Though it has roots back to the beginning, the system has proven successful in many applications and has been ported to modern platforms. The latest variant is embedded in the BIS offering of
Unisys
Unisys Corporation is an American multinational information technology (IT) services and consulting company headquartered in Blue Bell, Pennsylvania. It provides digital workplace solutions, cloud, applications, and infrastructure solutions, e ...
.
MARK-IV is now known as VISION:BUILDER and is offered by
Computer Associates
CA Technologies, formerly known as CA, Inc. and Computer Associates International, Inc., is an American multinational corporation headquartered in New York City. It is primarily known for its business-to-business (B2B) software with a product po ...
.
Santa Fe railroad used
MAPPER
MAPPER, now known as BIS, is a fourth-generation programming language from
Sperry Univac. Mapper originated in the 1970s based on some work in the 1960s, but has been kept current. It was renamed and also given an extension named ICE - Internet C ...
to develop a system, in a project that was an early example of 4GL,
rapid prototyping
Rapid prototyping is a group of techniques used to quickly fabricate a scale model of a physical part or assembly using three-dimensional computer aided design (CAD) data.
Construction of the part or assembly is usually done using 3D printin ...
, and
programming by users. The idea was that it was easier to teach railroad experts to use
MAPPER
MAPPER, now known as BIS, is a fourth-generation programming language from
Sperry Univac. Mapper originated in the 1970s based on some work in the 1960s, but has been kept current. It was renamed and also given an extension named ICE - Internet C ...
than to teach programmers the "intricacies of railroad operations".
One of the early (and portable) languages that had 4GL properties was
Ramis
RAMIS ("Random Access Management Information System") is a fourth-generation programming language (4GL) capable of creating and maintaining databases consisting of named files containing both numeric and alphabetic fields and subsequently producing ...
developed by Gerald C. Cohen at
Mathematica
Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
, a mathematical software company. Cohen left Mathematica and founded Information Builders to create a similar reporting-oriented 4GL, called
FOCUS
Focus, or its plural form foci may refer to:
Arts
* Focus or Focus Festival, former name of the Adelaide Fringe arts festival in South Australia Film
*''Focus'', a 1962 TV film starring James Whitmore
* ''Focus'' (2001 film), a 2001 film based ...
.
Later 4GL types are tied to a database system and are far different from the earlier types in their use of techniques and resources that have resulted from the general improvement of computing with time.
An interesting twist to the 4GL scene is realization that graphical interfaces and the
related reasoning done by the user form a 'language' that is poorly understood.
Types
A number of different types of 4GLs exist:
* Table-driven (codeless) programming, usually running with a runtime framework and libraries. Instead of using code, the developer defines their logic by selecting an operation in a pre-defined list of memory or data table manipulation commands. In other words, instead of coding, the developer uses table-driven algorithm programming (see also
control table
Control tables are tables that control the control flow or play a major part in program control. There are no rigid rules about the structure or content of a control table—its qualifying attribute is its ability to direct control flow in some wa ...
s that can be used for this purpose). A good example of this type of 4GL language is
PowerBuilder
PowerBuilder is an integrated development environment owned by SAP since the acquisition of Sybase in 2010. On July 5, 2016, SAP and Appeon entered into an agreement whereby Appeon, an independent company, would be responsible for developing, sel ...
. These types of tools can be used for business application development usually consisting in a package allowing for both business data manipulation and reporting, therefore they come with GUI screens and report editors. They usually offer integration with lower level DLLs generated from a typical 3GL for when the need arise for more hardware/OS specific operations.
*
Report-generator programming languages take a description of the data format and the report to generate and from that they either generate the required report directly or they generate a program to generate the report. See also
RPG RPG may refer to:
Military
* Rocket-propelled grenade, a shoulder-launched anti-tank weapon
**''Ruchnoi Protivotankoviy Granatomyot'' (Russian: ''Ручной Противотанковый Гранатомёт''), hand-held anti-tank grenade laun ...
*Similarly, forms generators manage online interactions with the application system users or generate programs to do so.
* More ambitious 4GLs (sometimes termed ''fourth generation environments'') attempt to automatically generate whole systems from the outputs of
CASE
Case or CASE may refer to:
Containers
* Case (goods), a package of related merchandise
* Cartridge case or casing, a firearm cartridge component
* Bookcase, a piece of furniture used to store books
* Briefcase or attaché case, a narrow box to c ...
tools, specifications of screens and reports, and possibly also the specification of some additional processing logic.
*
Data management
Data management comprises all disciplines related to handling data as a valuable resource.
Concept
The concept of data management arose in the 1980s as technology moved from sequential processing (first punched cards, then magnetic tape) to r ...
4GLs such as
SAS
SAS or Sas may refer to:
Arts, entertainment, and media
* ''SAS'' (novel series), a French book series by Gérard de Villiers
* ''Shimmer and Shine'', an American animated children's television series
* Southern All Stars, a Japanese rock ba ...
,
SPSS
SPSS Statistics is a statistical software suite developed by IBM for data management, advanced analytics, multivariate analysis, business intelligence, and criminal investigation. Long produced by SPSS Inc., it was acquired by IBM in 2009. C ...
, and
Stata
Stata (, , alternatively , occasionally stylized as STATA) is a general-purpose statistical software package developed by StataCorp for data manipulation, visualization, statistics, and automated reporting. It is used by researchers in many fie ...
provide sophisticated coding
commands for data manipulation, file reshaping, case selection, and data documentation in the preparation of data for
statistical analysis
Statistical inference is the process of using data analysis to infer properties of an underlying distribution of probability.Upton, G., Cook, I. (2008) ''Oxford Dictionary of Statistics'', OUP. . Inferential statistical analysis infers propertie ...
and reporting.
*So-called "XTalk" languages, developed initially with Apple's Hypercard in 1987. Hypercard was the progenitor of more modern and powerful programs such as SuperCard, Toolbook and LiveCode.
Some 4GLs have integrated tools that allow for the easy specification of all the required information:
* James Martin's version of
data engineering
Data engineering refers to the building of systems to enable the collection and usage of data. This data is usually used to enable subsequent analysis and data science; which often involves machine learning. Making the data usable usually involv ...
systems development methodology
In software engineering, a software development process is a process of dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design, product management. It is also known as a software devel ...
was automated to allow the input of the results of system analysis and design in the form of
data flow diagram
A data-flow diagram is a way of representing a flow of data through a process or a system (usually an information system). The DFD also provides information about the outputs and inputs of each entity and the process itself. A data-flow diagram ha ...
s,
entity relationship diagram
An entity is something that exists as itself, as a subject or as an object, actually or potentially, concretely or abstractly, physically or not. It need not be of material existence. In particular, abstractions and legal fictions are usually r ...
s,
entity life history diagram Jackson System Development (JSD) is a linear software development methodology developed by Michael A. Jackson and John Cameron in the 1980s.
History
JSD was first presented by Michael A. Jackson in 1982, in a paper called "A System Development Me ...
s etc., from which hundreds of thousands of lines of
COBOL
COBOL (; an acronym for "common business-oriented language") is a compiled English-like computer programming language designed for business use. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is primarily us ...
would be generated overnight.
* More recently
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
's
Oracle Designer
Oracle Designer was Oracle's CASE tool for designing an information system and generating it. After generating the information system one is able to edit the generated code with Oracle Developer Suite.
As of April 2018 this product has reached ...
and
Oracle Developer Suite
Oracle Developer Suite is a suite of development tools released by the Oracle Corporation. The principal components were initially Oracle Forms and Oracle Reports and the suite was later expanded to include Oracle Designer and JDeveloper amongst ...
4GL products could be integrated to produce database definitions and the forms and reports programs.
Low code environments
In the twenty-first century, 4GL systems have emerged as
"low code" environments or platforms for the problem of rapid application development in short periods of time. Vendors often provide sample systems such as CRM, contract management, bug tracking from which development can occur with little programming.
Examples
General use / versatile
*
4th Dimension
*
Accell/SQL (4GL) from
Unify Corporation
Daegis Inc. (formerly Unify Corporation) was one of the early developers of database management systems and tools for database development. It was founded in 1980 and headquartered in Irving, Texas. Unify initially focused on providing databases ...
.
*Broadcom 2e
Formerly Synon 4GL RPG/COBOL Generator
*
CA-Telon
TELON, later renamed CA-TELON, is one of the first commercially successful application generators for building business applications.
Overview
TELON is an application development system currently sold and maintained by CA Technologies (formerly CA ...
4GL Cobol/PLI generator
*
Clarion
Clarion may refer to:
Music
* Clarion (instrument), a type of trumpet used in the Middle Ages
* The register of a clarinet that ranges from B4 to C6
* A trumpet organ stop that usually plays an octave above unison pitch
* "Clarion" (song), a 2 ...
*
Clipper
A clipper was a type of mid-19th-century merchant sailing vessel, designed for speed. Clippers were generally narrow for their length, small by later 19th century standards, could carry limited bulk freight, and had a large total sail area. "C ...
*
Cognos PowerHouse 4GL
*
DataFlex
DataFlex is an object-oriented high-level programming language and a fourth generation visual tool 4GL for developing Windows, web and mobile software applications on one framework-based platform. It was introduced and developed by ''Data Access C ...
(Microsoft Windows, web, mobile)
*
DATATRIEVE
DATATRIEVE is a database query and report writer tool originally from Digital Equipment Corporation. It runs on the OpenVMS operating system, as well as several PDP-11 operating systems. DATATRIEVE's command structure is nearly plain English, and ...
*
dBase
dBase (also stylized dBASE) was one of the first database management systems for microcomputers and the most successful in its day. The dBase system includes the core database engine, a query system, a forms engine, and a programming language ...
*
FileMaker
*
FOCUS
Focus, or its plural form foci may refer to:
Arts
* Focus or Focus Festival, former name of the Adelaide Fringe arts festival in South Australia Film
*''Focus'', a 1962 TV film starring James Whitmore
* ''Focus'' (2001 film), a 2001 film based ...
*
Forté TOOL (transactional object-oriented language)
*
GeneXus
GeneXus is a Low Code, cross-platform, knowledge representation-based development tool, mainly oriented towards enterprise-class applications for web applications, smart devices, and the Microsoft Windows platform.
GeneXus uses mostly declara ...
*
Harbour
A harbor (American English), harbour (British English; see spelling differences), or haven is a sheltered body of water where ships, boats, and barges can be docked. The term ''harbor'' is often used interchangeably with ''port'', which is a ...
*
HyperCard
HyperCard is a software application and development kit for Apple Macintosh and Apple IIGS computers. It is among the first successful hypermedia systems predating the World Wide Web.
HyperCard combines a flat-file database with a graphical, fl ...
(development and support were ended)
*IBM Rational EGL (
Enterprise Generation Language
EGL (Enterprise Generation Language), originally developed by IBM and now available as the EDT (EGL Development Tools) open source project under the Eclipse Public License (EPL), is a programming technology designed to meet the challenges of mode ...
)
*
LabVIEW
Laboratory Virtual Instrument Engineering Workbench (LabVIEW) is a system-design platform and development environment for a visual programming language from National Instruments.
The graphical language is named "G"; not to be confused with G-co ...
*
LANSA
*
LINC
The LINC (Laboratory INstrument Computer) is a 12-bit, 2048-word transistorized computer. The LINC is considered by some the first minicomputer and a forerunner to the personal computer. Originally named the "Linc", suggesting the project's o ...
*
LiveCode
LiveCode (formerly Revolution and MetaCard) is a cross-platform rapid application development runtime system inspired by HyperCard. It features the ''LiveCode Script'' (formerly MetaTalk) programming language which belongs to the family of xTalk ...
*
M-Power
m-Power is a low-code development platform that uses a point-and-click interface to create enterprise web applications. M-Power is developed with open source languages such as CSS, HTML, and JavaScript. Applications created by m-Power run on any ...
*
NATURAL
Nature, in the broadest sense, is the physical world or universe. "Nature" can refer to the phenomena of the physical world, and also to life in general. The study of nature is a large, if not the only, part of science. Although humans are p ...
*
Omnis Studio
Omnis Studio is a rapid application development (RAD) tool that allows programmers and application developers to create enterprise, web, and mobile applications for Windows, Linux, and macOS personal computers and servers across all business sec ...
SDK
*
Oracle Application Development Framework
In computing, Oracle Application Development Framework, usually called Oracle ADF, provides a Java framework for building enterprise applications. It provides visual and declarative approaches to Java EE development. It supports rapid application ...
*
OutSystems
OutSystems is a Low-code development platform which provides tools for companies to develop, deploy and manage omnichannel enterprise applications.
OutSystems was founded in 2001 in Lisbon, Portugal.
In June 2018 OutSystems secured a $360M ro ...
(Productivity/PaaS)
*
Jmix/CUBA Platform (Productivity/Framework)
*
PowerBuilder
PowerBuilder is an integrated development environment owned by SAP since the acquisition of Sybase in 2010. On July 5, 2016, SAP and Appeon entered into an agreement whereby Appeon, an independent company, would be responsible for developing, sel ...
*
R:Base
*
SheerPower4GL SheerPower 4GL is a fourth-generation programming language developed by ''Touch Technologies, Inc.'' SheerPower 4GL is the result of porting Touch Technologies' ''Intouch 4GL'' programming language that runs on OpenVMS (for DEC Alpha and VAX comput ...
(Microsoft Windows only)
*
SQLWindows/
Team Developer
Gupta Technologies, Limited liability company, LLC was a software development company based in Roseville, California, Roseville, Placer County, California. It was later renamed to Centura Software in the late 1990s and then to Halo Technology H ...
*
Uniface
In archaeology, a uniface is a specific type of stone tool that has been flaked on one surface only. There are two general classes of uniface tools: modified flakes—and formalized tools, which display deliberate, systematic modification of ...
*
Unix Shell
A Unix shell is a command-line Interpreter (computing), interpreter or shell (computing), shell that provides a command line user interface for Unix-like operating systems. The shell is both an interactive command language and a scripting langua ...
*
Visual FoxPro
Visual FoxPro is a Microsoft data-centric procedural programming language with object-oriented programming (OOP) features.
It was derived from FoxPro (originally known as FoxBASE) which was developed by Fox Software beginning in 1984. Fox Techn ...
(development and support were ended)
*
XBase++
*
Xojo
The Xojo programming environment and programming language is developed and commercially marketed by Xojo, Inc. of Austin, Texas for software development targeting macOS, Microsoft Windows, Linux, iOS, the Web and Raspberry Pi. Xojo uses a proprie ...
*
ZIM:X
Database
query language
Query languages, data query languages or database query languages (DQL) are computer languages used to make queries in databases and information systems. A well known example is the Structured Query Language (SQL).
Types
Broadly, query language ...
s
*
FOCUS
Focus, or its plural form foci may refer to:
Arts
* Focus or Focus Festival, former name of the Adelaide Fringe arts festival in South Australia Film
*''Focus'', a 1962 TV film starring James Whitmore
* ''Focus'' (2001 film), a 2001 film based ...
*
4D QL
*
Informix-4GL
Informix-4GL is a 4GL programming language developed by Informix during the mid-1980s. At the time of its initial release in 1986, supported platforms included Microsoft Xenix (on IBM PC AT), DEC Ultrix (running on Microvax II, VAX-11/750, ...
*
NATURAL
Nature, in the broadest sense, is the physical world or universe. "Nature" can refer to the phenomena of the physical world, and also to life in general. The study of nature is a large, if not the only, part of science. Although humans are p ...
*
OpenEdge ABL
*
OpenROAD (Ingres 4GL)
*
Ramis
RAMIS ("Random Access Management Information System") is a fourth-generation programming language (4GL) capable of creating and maintaining databases consisting of named files containing both numeric and alphabetic fields and subsequently producing ...
*
SQL
*
ZIM:X
Report generators
*
LINC
The LINC (Laboratory INstrument Computer) is a 12-bit, 2048-word transistorized computer. The LINC is considered by some the first minicomputer and a forerunner to the personal computer. Originally named the "Linc", suggesting the project's o ...
*
Oracle Reports
Oracle Reports is a tool for developing reports against data stored in an Oracle database. Oracle Reports consists of Oracle Reports Developer (a component of the Oracle Developer Suite) and Oracle Application Server Reports Services (a component o ...
*
Progress 4GL
OpenEdge Advanced Business Language, or OpenEdge ABL for short, is a business application development language created and maintained by Progress Software Corporation (PSC). The language, typically classified as a fourth-generation programmin ...
Query/Results
*
RPG-II
*
ZIM:X
Extract data from files or database to create reports in a wide range of formats is done by the report generator tools.
Data manipulation, analysis, and reporting languages
*
Ab Initio
''Ab initio'' ( ) is a Latin term meaning "from the beginning" and is derived from the Latin ''ab'' ("from") + ''initio'', ablative singular of ''initium'' ("beginning").
Etymology
Circa 1600, from Latin, literally "from the beginning", from ab ...
*
ABAP
ABAP (Advanced Business Application Programming, originally ''Allgemeiner Berichts-Aufbereitungs-Prozessor'', German for "general report preparation processor") is a high-level programming language created by the German software company SAP SE. ...
*
Audit Command Language
Galvanize (formerly known as ACL Services Ltd.) is a privately owned software as a service Software as a service, (SaaS) company founded and headquartered in Vancouver, British Columbia, Canada. The Company builds security, risk management, comp ...
*
Clarion Programming Language
*
CorVision
CorVision is a fourth generation programming tool ( 4GL) currently owned by Attunity, Inc. CorVision was developed by Cortex Corporation for the VAX/VMS ISAM environment. Although Cortex beta tested CorVision-10 which was generated for PCs but Co ...
*
Culprit
A culprit, under English law properly the prisoner at the bar, is one accused of a crime. The term is used, generally, of one guilty of an offence. In origin the word is a combination of two Anglo-French legal words, culpable: guilty, and prit or ...
*
ADS/Online (plus transaction processing)
*
Easytrieve
Easytrieve is a report generator, sold by CA Technologies. Easytrieve Classic and Easytrieve Plus are two available versions of this programming languages primarily designed to generate reports and are used by large corporations operating in mai ...
*
FOCUS
Focus, or its plural form foci may refer to:
Arts
* Focus or Focus Festival, former name of the Adelaide Fringe arts festival in South Australia Film
*''Focus'', a 1962 TV film starring James Whitmore
* ''Focus'' (2001 film), a 2001 film based ...
*
GraphTalk
Computer Sciences Corporation (CSC) was an American multinational corporation that provided information technology (IT) services and professional services. On April 3, 2017, it merged with the Enterprise Services line of business of HP Ente ...
*
IDL
IDL may refer to:
Computing
* Interface description language, any computer language used to describe a software component's interface
** IDL specification language, the original IDL created by Lamb, Wulf and Nestor at Queen's University, Canada
...
*
IGOR Pro
IGOR Pro is a scientific data analysis software, numerical computing environment and programming language that runs on Windows or Mac operating systems. It is developed by WaveMetrics Inc., and was originally aimed at time series analysis, but ha ...
*
Informix-4GL
Informix-4GL is a 4GL programming language developed by Informix during the mid-1980s. At the time of its initial release in 1986, supported platforms included Microsoft Xenix (on IBM PC AT), DEC Ultrix (running on Microvax II, VAX-11/750, ...
*
JSL JSL may refer to:
* JSL, Joint Station LAN, International Space Station
* JSL S.A., a Brazilian logistic company
* '' Japanese: The Spoken Language'', a Japanese textbook
** JSL romanization, the romanization system used in the text
* Jamaican Sig ...
*
Judoscript
Judoscript is a general purpose programming language designed primarily for scripting language, scripting tasks on the Java platform. It was conceived and developed by James Jianbo Huang (), starting in late 2001. Judoscript was one of the first ...
*
LANSA
*
M-Power
m-Power is a low-code development platform that uses a point-and-click interface to create enterprise web applications. M-Power is developed with open source languages such as CSS, HTML, and JavaScript. Applications created by m-Power run on any ...
*
LabVIEW
Laboratory Virtual Instrument Engineering Workbench (LabVIEW) is a system-design platform and development environment for a visual programming language from National Instruments.
The graphical language is named "G"; not to be confused with G-co ...
*
LiveCode
LiveCode (formerly Revolution and MetaCard) is a cross-platform rapid application development runtime system inspired by HyperCard. It features the ''LiveCode Script'' (formerly MetaTalk) programming language which belongs to the family of xTalk ...
*
MANTIS
Mantises are an order (Mantodea) of insects that contains over 2,400 species in about 460 genera in 33 families. The largest family is the Mantidae ("mantids"). Mantises are distributed worldwide in temperate and tropical habitats. They ha ...
*
MAPPER
MAPPER, now known as BIS, is a fourth-generation programming language from
Sperry Univac. Mapper originated in the 1970s based on some work in the 1960s, but has been kept current. It was renamed and also given an extension named ICE - Internet C ...
(
Unisys/Sperry) now part of BIS
*
MARK-IV (
Sterling/Informatics) now VISION:BUILDER of CA
*
Simulink
Simulink is a MATLAB-based graphical programming environment for modeling, simulating and analyzing multidomain dynamical systems. Its primary interface is a graphical block diagramming tool and a customizable set of block libraries. It offers t ...
a component of
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation ...
*
NATURAL
Nature, in the broadest sense, is the physical world or universe. "Nature" can refer to the phenomena of the physical world, and also to life in general. The study of nature is a large, if not the only, part of science. Although humans are p ...
*
Nomad
A nomad is a member of a community without fixed habitation who regularly moves to and from the same areas. Such groups include hunter-gatherers, pastoral nomads (owning livestock), tinkers and trader nomads. In the twentieth century, the popu ...
*
Octave
In music, an octave ( la, octavus: eighth) or perfect octave (sometimes called the diapason) is the interval between one musical pitch and another with double its frequency. The octave relationship is a natural phenomenon that has been refer ...
*
PL/SQL
PL/SQL (Procedural Language for SQL) is Oracle Corporation's procedural extension for SQL and the Oracle relational database. PL/SQL is available in Oracle Database (since version 6 - stored PL/SQL procedures/functions/packages/triggers since ...
*
Progress 4GL
OpenEdge Advanced Business Language, or OpenEdge ABL for short, is a business application development language created and maintained by Progress Software Corporation (PSC). The language, typically classified as a fourth-generation programmin ...
*
R
*
Ramis
RAMIS ("Random Access Management Information System") is a fourth-generation programming language (4GL) capable of creating and maintaining databases consisting of named files containing both numeric and alphabetic fields and subsequently producing ...
*
S
*
Scilab
Scilab is a free and open-source, cross-platform numerical computational package and a high-level, numerically oriented programming language. It can be used for signal processing, statistical analysis, image enhancement, fluid dynamics simulat ...
*
SAS
SAS or Sas may refer to:
Arts, entertainment, and media
* ''SAS'' (novel series), a French book series by Gérard de Villiers
* ''Shimmer and Shine'', an American animated children's television series
* Southern All Stars, a Japanese rock ba ...
*
SPSS
SPSS Statistics is a statistical software suite developed by IBM for data management, advanced analytics, multivariate analysis, business intelligence, and criminal investigation. Long produced by SPSS Inc., it was acquired by IBM in 2009. C ...
*
SQL PL
SQL PL stands for Structured Query Language Procedural Language and was developed by IBM as a set of commands that extend the use of SQL in the IBM Db2 (DB2 UDB Version 7) database system. It provides procedural programmability in addition to th ...
*
SQR
SQR (Hyperion SQR Production Reporting, Part of OBIEE) is a programming language designed for generating reports from database management systems. The name is an abbreviation of Structured Query Reporter, which suggests its relationship to SQL ...
*
Stata
Stata (, , alternatively , occasionally stylized as STATA) is a general-purpose statistical software package developed by StataCorp for data manipulation, visualization, statistics, and automated reporting. It is used by researchers in many fie ...
*
Synon
Synon was a software company which, at its height, dominated the worldwide market for third-party application development tools for the IBM i (formerly AS/400) platform. Its products continue to be used in that sector today, distributed and sup ...
*
Wolfram Language
The Wolfram Language ( ) is a general multi-paradigm programming language developed by Wolfram Research. It emphasizes symbolic computation, functional programming, and rule-based programming and can employ arbitrary structures and data. It is ...
*
XBase++
*
XQuery
XQuery (XML Query) is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats (JSON, bin ...
*
XSLT
XSLT (Extensible Stylesheet Language Transformations) is a language originally designed for transforming XML documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subseque ...
*
ZIM:X
Software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work.
At the lowest programming level, executable code consists ...
creators
*
4th Dimension (Software)
4D (4th Dimension, or Silver Surfer, as it was known during early development) is a relational database management system and IDE developed by Laurent Ribardière. 4D was created in 1984 and had a slightly delayed public release for Macinto ...
*
LiveCode
LiveCode (formerly Revolution and MetaCard) is a cross-platform rapid application development runtime system inspired by HyperCard. It features the ''LiveCode Script'' (formerly MetaTalk) programming language which belongs to the family of xTalk ...
*
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation ...
's GUIDE
*
Omnis Studio
Omnis Studio is a rapid application development (RAD) tool that allows programmers and application developers to create enterprise, web, and mobile applications for Windows, Linux, and macOS personal computers and servers across all business sec ...
*
OpenROAD {{Unreferenced , date= December 2013
OpenROAD stands for "Open Rapid Object Application Development". It is a software product of Actian Corporation.
OpenROAD is a fourth-generation programming language (4GL) which include a suite of development t ...
*
Progress 4GL
OpenEdge Advanced Business Language, or OpenEdge ABL for short, is a business application development language created and maintained by Progress Software Corporation (PSC). The language, typically classified as a fourth-generation programmin ...
AppBuilder
*
SuperTalk
SuperTalk is the scripting language used in SuperCard. SuperTalk is a descendant of HyperTalk.
Extensions to the HyperTalk base language
Additional syntax
One of the most powerful features SuperCard adds to the HyperTalk language is ''user prope ...
*
Visual DataFlex
DataFlex is an object-oriented high-level programming language and a fourth generation visual tool 4GL for developing Windows, web and mobile software applications on one framework-based platform. It was introduced and developed by ''Data Access ...
*
Xojo
The Xojo programming environment and programming language is developed and commercially marketed by Xojo, Inc. of Austin, Texas for software development targeting macOS, Microsoft Windows, Linux, iOS, the Web and Raspberry Pi. Xojo uses a proprie ...
*
XUL
XUL ( ), which stands for XML User Interface Language, is a user interface markup language developed by Mozilla. XUL is an XML dialect for writing graphical user interfaces, enabling developers to write user interface elements in a manner simila ...
Can be used with
XQuery
XQuery (XML Query) is a query and functional programming language that queries and transforms collections of structured and unstructured data, usually in the form of XML, text and with vendor-specific extensions for other data formats (JSON, bin ...
*
ZIM:X
Mathematical optimization
*
AIMMS AIMMS (acronym for Advanced Interactive Multidimensional Modeling System) is a prescriptive analytics software company with offices in the Netherlands, United States, China and Singapore.
It has two main product offerings that provide modeling and ...
*
AMPL
AMPL (A Mathematical Programming Language) is an algebraic modeling language to describe and solve high-complexity problems for large-scale mathematical computing (i.e., large-scale optimization and scheduling-type problems).
It was developed b ...
*
GAMS
Gams is a municipality in the ''Wahlkreis'' (constituency) of Werdenberg in the canton of St. Gallen in Switzerland.
History
Gams is first mentioned in 835 as ''Campesias''. In 1210 it was mentioned as ''Chames'', in 1236 as ''Gamps''. Unti ...
*
MathProg
The GNU Linear Programming Kit (GLPK) is a software package intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the for ...
*
MATLAB
MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementation ...
*
Mathematica
Wolfram Mathematica is a software system with built-in libraries for several areas of technical computing that allow machine learning, statistics, symbolic computation, data manipulation, network analysis, time series analysis, NLP, optimizat ...
*
ZIM:X
Database-driven GUI application development
*
C/AL
C/AL (Client/server Application Language) was the programming language used within C/SIDE the Client/Server Integrated Development Environment in Microsoft Dynamics NAV (Formerly known as Navision Attain) and Microsoft Dynamics 365 Business Cen ...
*
Genexus
GeneXus is a Low Code, cross-platform, knowledge representation-based development tool, mainly oriented towards enterprise-class applications for web applications, smart devices, and the Microsoft Windows platform.
GeneXus uses mostly declara ...
*
SB+/SystemBuilder
*
Unify VISION
Daegis Inc. (formerly Unify Corporation) was one of the early developers of database management systems and tools for database development. It was founded in 1980 and headquartered in Irving, Texas. Unify initially focused on providing databases ...
*
ZIM:X
Low code / No code development platforms
*
1C:Enterprise programming language
*
Appcelerator
Appcelerator is a privately held mobile technology company based in San Jose, California. Its main products are Titanium, an open-source software development kit for cross-platform mobile development, and the Appcelerator Platform.
Founded in 20 ...
*
Appian
Appian of Alexandria (; grc-gre, Ἀππιανὸς Ἀλεξανδρεύς ''Appianòs Alexandreús''; la, Appianus Alexandrinus; ) was a Greek historian with Roman citizenship who flourished during the reigns of Emperors of Rome Trajan, Hadr ...
*
Bizagi
Bizagi is a privately owned software company established in 1989 with headquarters in the US, and offices in UK, Spain, Germany & Latin America. Its name is a portmanteau of "business" and "agility".
The company provides enterprise software for ...
*
DronaHQ
DronaHQ, is a low code app development platform, from Deltecs InfoTech Pvt. Ltd., Mumbai, India that helps to build internal tools, and business apps. The platform advertises multi-experience output (Mobile & Web) with visual builders, online dat ...
*
K2
*
Kony
*
LANSA
*
M-Power
m-Power is a low-code development platform that uses a point-and-click interface to create enterprise web applications. M-Power is developed with open source languages such as CSS, HTML, and JavaScript. Applications created by m-Power run on any ...
*
Mendix
*
OutSystems
OutSystems is a Low-code development platform which provides tools for companies to develop, deploy and manage omnichannel enterprise applications.
OutSystems was founded in 2001 in Lisbon, Portugal.
In June 2018 OutSystems secured a $360M ro ...
*
Pegasystems
Pegasystems Inc. is an American software company based in Cambridge, Massachusetts. Founded in 1983, Pegasystems develops software for customer relationship management (CRM) and business process management (BPM). The company has been publicly tr ...
*
PNMsoft
PNMsoft is a global software company which provides BPM (Business Process Management) software. Its product, Sequence, is a BPM software suite which enables building workflow applications with the purpose of improving business operations.
Histo ...
*
Progress
Progress is the movement towards a refined, improved, or otherwise desired state. In the context of progressivism, it refers to the proposition that advancements in technology, science, and social organization have resulted, and by extension wi ...
*
ServiceNow
ServiceNow is an American software company based in Santa Clara, California that develops a cloud computing platform to help companies manage digital workflows for enterprise operations. Founded in 2003 by Fred Luddy, ServiceNow is listed on the ...
*
Servoy
Servoy is a development and deployment platform for enterprise applications, written itself in Java, and which uses JavaScript as its scripting language. It can adopt the native look and feel of any platform or the web, using HTML5 and CSS code. S ...
*
ViziApps
ViziApps is an online mobile application platform for creating native and web mobile applications for the iPhone, iPad and Android smartphones and tablets. The online service enables customers to build mobile apps without coding including both the ...
*
WEM
Wem may refer to:
* HMS ''Wem'' (1919), a minesweeper of the Royal Navy during World War I
*Weem, a village in Perthshire, Scotland
* Wem, a small town in Shropshire, England
*Wem (musician), hip hop musician
WEM may stand for:
* County Westmeath, ...
Screen painters and generators
*
Oracle Forms
Oracle Forms is a software product for creating screens that interact with an Oracle database. It has an IDE that includes an object navigator, property sheet, and code editor that uses PL/SQL. It was originally developed to run server-side in c ...
*
Progress 4GL
OpenEdge Advanced Business Language, or OpenEdge ABL for short, is a business application development language created and maintained by Progress Software Corporation (PSC). The language, typically classified as a fourth-generation programmin ...
ProVision
*
SB+/SystemBuilder
*
ZIM:X
Web development languages
*
ActiveVFP
ActiveVFP (also known as AVFP) is a server-side scripting framework designed for Web development to produce dynamic Web pages. Similar to PHP, but using the native Visual Foxpro (VFP) language and database (or other databases like Microsoft SQL ...
*
CFML
ColdFusion Markup Language, more commonly known as CFML, is a server-side scripting, scripting language for web development that runs on the JVM, the .NET Framework, .NET framework, and Google App Engine. Multiple commercial and open-source soft ...
*
LANSA
*
OutSystems
OutSystems is a Low-code development platform which provides tools for companies to develop, deploy and manage omnichannel enterprise applications.
OutSystems was founded in 2001 in Lisbon, Portugal.
In June 2018 OutSystems secured a $360M ro ...
*
Wavemaker
WaveMaker is an enterprise grade Java low code platform for building software applications and platforms. WaveMaker Inc. is headquartered in Mountain View, California. For enterprises, WaveMaker is a low code platform that aims to accelerate the ...
*
ZIMWEB
Music Programming language
*
MaxMSP
Max, also known as Max/MSP/Jitter, is a visual programming language for music and multimedia developed and maintained by San Francisco-based software company Cycling '74. Over its more than thirty-year history, it has been used by composers, pe ...
See also
*
First-generation programming language
A first-generation programming language (1GL) is a machine-level programming language.
A first generation (programming) language (1GL) is a grouping of programming languages that are machine level languages used to program first-generation com ...
*
Second-generation programming language
The label of second-generation programming language (2GL) is a generational way to categorize assembly languages.
The term was coined to provide a distinction from higher level machine independent third-generation programming languages (3GLs) (su ...
*
Third-generation programming language
A third-generation programming language (3GL) is a high-level computer programming language that tends to be more machine-independent and programmer-friendly than the machine code of the first-generation and assembly languages of the second-gene ...
*
Fifth-generation programming language
A fifth-generation programming language (5GL) is any programming language based on problem-solving using constraints given to the program, rather than using an algorithm written by a programmer. Most constraint-based and logic programming languag ...
*
List of fourth-generation programming languages
This is a list of notable programming languages, grouped by type.
There is no overarching classification scheme for programming languages. Thus, in many cases, a language is listed under multiple headings (in this regard, see " Multiparadigm lan ...
*
Domain-specific programming language
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
*
Rapid application development
Rapid application development (RAD), also called rapid application building (RAB), is both a general term for adaptive software development approaches, and the name for James Martin's method of rapid development. In general, RAD approaches to ...
References
{{DEFAULTSORT:Fourth-Generation Programming Language
Programming language classification
Fourth-generation programming languages