Hubbry Logo
ISO/IEC JTC 1/SC 22ISO/IEC JTC 1/SC 22Main
Open search
ISO/IEC JTC 1/SC 22
Community hub
ISO/IEC JTC 1/SC 22
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
ISO/IEC JTC 1/SC 22
ISO/IEC JTC 1/SC 22
from Wikipedia

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]

History

[edit]
Studying papers and making notes during a ISO/IEC JTC 1/SC 22/WG 21 C++ Standards Committee meeting at the British Standards Institution in London in 1997

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

[edit]

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

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

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

  • 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

[edit]

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

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[7] Linux Active

Collaborations

[edit]

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

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

Member countries

[edit]

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

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

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, Thailand and Turkey.[12]

Published standards and technical reports

[edit]

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

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

[edit]

References

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
ISO/IEC JTC 1/SC 22 is the international standardization subcommittee under the Joint Technical Committee 1 (JTC 1) of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), responsible for the development, maintenance, and promotion of standards concerning programming languages, their environments, and system software interfaces. Known as the "portability subcommittee," it focuses on ensuring interoperability and machine independence in software across diverse platforms and systems. Established in 1985 as a successor to ISO TC 97/SC 5, SC 22 inherited and expanded efforts in programming language standardization that dated back to the 1970s. The subcommittee's secretariat is administered by the American National Standards Institute (ANSI) in the United States, with current leadership including Chairperson David Keaton (serving until the end of 2026). Its scope excludes specialized languages assigned to other JTC 1 subcommittees but encompasses a broad range of general-purpose languages and related interfaces. SC 22 operates through a network of working groups (WGs), each dedicated to specific areas of standardization. As of November 2025, active groups include WG 4 (COBOL), WG 5 (Fortran), WG 9 (Ada), WG 14 (C), WG 17 (Prolog), WG 21 (C++), WG 23 (language vulnerabilities), and WG 24 (related to Linux environments). Over its history, it has disbanded numerous groups upon completion of their mandates, such as WG 15 (POSIX) and WG 20 (internationalization). The subcommittee collaborates with organizations like Ecma International, the Linux Foundation, and national bodies to advance its work. As of November 2025, SC 22 has published 110 ISO standards and has 15 projects under development, including revisions to foundational specifications for major programming languages. Notable outputs include ISO/IEC 9899:2024 (C programming language), ISO/IEC 14882:2024 (C++), ISO/IEC 1989:2023 (COBOL), ISO/IEC 1539-1:2023 (Fortran), and ISO/IEC 8652:2023 (Ada), which underpin portable software development worldwide. These standards have facilitated the evolution of computing by promoting consistency, security, and efficiency in programming practices.

Background

History

ISO/IEC JTC 1/SC 22 was established in 1985 as a subcommittee succeeding ISO/TC 97/SC 5 "Information Processing Systems — Programming Languages," inheriting several working groups focused on legacy programming languages, including WG 2 for Pascal (originally TC 97/SC 5/WG 4), WG 4 for COBOL, and WG 5 for Fortran. This transition occurred amid broader restructuring in international standards for information technology, with SC 22 initially comprising around 24 working groups addressing various languages and interfaces from the era. In 1987, following the formation of the joint ISO/IEC JTC 1 committee, SC 22 was formally recognized and integrated under its structure, solidifying its role in standardizing programming languages, environments, and system software interfaces. During the 1990s, SC 22 expanded to encompass emerging languages, notably establishing WG 14 for the C programming language in alignment with its first international standard (ISO/IEC 9899:1990) and WG 21 for C++ standardization starting around 1990, reflecting the growing need for portable, object-oriented programming support. The subcommittee also began adopting digital communication tools, such as email in 1991 and online document distribution by 1996, enhancing global collaboration. Into the 2000s, SC 22 consolidated by disbanding obsolete groups, including WG 8 for BASIC (completed its work by early 2000s) and WG 10 for guidelines (disbanded in 1986 after its final report, with further legacy cleanup). Additional disbandments followed, such as WG 3 for APL in 2006, reducing the number of active working groups from the original 24 in the 1980s to 8 today amid technological shifts toward fewer, more dominant languages. In the 2010s, SC 22 shifted emphasis to modern languages, enhanced portability, and security, with disbandments like WG 11 for binding techniques and WG 16 for ISLisp in 2011, allowing focus on high-impact areas such as vulnerability guidance (WG 23). Recent milestones include the publication of ISO/IEC 9899:2024 (C23) by WG 14 and ISO/IEC 14882:2024 (C++23) by WG 21 in 2024, advancing features for concurrency, attributes, and bit-precise integers. At the September 2025 virtual plenary, SC 22 established Ad Hoc Group 1 (AhG 1) to revise Standing Document SD 1 on merit-based convenor appointments, with recommendations due by the 2026 plenary.

Scope and Focus Areas

ISO/IEC JTC 1/SC 22 serves as the international standardization subcommittee responsible for programming languages, their environments, and system software interfaces, with a primary emphasis on ensuring portability across diverse computing systems. Often referred to as the "portability subcommittee," it coordinates efforts to define precise syntax and semantics for widely used programming languages, including C, C++, Ada, COBOL, and Fortran, thereby facilitating consistent implementation and usage globally. This work extends to language environments, encompassing runtime systems and standard libraries that support execution and integration, as well as system software interfaces such as POSIX and other open systems portability standards that enable interoperability between operating systems and applications. The core mission of SC 22 is to foster international consensus on language specifications and interfaces, ultimately enhancing software portability, developer productivity, and overall system interoperability in an increasingly heterogeneous computing landscape. By establishing rigorous, agreed-upon standards, SC 22 reduces implementation variances that could hinder software reuse and deployment across platforms, promoting efficiency in software development and maintenance. This objective supports broader goals in information technology by minimizing fragmentation in programming paradigms and enabling seamless collaboration among developers and vendors worldwide. In addressing contemporary challenges, SC 22 incorporates security considerations into language design and implementation, particularly through initiatives focused on identifying and mitigating vulnerabilities independent of specific languages. For instance, Working Group 23 (WG 23) develops technical reports providing guidance on avoiding common security flaws, such as those arising from unchecked data conversions or memory management issues, applicable to languages like C, Java, and Python. reflecting SC 22's commitment to safer programming practices without prescribing exhaustive lists of defects. Additionally, SC 22 promotes guidelines for the thoughtful evolution of programming languages, balancing innovation with backward compatibility to sustain long-term ecosystem stability.

Organization

Structure

ISO/IEC JTC 1/SC 22 operates as a subcommittee of the Joint Technical Committee 1 (JTC 1) for information technology, focusing on the standardization of programming languages, their environments, and system software interfaces. It is administered by a secretariat hosted by ANSI in the United States, with decision-making authority vested in its plenary sessions, which convene periodically—typically several times per year—to approve projects, review progress, and manage organizational matters. As of 2025, the subcommittee maintains eight active working groups (WGs), each dedicated to specific areas within its scope. The active working groups are as follows:
Working GroupFocus Area
WG 4COBOL standardization and maintenance
WG 5Fortran standardization and revisions
WG 9Ada programming language standardization
WG 14C programming language standardization
WG 17Prolog standardization
WG 21C++ standardization
WG 23Vulnerabilities in programming languages
WG 24Linux Standard Base
These groups conduct technical work and propose standards for plenary approval. In addition to standing working groups, SC 22 forms ad hoc groups (AhGs) to address specific, time-bound tasks. For instance, at its September 2025 virtual plenary, SC 22 established AhG 1 to revise its Standing Document 1 (SD 1) on merit-based appointments of working group convenors, with recommendations expected by the 2026 plenary. Historically, SC 22 has disbanded working groups upon completion of their mandates to streamline operations, providing context for the current focused setup. Examples include WG 2 (Pascal, disbanded in 1995 after finalizing its standards), WG 8 (BASIC, disbanded following the maturation of related specifications), and WG 10 (guidance on programming language standards, disbanded as its advisory role concluded).

Membership

ISO/IEC JTC 1/SC 22's membership comprises national member bodies of ISO and IEC, which represent their countries in the standardization process. As of 2025, the subcommittee has 27 participating (P) members, which hold full voting rights and are expected to actively contribute to the development of standards, and 22 observer (O) members, which monitor activities without voting privileges. The secretariat of SC 22 is held by the American National Standards Institute (ANSI) of the United States, responsible for administrative coordination and support. Major participating national bodies include the Japanese Industrial Standards Committee (JISC) from Japan, Deutsches Institut für Normung (DIN) from Germany, British Standards Institution (BSI) from the United Kingdom, Association Française de Normalisation (AFNOR) from France, Standards Council of Canada (SCC) from Canada, Standardization Administration of China (SAC) from China, and Bureau of Indian Standards (BIS) from India. Participating (P) members are obligated to attend plenary meetings, vote on all ballot items such as new work item proposals and draft standards, and contribute expertise to working groups to maintain their status. Observer (O) members have access to documents and can attend meetings as non-voting participants to stay informed on developments. National bodies join SC 22 through their membership in ISO/IEC JTC 1, where they elect P or O status based on their capacity for active involvement, with transitions possible upon application to the JTC 1 secretariat. This membership has grown in global representation, with notable increases in Asian participation post-2023, including elevated roles from bodies like SAC and BIS, reflecting broader trends in international standardization engagement.

Governance and Activities

Leadership

The leadership of ISO/IEC JTC 1/SC 22 consists of key roles responsible for guiding the subcommittee's standardization activities in programming languages, environments, and system software interfaces. The current chairperson is David Keaton from the United States, serving a term until the end of 2026. The secretariat is held by the American National Standards Institute (ANSI), with Bill Ash as the committee manager, a position that has been permanently assigned to ANSI since SC 22's creation in 1985. Additionally, Stéphane Sauvage serves as the ISO Technical Programme Manager, and Lucy Kirk as the ISO Editorial Manager, providing centralized support from the International Organization for Standardization (ISO). The chairperson leads SC 22 plenaries, coordinates the activities of its working groups (WGs), and ensures alignment with broader JTC 1 objectives. The committee manager and secretariat handle administrative duties, including document distribution, coordination of ballots, and logistical support for meetings. Chairs are elected by the SC 22 plenary for three-year terms, which are renewable, with nominations submitted up to one year prior to the end of the current term to maintain continuity. In recent activities, the September 2025 virtual plenary, chaired by David Keaton and attended by participants from 16 countries, reconfirmed several liaison officers to facilitate ongoing collaborations. Under the chair's oversight, the plenary established Ad Hoc Group 1 (AhG 1) to revise SC 22 Standing Document 1 (SD 1), specifically addressing merit-based procedures for WG convenor appointments, with recommendations due at the 2026 plenary.

Collaborations

ISO/IEC JTC 1/SC 22 maintains internal liaisons with other JTC 1 subcommittees to ensure compatibility and integration in standardization efforts, particularly for programming languages and related technologies. It collaborates closely with SC 7 (Software and systems engineering) through dedicated liaison officers, exchanging status reports to align language specifications with broader software development processes. Similarly, SC 22 works with SC 27 (Information security, cybersecurity and privacy protection) on topics such as secure coding practices in programming languages, with SC 27 providing input via liaison statements to address vulnerabilities and security evaluation criteria. Externally, SC 22 partners with organizations to advance portability and language standardization. It has collaborated with Ecma International on specifications for languages like C#, initially through SC 22's WG 6 (now disbanded), which facilitated the adoption of Ecma standards as international norms. For system interfaces, SC 22 aligns with IEEE on the POSIX standards (ISO/IEC/IEEE 9945), ensuring consistent operating system interfaces for portability. Partnerships with The Open Group further support this by maintaining aligned specifications for application portability, as seen in the Base Specifications that conform to POSIX requirements. These external ties were reconfirmed during the September 2025 plenary, alongside liaisons with entities like the Linux Foundation and Unicode Consortium. SC 22 participates in joint working groups where appropriate. These collaborations promote harmonization of standards, reduce duplication, and leverage shared expertise across domains. For instance, industry input via WG 21 liaisons has informed the evolution of C++ by incorporating practical feedback on language features and implementations. Overall, such partnerships enhance the interoperability and security of programming technologies while adapting to advancements in areas like AI and cybersecurity.

Standards and Outputs

Published Standards

As of November 2025, ISO/IEC JTC 1/SC 22 has published a total of 110 standards and technical reports, encompassing specifications for programming languages, their environments, and system software interfaces that facilitate interoperability and portability across diverse computing platforms. Key standards are developed by dedicated working groups (WGs) within SC 22. WG 14 maintains ISO/IEC 9899, the international standard for the C programming language, with its fifth edition published in October 2024 incorporating C23 features such as bit-precise integer types and improved support for parallel programming. WG 21 oversees ISO/IEC 14882 for C++, where the 2024 edition introduces C++23 enhancements including modules for better code organization and reduced compilation dependencies. WG 9 handles ISO/IEC 8652 for Ada, with the 2023 revision emphasizing real-time systems and safety-critical applications through refined concurrency and contract-based programming. WG 4 develops ISO/IEC 1989 for COBOL, updated in 2023 to support modern data processing needs while preserving legacy compatibility and continuing support for object-oriented features introduced in prior revisions. WG 5 maintains ISO/IEC 1539 for Fortran, with the 2023 edition introducing features for team-based parallelism and enhanced interoperability with other languages. SC 22 also produces technical reports providing guidance on best practices. A prominent example is ISO/IEC 24772-1:2024, which consolidates and updates previous technical reports from 2013-2020 on strategies to mitigate vulnerabilities in programming languages, covering issues like buffer overflows and race conditions across languages including C, C++, and Ada. These publications have significantly impacted global software development by standardizing interfaces that enable portability; for instance, the POSIX standards under ISO/IEC/IEEE 9945 (latest edition 2009, formerly managed by WG 15) define portable operating system interfaces for Unix-like systems, underpinning billions of lines of code in enterprise and open-source environments worldwide.

Ongoing Projects

As of November 2025, ISO/IEC JTC 1/SC 22 oversees 15 projects under development, encompassing revisions to established standards and new technical specifications across its working groups. Within WG 14, responsible for the C programming language, efforts focus on the next revision (tentatively C2y), incorporating security enhancements such as a provenance-aware memory object model to address pointer provenance and improve runtime safety. This technical specification (ISO/IEC TS 6010) remains in draft stage, with committee draft N3231 pending publication following February 2025 reviews. WG 21, handling C++, is advancing preparations for the C++26 standard, with key features including executors for asynchronous execution (project P1055) and pattern matching facilities (project P1371) progressing through committee drafts and ballot resolutions. The committee draft ballot closed in September 2025, with comments under resolution for potential public enquiry in 2026. WG 23 is developing extensions to the ISO/IEC 24772 series on avoiding vulnerabilities in programming languages, including new parts for additional languages and updated guidance informed by recent plenary discussions on vulnerability mitigation. In September 2025, the SC 22 plenary approved revisions to the Ada standard (ISO/IEC 8652) under WG 9, advancing to public enquiry after incorporating amendments for enhanced real-time and safety-critical features. An ad hoc group (AhG 1) was established to develop guidelines on convenor appointments and roles, with initial outputs expected by mid-2026 to streamline project leadership. Emerging efforts include liaison activities with SC 42 on integrating machine learning constructs into programming languages, alongside explorations of sustainable software engineering practices and WebAssembly for cross-platform portability, targeted for post-2025 work programs to address environmental and interoperability challenges.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.