Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
C++
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==History== [[File:BjarneStroustrup.jpg|thumb|Bjarne Stroustrup, the creator of C++, in his AT&T New Jersey office, {{circa|2000}}]] In 1979, [[Bjarne Stroustrup]], a Danish [[computer scientist]], began work on "{{visible anchor|C with [[Class (computer programming)|Classes]]}}", the predecessor to C++.<ref name="invention3">{{cite web|url = http://www.stroustrup.com/bs_faq.html#invention|title = Bjarne Stroustrup's FAQ: When was C++ invented?|first = Bjarne|last = Stroustrup|website = stroustrup.com|date = 7 March 2010|access-date = 16 September 2010|archive-date = 6 February 2016|archive-url = https://web.archive.org/web/20160206214150/http://www.stroustrup.com/bs_faq.html#invention|url-status = live}}</ref> The motivation for creating a new language originated from Stroustrup's experience in programming for his PhD thesis. Stroustrup found that [[Simula]] had features that were very helpful for large software development, but the language was too slow for practical use, while [[BCPL]] was fast but too low-level to be suitable for large software development. When Stroustrup started working in [[AT&T Bell Labs]], he had the problem of analyzing the [[Unix|UNIX]] [[Kernel (operating system)|kernel]] with respect to [[distributed computing]]. Remembering his PhD experience, Stroustrup set out to enhance the [[C (programming language)|C]] language with Simula-like features.<ref name="evolving">{{cite web|url = http://stroustrup.com/hopl-almost-final.pdf|title = Evolving a language in and for the real world: C++ 1991-2006|first = Bjarne|last = Stroustrup|access-date = 14 August 2013|archive-date = 20 November 2007|archive-url = https://web.archive.org/web/20071120015600/http://www.research.att.com/~bs/hopl-almost-final.pdf|url-status = live}}</ref> C was chosen because it was general-purpose, fast, portable, and widely used. In addition to C and Simula's influences, other languages influenced this new language, including [[ALGOL 68]], [[Ada (programming language)|Ada]], [[CLU (programming language)|CLU]], and [[ML (programming language)|ML]].{{Citation needed|date=February 2024}} Initially, Stroustrup's "C with Classes" added features to the C compiler, Cpre, including [[class (computer programming)|classes]], [[derived class]]es, [[strong and weak typing|strong typing]], [[inlining]], and [[default argument]]s.<ref name="hopl2">{{cite web|last1=Stroustrup|first1=Bjarne|title=A History of C ++ : 1979− 1991|url=http://www.stroustrup.com/hopl2.pdf|access-date=18 July 2013|archive-date=2 February 2019|archive-url=https://web.archive.org/web/20190202050609/http://www.stroustrup.com/hopl2.pdf|url-status=live}}</ref> [[File:20160121 CppFRUG Joel Falcou CppQuiz 3.jpg|thumb|left|A quiz on C++11 features being given in Paris in 2015]] In 1982, Stroustrup started to develop a successor to C with Classes, which he named "C++" (<syntaxhighlight lang="C++" inline>++</syntaxhighlight> being the [[increment operator]] in C) after going through several other names. New features were added, including [[virtual function]]s, function name and [[operator overloading]], [[reference (C++)|reference]]s, constants, type-safe free-store memory allocation (new/delete), improved type checking, and BCPL-style single-line comments with two forward slashes (<syntaxhighlight lang="C++" inline>//</syntaxhighlight>). Furthermore, Stroustrup developed a new, standalone compiler for C++, [[Cfront]]. In 1984, Stroustrup implemented the first stream input/output library. The idea of providing an output operator rather than a named output function was suggested by [[Douglas McIlroy|Doug McIlroy]]<ref name="history-cpp-paper"/> (who had previously suggested [[pipeline (Unix)|Unix pipes]]). In 1985, the first edition of ''[[The C++ Programming Language]]'' was released, which became the definitive reference for the language, as there was not yet an official standard.<ref name="1st-edition3">{{cite web|url = http://www.stroustrup.com/1st.html|title = The C++ Programming Language|edition = First|first = Bjarne|last = Stroustrup|access-date = 16 September 2010|archive-date = 9 August 2012|archive-url = https://web.archive.org/web/20120809032136/http://www.stroustrup.com/1st.html|url-status = live}}</ref> The first commercial implementation of C++ was released in October of the same year.<ref name="invention3"/> In 1989, C++ 2.0 was released, followed by the updated second edition of ''The C++ Programming Language'' in 1991.<ref name="2nd-edition3">{{cite web|url = http://www.stroustrup.com/2nd.html|title = The C++ Programming Language|edition = Second|first = Bjarne|last = Stroustrup|access-date = 16 September 2010|archive-date = 9 August 2012|archive-url = https://web.archive.org/web/20120809032141/http://www.stroustrup.com/2nd.html|url-status = live}}</ref> New features in 2.0 included multiple inheritance, abstract classes, static member functions, [[const correctness|const member functions]], and protected members. In 1990, ''The Annotated C++ Reference Manual'' was published. This work became the basis for the future standard. Later feature additions included [[template (programming)|template]]s, [[exception handling|exceptions]], [[namespaces]], new [[cast (computer science)|cast]]s, and a [[Boolean type]]. In 1998, C++98 was released, standardizing the language, and a minor update ([[C++03]]) was released in 2003. After C++98, C++ evolved relatively slowly until, in 2011, the [[C++11]] standard was released, adding numerous new features, enlarging the standard library further, and providing more facilities to C++ programmers. After a minor {{nowrap|[[C++14]]}} update released in December 2014, various new additions were introduced in [[C++17]].<ref name="herbsutter.com">{{cite web |url=https://herbsutter.com/2016/06/30/trip-report-summer-iso-c-standards-meeting-oulu/ |title=Trip report: Summer ISO C++ standards meeting (Oulu) |last=Sutter |first=Herb |website=herbsutter.com |date=30 June 2016 |archive-url=https://web.archive.org/web/20161008031743/https://herbsutter.com/2016/06/30/trip-report-summer-iso-c-standards-meeting-oulu/ |archive-date=8 October 2016 |quote=the next standard after C++17 will be C++20}}</ref> After becoming finalized in February 2020,<ref>{{cite web|url=http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/n4817.pdf|title=N4817: 2020 Prague Meeting Invitation and Information|last=Dusíková|first=Hana|date=2019-11-06|access-date=2020-02-13|archive-date=29 December 2019|archive-url=https://web.archive.org/web/20191229102449/http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/n4817.pdf|url-status=live}}</ref> a draft of the C++20 standard was approved on 4 September 2020, and officially published on 15 December 2020.<ref>{{cite web |title=Current Status |url=https://isocpp.org/std/status |website=isocpp.org |access-date=7 September 2020 |archive-date=8 September 2020 |archive-url=https://web.archive.org/web/20200908083135/https://isocpp.org/std/status |url-status=live }}</ref><ref>{{cite web |title=C++20 Approved -- Herb Sutter |url=https://isocpp.org/blog/2020/09/cpp20-approved-herb-sutter |website=isocpp.org |access-date=8 September 2020 |archive-date=11 September 2020 |archive-url=https://web.archive.org/web/20200911150359/https://isocpp.org/blog/2020/09/cpp20-approved-herb-sutter |url-status=live }}</ref> On January 3, 2018, Stroustrup was announced as the 2018 winner of the [[Charles Stark Draper Prize]] for Engineering, "for conceptualizing and developing the C++ programming language".<ref>{{cite press release |url=https://www.nae.edu/177355.aspx |title=Computer Science Pioneer Bjarne Stroustrup to Receive the 2018 Charles Stark Draper Prize for Engineering |publisher=National Academy of Engineering |date=3 January 2018 |access-date=14 December 2021 |archive-url=https://web.archive.org/web/20180103190112/https://www.nae.edu/177355.aspx |archive-date=3 January 2018}}</ref> In December 2022, C++ ranked third on the [[TIOBE index]], surpassing [[Java (programming language)|Java]] for the first time in the history of the index. {{As of|2024|November}}, the language ranks second after [[Python (programming language)|Python]], with Java being in third.<ref>{{cite web|url=https://www.tiobe.com/tiobe-index/|title=TIOBE Index for November 2024|author=TIOBE|date=November 2024|website=TIOBE.com|publisher=TIOBE Company|access-date=18 November 2024|archive-date=18 November 2024|archive-url=https://web.archive.org/web/20241118090936/https://www.tiobe.com/tiobe-index/|url-status=live}}</ref> ===Etymology=== According to Stroustrup, "the name signifies the evolutionary nature of the changes from C."<ref name="name">{{cite web |url=http://www.stroustrup.com/bs_faq.html#name |title=Bjarne Stroustrup's FAQ – Where did the name "C++" come from? |access-date=16 January 2008 |archive-date=6 February 2016 |archive-url=https://web.archive.org/web/20160206214150/http://www.stroustrup.com/bs_faq.html#name |url-status=live }}</ref> This name is credited to Rick Mascitti (mid-1983)<ref name="hopl2" /> and was first used in December 1983. When Mascitti was questioned informally in 1992 about the naming, he indicated that it was given in a [[tongue-in-cheek]] spirit. The name comes from C's <syntaxhighlight lang="C++" inline>++</syntaxhighlight> [[operator (programming)|operator]] (which [[increment and decrement operators|increments]] the [[value (computer science)|value]] of a [[variable (programming)|variable]]) and a common [[naming convention]] of using "+" to indicate an enhanced computer program. During C++'s development period, the language had been referred to as "new C" and "C with Classes"<ref name="hopl2" /><ref>{{cite web|title=C For C++ Programmers|url=https://www.ccs.neu.edu/course/com3620/parent/C-for-Java-C++/c-for-c++-alt.html|publisher=[[Northeastern University]]|access-date=7 September 2015|archive-url=https://web.archive.org/web/20101117003419/http://www.ccs.neu.edu/course/com3620/parent/C-for-Java-C++/c-for-c++-alt.html|archive-date=17 November 2010|url-status=dead|df=dmy-all}}</ref> before acquiring its final name. ===Philosophy=== Throughout C++'s life, its development and evolution has been guided by a set of principles:<ref name="evolving"/> * It must be driven by actual problems and its features should be immediately useful in real world programs. * Every feature should be implementable (with a reasonably obvious way to do so). * Programmers should be free to pick their own programming style, and that style should be fully supported by C++. * Allowing a useful feature is more important than preventing every possible misuse of C++. * It should provide facilities for organizing programs into separate, well-defined parts, and provide facilities for combining separately developed parts. * No implicit violations of the [[type system]] (but allow explicit violations; that is, those explicitly requested by the programmer). * User-created types need to have the same support and performance as built-in types. * Unused features should not negatively impact created executables (e.g. in lower performance). * There should be no language beneath C++ (except [[assembly language]]). * C++ should work alongside other existing [[programming language]]s, rather than fostering its own separate and incompatible [[programming environment]]. * If the programmer's intent is unknown, allow the programmer to specify it by providing manual control. ===Standardization=== {{main|C++03|C++11|C++14|C++17|C++20|C++23|C++26}} {| class="wikitable floatright" style="margin-left: 1.5em;" |+C++ standards |- !scope="col"| Year !scope="col"| ISO/IEC Standard !scope="col"| Informal name |- !scope="row"| 1998 | | 14882:1998<ref name="isocpp1998">{{cite web|title=ISO/IEC 14882:1998|publisher=International Organization for Standardization|url=https://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=25845|access-date=23 November 2018|archive-date=15 January 2017|archive-url=https://web.archive.org/web/20170115080045/http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=25845|url-status=live}}</ref> || C++98 |- !scope="row"| 2003 | | 14882:2003<ref name="isocpp2003">{{cite web|title=ISO/IEC 14882:2003|publisher=International Organization for Standardization|url=https://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=38110|access-date=23 November 2018|archive-date=13 August 2021|archive-url=https://web.archive.org/web/20210813193332/https://www.iso.org/standard/38110.html|url-status=live}}</ref> || [[C++03]] |- !scope="row"| 2011 | | 14882:2011<ref name="isocpp2011">{{cite web|title=ISO/IEC 14882:2011|publisher=International Organization for Standardization|url=https://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=50372|access-date=23 November 2018|archive-date=27 May 2016|archive-url=https://web.archive.org/web/20160527084921/http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=50372|url-status=live}}</ref> || [[C++11]], C++0x |- !scope="row"| 2014 | | 14882:2014<ref name="isocpp2014">{{cite web|title=ISO/IEC 14882:2014|publisher=International Organization for Standardization|url=https://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=64029&ICS1=35&ICS2=60|access-date=23 November 2018|archive-date=29 April 2016|archive-url=https://web.archive.org/web/20160429201210/http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=64029&ICS1=35&ICS2=60|url-status=live}}</ref> || [[C++14]], C++1y |- !scope="row"| 2017 | | 14882:2017<ref name="isocpp2017">{{cite web|title=ISO/IEC 14882:2017|publisher=International Organization for Standardization|url=https://www.iso.org/standard/68564.html|access-date=2 December 2017|archive-date=29 January 2013|archive-url=https://web.archive.org/web/20130129110331/http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372|url-status=live}}</ref> || [[C++17]], C++1z |- !scope="row"| 2020 | | 14882:2020<ref name="isocpp2020">{{cite web|title=ISO/IEC 14882:2020|publisher=International Organization for Standardization|url=https://www.iso.org/standard/79358.html|access-date=16 December 2020|archive-date=16 December 2020|archive-url=https://web.archive.org/web/20201216154357/https://www.iso.org/standard/79358.html|url-status=live}}</ref> || [[C++20]], C++2a |- !scope="row"| 2024 | | 14882:2024<ref name="isocpp2024">{{cite web|title=ISO/IEC 14882:2024|publisher=International Organization for Standardization|url=https://www.iso.org/standard/83626.html|access-date=21 October 2020}}</ref> || [[C++23]], C++2b |- !scope="row" {{TBA}} | | || [[C++26]], C++2c |} C++ is standardized by an [[International Organization for Standardization|ISO]] working group known as [[ISO/IEC JTC 1/SC 22|JTC1/SC22/WG21]]. So far, it has published seven revisions of the C++ standard and is currently working on the next revision, [[C++26]]. [[File:C++ Standards Committee meeting - July 1996 Stockholm - Wednesday general session.jpg|thumb|right|Scene during the C++ standards committee meeting in Stockholm in 1996]] In 1998, the ISO working group standardized C++ for the first time as ''ISO/IEC 14882:1998'', which is informally known as ''C++98''. In 2003, it published a new version of the C++ standard called ''ISO/IEC 14882:2003'', which fixed problems identified in C++98. The next major revision of the standard was informally referred to as "C++0x", but it was not released until 2011.<ref name="0xapprove">{{cite web|url=https://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/|title=We have an international standard: C++0x is unanimously approved|website=Sutter's Mill|date=12 August 2011|access-date=23 November 2018|archive-date=28 June 2018|archive-url=https://web.archive.org/web/20180628182816/https://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/|url-status=live}}</ref> [[C++11]] (14882:2011) included many additions to both the core language and the standard library.<ref name="isocpp2011"/> In 2014, [[C++14]] (also known as C++1y) was released as a small extension to C++11, featuring mainly bug fixes and small improvements.<ref name="The Future of C">{{Cite web|url=https://channel9.msdn.com/Events/Build/2012/2-005|title=The Future of C++|via=channel9.msdn.com|access-date=23 November 2018|archive-date=23 October 2018|archive-url=https://web.archive.org/web/20181023213741/https://channel9.msdn.com/Events/Build/2012/2-005|url-status=live}}</ref> The Draft International Standard ballot procedures completed in mid-August 2014.<ref>{{Cite web|url=https://isocpp.org/blog/2014/08/we-have-cpp14|title=We have C++14! : Standard C++|website=isocpp.org|access-date=19 August 2014|archive-date=19 August 2014|archive-url=https://web.archive.org/web/20140819083101/https://isocpp.org/blog/2014/08/we-have-cpp14|url-status=live}}</ref> After C++14, a major revision [[C++17]], informally known as C++1z, was completed by the ISO C++ committee in mid July 2017 and was approved and published in December 2017.<ref name="Toronto meeting report">{{Cite web|url=https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/|title=Trip report: Summer ISO C++ standards meeting (Toronto)|first=Herb|last=Sutter|date=15 July 2017|access-date=4 August 2017|archive-date=6 August 2017|archive-url=https://web.archive.org/web/20170806182136/https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/|url-status=live}}</ref> As part of the standardization process, ISO also publishes [[International Organization for Standardization#International standards and other publications|technical reports and specifications]]: * ISO/IEC TR 18015:2006<ref>{{cite web|publisher=International Organization for Standardization|title=ISO/IEC TR 18015:2006|url=https://www.iso.org/standard/43351.html|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115203236/https://www.iso.org/standard/43351.html|url-status=live}}</ref> on the use of C++ in embedded systems and on performance implications of C++ language and library features, * ISO/IEC TR 19768:2007<ref>{{cite web|url=https://www.iso.org/standard/43289.html|title=ISO/IEC TR 19768:2007|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=4 March 2016|archive-url=https://web.archive.org/web/20160304045148/http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail_ics.htm?ics1=35&ics2=60&ics3=&csnumber=43289|url-status=live}}</ref> (also known as the [[C++ Technical Report 1]]) on library extensions mostly integrated into [[C++11]], * ISO/IEC TR 29124:2010<ref>{{cite web|url=https://www.iso.org/standard/50511.html|title=ISO/IEC TR 29124:2010|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=12 January 2019|archive-url=https://web.archive.org/web/20190112054620/https://www.iso.org/standard/50511.html|url-status=live}}</ref> on special mathematical functions, integrated into {{nowrap|[[C++17]]}}, * ISO/IEC TR 24733:2011<ref>{{cite web|url=https://www.iso.org/standard/38843.html|title=ISO/IEC TR 24733:2011|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115203556/https://www.iso.org/standard/38843.html|url-status=live}}</ref> on [[decimal floating point|decimal floating-point]] arithmetic, * ISO/IEC TS 18822:2015<ref>{{cite web|url=https://www.iso.org/standard/63483.html|title=ISO/IEC TS 18822:2015|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201441/https://www.iso.org/standard/63483.html|url-status=live}}</ref> on the standard filesystem library, integrated into [[C++17]], * ISO/IEC TS 19570:2015<ref>{{cite web|url=https://www.iso.org/standard/65241.html|title=ISO/IEC TS 19570:2015|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201509/https://www.iso.org/standard/65241.html|url-status=live}}</ref> on [[parallel computing|parallel]] versions of the standard library algorithms, integrated into [[C++17]], * ISO/IEC TS 19841:2015<ref>{{cite web|url=https://www.iso.org/standard/66343.html|title=ISO/IEC TS 19841:2015|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201300/https://www.iso.org/standard/66343.html|url-status=live}}</ref> on software [[transactional memory]], * ISO/IEC TS 19568:2015<ref>{{cite web|url=https://www.iso.org/standard/65238.html|title=ISO/IEC TS 19568:2015|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115202436/https://www.iso.org/standard/65238.html|url-status=live}}</ref> on a new set of library extensions, some of which are already integrated into [[C++17]], * ISO/IEC TS 19217:2015<ref>{{cite web|url=https://www.iso.org/standard/64031.html|title=ISO/IEC TS 19217:2015|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201732/https://www.iso.org/standard/64031.html|url-status=live}}</ref> on the C++ [[concepts (C++)|concepts]], integrated into [[C++20]], * ISO/IEC TS 19571:2016<ref>{{cite web|url=https://www.iso.org/standard/65242.html|title=ISO/IEC TS 19571:2016|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201226/https://www.iso.org/standard/65242.html|url-status=live}}</ref> on the library extensions for concurrency, some of which are already integrated into [[C++20]], * ISO/IEC TS 19568:2017<ref>{{cite web|url=https://www.iso.org/standard/70587.html|title=ISO/IEC TS 19568:2017|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115202428/https://www.iso.org/standard/70587.html|url-status=live}}</ref> on a new set of general-purpose library extensions, * ISO/IEC TS 21425:2017<ref>{{cite web|url=https://www.iso.org/standard/70910.html|title=ISO/IEC TS 21425:2017|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201957/https://www.iso.org/standard/70910.html|url-status=live}}</ref> on the library extensions for ranges, integrated into [[C++20]], * ISO/IEC TS 22277:2017<ref>{{cite web|url=https://www.iso.org/standard/73008.html|title=ISO/IEC TS 22277:2017|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115202004/https://www.iso.org/standard/73008.html|url-status=live}}</ref> on coroutines, integrated into [[C++20]], * ISO/IEC TS 19216:2018<ref>{{cite web|url=https://www.iso.org/standard/64030.html|title=ISO/IEC TS 19216:2018|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201923/https://www.iso.org/standard/64030.html|url-status=live}}</ref> on the networking library, * ISO/IEC TS 21544:2018<ref>{{cite web|url=https://www.iso.org/standard/71051.html|title=ISO/IEC TS 21544:2018|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201858/https://www.iso.org/standard/71051.html|url-status=live}}</ref> on modules, integrated into [[C++20]], * ISO/IEC TS 19570:2018<ref>{{cite web|url=https://www.iso.org/standard/70588.html|title=ISO/IEC TS 19570:2018|publisher=International Organization for Standardization|access-date=15 February 2019|archive-date=15 January 2019|archive-url=https://web.archive.org/web/20190115201519/https://www.iso.org/standard/70588.html|url-status=live}}</ref> on a new set of library extensions for parallelism * ISO/IEC TS 23619:2021<ref>{{cite web|url=https://www.iso.org/standard/76425.html|title=ISO/IEC TS 23619:2021|publisher=International Organization for Standardization|access-date=11 October 2021|url-status=live|archive-url=https://web.archive.org/web/20181215153205/https://www.iso.org/standard/76425.html |archive-date=15 December 2018}}</ref> on new extensions for [[reflective programming]] (reflection), * ISO/IEC TS 9922:2024<ref>{{cite web |title=ISO/IEC TS 9922:2024 |url=https://www.iso.org/standard/83630.html |publisher=International Organization for Standardization |access-date=1 April 2025 |archive-url=https://web.archive.org/web/20250401173108/https://www.iso.org/standard/83630.html |archive-date=1 April 2025 |url-status=live}}</ref> on new set of concurrency extensions, and * ISO/IEC TS 19568:2024<ref>{{cite web |title=ISO/IEC TS 19568:2024 |url=https://www.iso.org/standard/86293.html |publisher=International Organization for Standardization |access-date=1 April 2025 |archive-url=https://web.archive.org/web/20250225094830/https://www.iso.org/standard/86293.html |archive-date=25 February 2025 |url-status=live}}</ref> on another new set of library extensions. More technical specifications are in development and pending approval.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)