C23

Nykymaailmassa C23 on aihe, joka on kiinnittänyt miljoonien ihmisten huomion ympäri maailmaa. C23 on aihe, joka herättää edelleen kiinnostusta ja keskustelua joko historiallisen merkityksensä, nykyyhteiskunnan vaikutuksensa tai populaarikulttuuriin kohdistuvan vaikutuksensa vuoksi. Vuosien varrella C23 on ollut lukemattomien tutkimusten, keskustelujen ja analyysien kohteena, mikä on johtanut sen monimutkaisuuden ymmärtämiseen ja useiden näkökulmien tunnistamiseen. Tässä artikkelissa tutkimme joitain C23:een liittyviä keskeisiä näkökohtia, jotta voimme tutkia sen merkitystä ja laajuutta eri yhteyksissä.

C23 on C-kielen tuleva ISO-standardiversio, jonka valmistumista odotettiin vuonna 2023, jolloin sen nimeksi tulisi C23 (epävirallisesti nimellä C2x). Julkaisua suunnitellaan vuodelle 2024.

C23 korvaa aiemman standardin C18.

Ehdotetut ominaisuudet jäädytettiin lokakuussa 2021 äänestämistä varten. Muutoksia standardissa ovat muun muassa:

  • vanhan tyylisten esittelyjen ja määrittelyjen poisto (ilman prototyyppiä)
  • muiden kuin kahden komplementtimuotojen käyttö etumerkillisistä kokonaisluvuista poistuu (yhden komplementti)
  • desimaaliset liukuluvut (DECFP) finanssimatematiikan käyttöön
  • u8 merkkivakiot
    • esimerkiksi syntaksilla u8'a' joka vastaa a-kirjainta Unicodena
  • tyhjä alustus = {}
  • nullptr vakio
  • true ja false avainsanoiksi
  • trigraph-tuen (kolmen merkin esitysmuodot) poistuminen: kolmen merkin esitysmuoto tulkitaan yhdeksi merkiksi, joka on yleensä virhetilanne eikä ohjelmoijan aikomus. Trigraph-sarjat esiteltiin C89-standardissa vaihtoehtoisena esityksenä tietyille merkeille, joita käytetty merkistö ei tukenut. Trigraph-jakso alkaa merkeillä ?? ja tulkitaan invarianteiksi: # { } \ | ~ ^.

Lähteet

  1. WG 14 Document Log open-std.org. Viitattu 11.3.2020. (englanniksi)
  2. Revised C23 Schedule (PDF) open-std.org. Viitattu 26.2.2022. (englanniksi)
  3. Updated C23 Schedule (PDF) open-std.org. Viitattu 6.3.2024. (englanniksi)
  4. Jens Gustedt: Feature freeze for C23 gustedt.wordpress.com. 16.10.2021. Viitattu 21.11.2022. (englanniksi)
  5. WG 14 Document Log open-std.org. Viitattu 21.11.2022. (englanniksi)
  6. C23 en.cppreference.com. Viitattu 21.11.2022. (englanniksi)
  7. Remove support for function definitions with identifier lists (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
  8. Decimal floating-point arithmetic (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
  9. Adding the u8 character prefix (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
  10. Consistent, Warningless, and Intuitive Initialization open-std.org. Viitattu 21.11.2022. (englanniksi)
  11. Introduce the nullptr constant open-std.org. Viitattu 21.11.2022. (englanniksi)
  12. Make false and true first-class language features (PDF) open-std.org. Viitattu 21.11.2022. (englanniksi)
  13. Removing trigraphs??! (PDF) open-std.org. Viitattu 8.3.2024. (englanniksi)
  14. Rationale for International Standard—Programming Languages—C (PDF) open-std.org. huhtikuu 2003. Viitattu 8.3.2024. (englanniksi)

Aiheesta muualla