Glossary · Automation software engineering and architecture
General-purpose programming language
Also known as: GPL (programming language)
German: Universelle Programmiersprache
In software engineering, a general-purpose programming language is a programming language designed to build software for a wide range of application domains, such as C, C++, C#, Java, Python or Rust, as opposed to a domain-specific language designed for one domain.
- Software engineering
In one sentence
A general-purpose programming language, such as C, C#, Java or Python, is designed to build software for many application domains.
Example
The machine builder writes its PLC logic in structured text but uses C# for the HMI and Python for test automation and data analysis.
How it applies
- Engineering: General-purpose languages are used in automation for firmware, drivers, HMI and SCADA applications, edge applications, engineering tools and test systems. PLCs increasingly allow C/C++ or other languages alongside IEC 61131-3.
- Selection: The choice depends on the target platform, real-time needs, available libraries, safety and security requirements, and the skills of the team that must maintain the software for years.
- Documentation: State the languages and versions used in each part of the system, together with the coding standards applied. For products that expose APIs, provide examples in the languages customers actually use.
General-purpose vs. domain-specific language
A Domain-specific language (DSL) offers concepts of one domain, such as ladder diagram for relay-style logic. General-purpose languages are more flexible but require more programming skill and discipline. IEC 61131-3 languages are often considered domain-specific, although structured text is close to a general-purpose language in its syntax.