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.[1][2]


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.[3] 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).[3] 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),[2] and systems software interfaces, such as:[4]

  • 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.[5]

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.[6]

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:[7]

  • 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


Although ISO/IEC JTC 1/SC 22 has a total of 23 working groups (WGs), many have been disbanded when the focus of the working group was no longer applicable to the current standardization needs.[3] ISO/IEC JTC 1/SC 22 is currently made up of seven 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:[8]

Working Group Working Area Status
ISO/IEC JTC 1/SC 22/WG 1PLIP (Programming Languages for Industrial Processes)Disbanded
ISO/IEC JTC 1/SC 22/WG 2PascalDisbanded
ISO/IEC JTC 1/SC 22/WG 3APLDisbanded
ISO/IEC JTC 1/SC 22/WG 5FortranActive
ISO/IEC JTC 1/SC 22/WG 6ALGOLDisbanded
ISO/IEC JTC 1/SC 22/WG 7PL/IDisbanded
ISO/IEC JTC 1/SC 22/WG 8BASICDisbanded
ISO/IEC JTC 1/SC 22/WG 9AdaActive
ISO/IEC JTC 1/SC 22/WG 10GuidelinesDisbanded
ISO/IEC JTC 1/SC 22/WG 11Binding TechniquesDisbanded
ISO/IEC JTC 1/SC 22/WG 12ConformityDisbanded
ISO/IEC JTC 1/SC 22/WG 13Modula-2Disbanded
ISO/IEC JTC 1/SC 22/WG 14CActive
ISO/IEC JTC 1/SC 22/WG 15POSIXDisbanded
ISO/IEC JTC 1/SC 22/WG 16ISLispDisbanded
ISO/IEC JTC 1/SC 22/WG 17PrologActive
ISO/IEC JTC 1/SC 22/WG 18FIMS (Form Interface Management System)Disbanded
ISO/IEC JTC 1/SC 22/WG 19Formal Specification LanguagesDisbanded
ISO/IEC JTC 1/SC 22/WG 20InternationalizationDisbanded
ISO/IEC JTC 1/SC 22/WG 21C++Active
ISO/IEC JTC 1/SC 22/WG 22PCTE (Portable Common Tool Environment)Disbanded
ISO/IEC JTC 1/SC 22/WG 23Programming Language VulnerabilitiesActive


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:[2][6][9][10]

Organizations in liaison to ISO/IEC JTC 1/SC 22 that are external to ISO are:

Member countries

Countries pay a fee to ISO to be members of subcommittees.[11]

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

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

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:[14][15][16]

ISO/IEC Standard/Technical Report Title Status Description WG
ISO 7185Information technology – Programming languages – PascalPublished (1990)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.[17]
ISO/IEC 1989Information technology – Programming languages – COBOLPublished (2002)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.[18][19]4
ISO/IEC 1539-1Information technology – Programming languages – Fortran – Part 1: Base languagePublished (2010)Specifies the form and interpretation of programs expressed in the base Fortran programming language.5
ISO/IEC 8652Information technology – Programming languages – AdaPublished (2012)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 9899Information technology – Programming languages – CPublished (2018)Specifies the form and interpretation of programs written in the C programming language14
ISO/IEC/IEEE 9945Information technology – Portable Operating System Interface (POSIX) Base Specifications, Issue 7Published (2009)Defines a standard operating system interface and environment for support of applications portability at the source code level.15
ISO/IEC 13211-1Information technology – Programming languages – Prolog – Part 1: General corePublished (1995)Promotes the portability and applicability of Prolog data and text for a variety of data processing systems.17
ISO/IEC 14882Information technology – Programming languages – C++Published (2017)Specifies requirements for the implementation of the C++ programming language.21
ISO/IEC 23270Information technology – Programming languages – C#Published (2006)Specifies the form and interpretation of programs written in the C# programming language
ISO/IEC 16262Information technology – Programming languages, their environments and system software interfaces – ECMAScript language specificationPublished (2011)Defines the scripting language for ECMAScript.
ISO/IEC 23360-1Linux Standard Base (LSB) core specification 3.1 – Part 1: Generic specificationPublished (2006)Defines a system interface for compiled applications and minimal environment of installation scripts.
ISO/IEC 23271Information 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 25436Information technology -- Eiffel: Analysis, Design and Programming LanguagePublished (2006)Provides the full reference for the Eiffel language.
ISO/IEC TR 24772Information technology -- Programming languages -- Guidance to avoiding vulnerabilities in programming languages through language selection and usePublished (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.

See also


  1. ISO. "ISO/IEC JTC 1/SC 22 - Programming languages, their environments and system software interfaces". Retrieved 2013-07-19.
  2. Jaeschke, Rex (2012-10-02). "SC 22 Business Plan for ISO/IEC JTC 1/SC 22 for the Period 2011-10 to 2012-09" (PDF). ISO/IEC. Retrieved 2013-07-22. Cite journal requires |journal= (help)
  3. Jaeschke, Rex (2012-12-14). "SC 22 Standing Document 2: SC 22 Input to JTC 1/SD2 ("JTC 1 History")". ISO. Cite journal requires |journal= (help)
  4. Peacock, Marisa (2010-08-02). JTC 1 SC 22 Secretariat Report to the 2010 SC 22 Plenary (PDF) (Report). Retrieved 2013-07-22.
  5. ISO/IEC JTC 1/SC 22 (2014-10-13). JTC 1/SC 22 Business Plan - 2014 (Report).
  6. ISO/IEC (2012-10-19). "Revised Standing Document 2 (SD 2), JTC 1 History". Cite journal requires |journal= (help)
  7. Hill, John L. (February 2001). "Briefing – Information Technology: ISO/IEC JTC 1 Subcommittee 22, Programming Languages, their Environments, and System Software Interfaces" (PDF). ISO Bulletin. 2. Retrieved 2013-07-22.
  8. "ISO/IEC JTC 1/SC 22 Programming languages, their environments and system software interfaces". ISO. p. Structure. Retrieved 2013-07-22.
  9. Peacock, Marisa (2013-05-23). Twenty Sixth Plenary Meeting of ISO/IEC JTC 1/SC 22 (Meeting Agenda). Tokyo, Japan.
  10. "ISO/IEC JTC 1/SC 22 Liaisons". ISO. Retrieved 2015-07-14.
  11. ISO (June 2012). "III. What Help Can I Get from the ISO Central Secretariat?". ISO Membership Manual (PDF). ISO. pp. 17–18. Retrieved 2013-07-12.
  12. ISO. "ISO/IEC JTC 1/SC 22 - Programming languages, their environments and system software interfaces". ISO. Retrieved 2019-11-18.
  13. "ISO Technical Committee Participation". ISO. Retrieved 2019-11-18.
  14. ISO. "JTC 1/SC 22 - Programming languages, their environments and system software interfaces". Retrieved 2012-07-22.
  15. Peacock, Marisa (2011-08-10). SC 22 Programme of Work (Report).
  16. "ISO/IEC JTC 1/SC 22". ISO. Retrieved 2015-07-14.
  17. ISO/IEC (1991). "Pascal ISO 7185:1990" (PDF). ISO/IEC. Retrieved 2013-07-25. Cite journal requires |journal= (help)
  18. Karinch, Maryann (2003-04-21). "INCITS Approves Revised ISO/IEC COBOL Standard as an American National Standard". Washington, D.C.: InterNational Committee for Information Technology Standards (INCITS). Retrieved 2013-07-25.
  19. Klein, William M. (2010-10-04). "The History of COBOL" (PDF). Archived from the original (PDF) on 2014-01-07. Retrieved 2013-07-25. Cite journal requires |journal= (help)
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.