ISO/IEC JTC 1/SC 22 Programming languages, their environments and system software interfaces is a standardization subcommittee of the Joint Technical Committee ISO/IEC JTC 1 of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC) that develops and facilitates standards within the fields of programming languages, their environments and system software interfaces. ISO/IEC JTC 1/SC 22 is also sometimes referred to as the "portability subcommittee". The international secretariat of ISO/IEC JTC 1/SC 22 is the American National Standards Institute (ANSI), located in the United States.

History

ISO/IEC JTC 1/SC 22 was created in 1985, with the intention of creating a JTC 1 subcommittee that would address standardization within the field of programming languages, their environments and system software interfaces. Before the creation of ISO/IEC JTC 1/SC 22, programming language standardization was addressed by ISO TC 97/SC 5. Many of the original working groups of ISO/IEC JTC 1/SC 22 were inherited from a number of the working groups of ISO TC 97/SC 5 during its reorganization, including ISO/IEC JTC 1/SC 22/WG 2 – Pascal (originally ISO TC 97/SC 5/WG 4), ISO/IEC JTC 1/SC 22/WG 4 – COBOL (originally ISO TC 97/SC 5/ WG 8), and ISO/IEC JTC 1/SC 22/WG 5 – Fortran (originally ISO TC 97/SC 5/WG 9). Since then, ISO/IEC JTC 1/SC 22 has created and disbanded many of its working groups in response to the changing standardization needs of programming languages, their environments and system software interfaces.

Scope and mission The scope of ISO/IEC JTC 1/SC 22 is the standardization of programming languages (such as COBOL, Fortran, Ada, C, C++, and Prolog), their environments (such as POSIX and Linux), and systems software interfaces, such as: Specification techniques Common facilities and interfaces

ISO/IEC JTC 1/SC 22 also produces common language-independent specifications to facilitate standardized bindings between programming languages and system services, as well as greater interaction between programs written in different languages.

The scope of ISO/IEC JTC 1/SC 22 does not include specialized languages or environments within the program of work of other subcommittees or technical committees.

The mission of ISO/IEC JTC 1/SC 22 is to improve portability of applications, productivity and mobility of programmers, and compatibility of applications over time within high level programming environments. The three main goals of ISO/IEC JTC 1/SC 22 are: To support the current global investment in software applications through programming languages standardization To improve programming language standardization based on previous specification experience in the field To respond to emerging technological opportunities

Structure Although ISO/IEC JTC 1/SC 22 has had a total of 24 working groups (WGs), many have been disbanded when the focus of the working group was no longer applicable to the current standardization needs. ISO/IEC JTC 1/SC 22 is currently made up of eight (8) active working groups, each of which carries out specific tasks in standards development within the field of programming languages, their environments and system software interfaces. The focus of each working group is described in the group’s terms of reference. Working groups of ISO/IEC JTC 1/SC 22 are:

Working Group Working Area Status ISO/IEC JTC 1/SC 22/WG 1 PLIP (Programming Languages for Industrial Processes) Disbanded ISO/IEC JTC 1/SC 22/WG 2 Pascal Disbanded ISO/IEC JTC 1/SC 22/WG 3 APL Disbanded ISO/IEC JTC 1/SC 22/WG 4 COBOL Active ISO/IEC JTC 1/SC 22/WG 5 Fortran Active ISO/IEC JTC 1/SC 22/WG 6 ALGOL Disbanded ISO/IEC JTC 1/SC 22/WG 7 PL/I Disbanded ISO/IEC JTC 1/SC 22/WG 8 BASIC Disbanded ISO/IEC JTC 1/SC 22/WG 9 Ada Active ISO/IEC JTC 1/SC 22/WG 10 Guidelines Disbanded ISO/IEC JTC 1/SC 22/WG 11 Binding Techniques Disbanded ISO/IEC JTC 1/SC 22/WG 12 Conformity Disbanded ISO/IEC JTC 1/SC 22/WG 13 Modula-2 Disbanded ISO/IEC JTC 1/SC 22/WG 14 C Active ISO/IEC JTC 1/SC 22/WG 15 POSIX Disbanded ISO/IEC JTC 1/SC 22/WG 16 ISLisp Disbanded ISO/IEC JTC 1/SC 22/WG 17 Prolog Active ISO/IEC JTC 1/SC 22/WG 18 FIMS (Form Interface Management System) Disbanded ISO/IEC JTC 1/SC 22/WG 19 Formal Specification Languages Disbanded ISO/IEC JTC 1/SC 22/WG 20 Internationalization Disbanded ISO/IEC JTC 1/SC 22/WG 21 C++ Active ISO/IEC JTC 1/SC 22/WG 22 PCTE (Portable Common Tool Environment) Disbanded ISO/IEC JTC 1/SC 22/WG 23 Programming Language Vulnerabilities Active ISO/IEC JTC 1/SC 22/WG 24 Linux Active

Collaborations ISO/IEC JTC 1/SC 22 works in close collaboration with a number of other organizations or subcommittees, some internal to ISO, and others external to it. Organizations in liaison with ISO/IEC JTC 1/SC 22, internal to ISO are: ISO/IEC JTC 1/SC 2, Coded character sets ISO/IEC JTC 1/SC 7, Software and systems engineering ISO/IEC JTC 1/SC 27, IT Security techniques ISO/TC 37, Terminology and other language and content resources ISO/TC 215, Health informatics

Organizations in liaison to ISO/IEC JTC 1/SC 22 that are external to ISO are: Ecma International Linux Foundation Association for Computing Machinery Special Interest Group on Ada (ACM SIGAda) Ada-Europe MISRA

Member countries Countries pay a fee to ISO to be members of subcommittees.

The 27 "P" (participating) members of ISO/IEC JTC 1/SC 22 are: Austria, Brazil, Bulgaria, Canada, China, Czech Republic, Denmark, Finland, France, Germany, India, Ireland, Israel, Italy, Japan, Kazakhstan, Republic of Korea, Netherlands, Poland, Romania, Russian Federation, Slovenia, Spain, Switzerland, Ukraine, United Kingdom, and United States of America.

The 22 "O" (observing) members of ISO/IEC JTC 1/SC 22 are: Argentina, Belgium, Bosnia and Herzegovina, Cuba, Egypt, Ghana, Greece, Hungary, Iceland, Indonesia, Islamic Republic of Iran, Democratic People’s Republic of Korea, Malaysia, New Zealand, Norway, Pakistan, Portugal, Serbia, Slovakia, Slovenia, Thailand and Turkey.

Published standards and technical reports ISO/IEC JTC 1/SC 22 currently has 98 published standards in programming languages, their environments and system software interfaces. Some standards published by ISO/IEC JTC 1/SC 22 within this field include: ISO/IEC Standard/Technical Report Title Status Description WG ISO 7185 Information technology – Programming languages – Pascal Published (1991) Provides a machine independent definition of the Pascal programming language. Specifies semantics and syntax by specifying requirements for a processor and for a conforming program. ISO/IEC 1989 Information technology – Programming languages – COBOL Published (2023) Improves interoperability, international character set handling, and data validation for the programming language COBOL. Includes a number of technological enhancements, such as, features for object-oriented programming. 4 ISO/IEC 1539-1 Information technology – Programming languages – Fortran – Part 1: Base language Published (2010) Specifies the form and interpretation of programs expressed in the base Fortran programming language. 5 ISO/IEC 8652 Information technology – Programming languages – Ada Published (2023) Specifies the form and meaning of programs written in the Ada programming language. Promotes the portability of Ada programs to a variety of computing systems. 9 ISO/IEC 9899 Information technology – Programming languages – C Published (2024) Specifies the form and interpretation of programs written in the C programming language 14 ISO/IEC/IEEE 9945 Information technology – Portable Operating System Interface (POSIX) Base Specifications, Issue 7 Published (2009) Defines a standard operating system interface and environment for support of applications portability at the source code level. 15 ISO/IEC 13211-1 Information technology – Programming languages – Prolog – Part 1: General core Published (1995) Promotes the portability and applicability of Prolog data and text for a variety of data processing systems. 17 ISO/IEC 14882 Information technology – Programming languages – C++ Published (2024) Specifies requirements for the implementation of the C++ programming language. 21 ISO/IEC 23270 Information technology – Programming languages – C# Published (2006) Specifies the form and interpretation of programs written in the C# programming language ISO/IEC 16262 Information technology – Programming languages, their environments and system software interfaces – ECMAScript language specification Published (2011) Defines the scripting language for ECMAScript. ISO/IEC 23360-1 Linux Standard Base (LSB) core specification 3.1 – Part 1: Generic specification Published (2006) Defines a system interface for compiled applications and minimal environment of installation scripts. ISO/IEC 23271 Information technology -- Common Language Infrastructure (CLI) Published (2012) Defines the Common Language Infrastructure (CLI) in which applications written in multiple high-level languages can be executed in different system environments without the need to rewrite. ISO/IEC 25436 Information technology -- Eiffel: Analysis, Design and Programming Language Published (2006) Provides the full reference for the Eiffel language. ISO/IEC TR 24772 Information technology -- Programming languages -- Guidance to avoiding vulnerabilities in programming languages through language selection and use Published (2013) Specifies software programming language vulnerabilities to be avoided in the development of systems where assured behaviour is required for security, safety, mission-critical and business-critical software. ISO/IEC 30170 Information technology -- Programming languages -- Ruby Published (2012) Specifies the syntax and semantics of the computer programming language Ruby, and the requirements for conforming Ruby processors, strictly conforming Ruby programs, and conforming Ruby programs.

See also ISO/IEC JTC 1 List of ISO standards American National Standards Institute International Organization for Standardization International Electrotechnical Commission

References

External links ISO/IEC JTC 1/SC 22 page at ISO