This category mainly focuses on the languages of C, C++, Extended APL and others, delving into specific topics for each programming language.
ISO/IEC TS 17961:2013 specifies
ISO/IEC TS 17961:2013 does not specify
Each rule in this Technical Specification is accompanied by code examples. Two distinct kinds of examples are provided:
ISO/IEC TS 18661-1:2014 extends programming language C to support binary floating-point arithmetic conforming to ISO/IEC/IEEE 60559:2011. It covers all requirements of IEC 60559 as they pertain to C floating types that use IEC 60559 binary formats.
ISO/IEC TS 18661-1:2014 does not cover decimal floating-point arithmetic, nor does it cover most optional features of IEC 60559.
ISO/IEC TS 18661-1:2014 is primarily an update to IEC 9899:2011 (C11), normative Annex F (IEC 60559 floating-point arithmetic). However, it proposes that the new interfaces that are suitable for general implementations be added in the Library clauses of C11. Also it includes a few auxiliary changes in C11 where the specification is problematic for IEC 60559 support.
ISO/IEC/TS 18661-2:2015 extends programming language C as specified in ISO/IEC 9899:2011, (C11) with changes specified in ISO/IEC/TS 18661-1, to support decimal floating-point arithmetic conforming to ISO/IEC/IEEE 60559:2011. It covers all requirements of IEC 60559 as they pertain to C decimal floating types.
ISO/IEC/TS 18661-2:2015 does not cover binary floating-point arithmetic (which is covered in ISO/IEC/TS 18661-1), nor does it cover most optional features of IEC 60559.
ISO/IEC TS 18661-3:2015 extends programming language C to include types with the arithmetic interchange and extended floating-¡‐point formats specified in ISO/IEC/IEEE 60559:2011, and to include functions that support the non-¡‐arithmetic interchange formats in that standard.
ISO/IEC TS 18661-4:2015 extends programming language C to include functions specified and recommended in ISO/IEC/IEEE 60559:2011.
ISO/IEC TS 18661-5:2016 extends programming language C to include support for attributes specified and recommended in ISO/IEC/IEEE 60559:2011.
ISO/IEC 24747:2009 defines extensions to the C Standard Library that is defined in the International Standard for the C programming language (ISO/IEC 9899). Unless otherwise specified, the whole of the C Standard Library is included in ISO/IEC 24747:2009 by reference.
ISO/IEC 24747:2009 defines library extensions to the C Standard Library to support Mathematical Special functions to be added to <math.h> and <tgmath.h>.
ISO/IEC 29124:2010 specifies extensions to the C++ standard library as defined in the International Standard for the C++ programming language (ISO/IEC 14882:2003). ISO/IEC 29124:2010 specifies extensions to the C++ standard library to support mathematical special functions.
ISO/IEC 1989:2014 specifies the syntax and semantics of COBOL. Its purpose is to promote a high degree of machine independence to permit the use of COBOL on a variety of data processing systems.
ISO/IEC 1989:2014 specifies:
ISO/IEC 1989:2014 does not specify:
This International Standard can be used with benefits on all kinds of platform.
This International Standard's most immediate interest is for deploying portable applications on small footprint devices. This International Standard provides dramatic savings of dynamic memory and execution time without sacrificing any of the flexibility usually attached to the use of non-pre-linked portable code.
This International Standard is especially important to provide a complete solution to execute portable programs of which code size is bigger than the available dynamic memory.
This International Standard is also very important when fast reactivity of programs is important. By avoiding the extra-processing related to loading into dynamic memory and formatting classes at runtime, this International Standard provides a complete answer to the problem of class-loading slow-down.
These benefits are particularly interesting for small devices supporting financial applications. Such applications are often complex and relying on code of significant size, while the pressure of the market often imposes to these devices to be of a low price and, consequently, to be very small footprint platforms. In addition, to not impose unacceptable delays to customers, it is important these applications do not waste time in loading classes into dynamic memory when they are launched but, on the contrary, to be immediately actively processing the transaction with no delay. When using smart cards, there are also some loose real-time constraints that are better handled if it can be granted that no temporary freezing of processing can occur due to class loading.
This International Standard can also be of great benefit for devices dealing with real-time applications. In this case, avoiding the delays due to class loading can play an important role to satisfy real-time constraints.
This International Standard defines the ECMAScript Specification Suite containing the ECMAScript programming language and its required and optional built-in libraries. It defines all the necessary components (both normative and informative) that is needed to implement this suite of standards. This suite does not change if one or more components are updated by a new standard edition. The Suite changes only when new components are added and / or old components are removed from it.
ISO/IEC TR 14369:2018 provides guidelines to those concerned with developing specifications of information technology services and their interfaces intended for use by clients of the services, in particular by external applications that do not necessarily all share the environment and assumptions of one particular programming language. The guidelines do not directly or fully cover all aspects of service or interface specifications, but they do cover those aspects required to achieve language independence, i.e. required to make a specification neutral with respect to the language environment from which the service is invoked. The guidelines are primarily concerned with the interface between the service and the external applications making use of the service, including the special case where the service itself is already specified in a language-dependent way but needs to be invoked from environments of other languages. Language bindings, already addressed by ISO/IEC TR 10182, are dealt with by providing advice on how to use the two documents together.
ISO/IEC TR 14369:2018 provides technical guidelines, rather than organizational or administrative guidelines for the management of the development process, though in some cases the technical guidelines can have organizational or administrative implications.
ISO/IEC TR 24731-1:2007 provides alternative functions for the C Library (as defined in ISO/IEC 9899:1999) that promote safer, more secure programming. The functions verify that output buffers are large enough for the intended result, and return a failure indicator if they are not. Optionally, failing functions call a "runtime-constraint handler" to report the error. Data is never written past the end of an array. All string results are null terminated. In addition, the functions in ISO/IEC TR 24731-1:2007 are re-entrant: they never return pointers to static objects owned by the function.
ISO/IEC TR 24731-1:2007 also contains functions that address insecurities with the C input-output facilities.
ISO/IEC TR 24731 provides alternative functions for the C library that promote safer, more secure programming. ISO/IEC TR 24731-1 provides simple replacement functions for the library functions of ISO/IEC 9899:1999 that provide bounds checking. Those functions can be used as simple replacements for the original library functions in legacy code. ISO/IEC TR 24731-2:2010 presents replacements for many of these functions that use dynamically allocated memory to ensure that buffer overflow does not occur.
ISO/IEC TR 24732:2009 specifies an extension to the programming language C, specified by the International Standard ISO/IEC 9899:1999. The extension provides support for decimal floating-point arithmetic that is intended to be consistent with the specification in IEEE 754-2008. Any conflict between the requirements described here and that specification is unintentional. ISO/IEC TR 24732:2009 defers to IEEE 754-2008.
The binary floating-point arithmetic as specified in IEEE 754-2008 is not considered in ISO/IEC TR 24732:2009.
This International Standard defines the programming language APL and the environment in which APL programs are executed. Its purpose is to facilitate interchange and promote portability of APL programs and programming skills. This International Standard specifies the syntax and semantics of APL programs and the characteristics of the environment in which APL programs are executed.
It also specifies requirements for conformance to this International Standard, including the publication of values and characteristics of implementation properties so that conforming implementations can be meaningfully compared.
This International Standard does not specify:
ISO/IEC 13816:2007 specifies syntax and semantics of the computer programming language ISLisp by specifying requirements for a conforming ISLisp processor and a conforming ISLisp text. The design goals for ISLisp are the following.
ISO/IEC 13816:2007 does not specify:
As the voice of the U.S. standards and conformity assessment system, the American National Standards Institute (ANSI) empowers its members and constituents to strengthen the U.S. marketplace position in the global economy while helping to assure the safety and health of consumers and the protection of the environment.