„C (programozási nyelv)” változatai közötti eltérés

[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
→‎Történet: helyesírási meg némi stilisztikai
23. sor:
=== Korai fejlesztések ===
 
A kezdeti fejlesztések az [[AT&T]] kereteinberkein belül történtek [[1969]] és [[1973]] között. A legkreatívabb időszak, Ritchie-nek köszönhetően [[1972]]-ben volt. Azért lett „C” a nyelv neve, mert egy korábbi, „B” nevű programozási nyelv sok tulajdonságát „örökölte”. A leírások különböznek a „B” név forrását illetően: [[Ken Thompson]] írt egy programozási nyelvet, a [[BCPL]]-t, de írt egy [[Bon]] nevűt is, a feleségéről (Bonnie-ról) elnevezve.
 
Az [[1973]]-as évben a C nyelv elég hatékonnyá vált, így a [[UNIX]] [[kernel|mag]] legnagyobb részét, melyek [[PDP-11/20]] [[assembly]] nyelven íródtak, újraírták C-ben. Ez volt az egyik első [[operációs rendszer]] [[kernel|mag]], mely nem assembly nyelven íródott, korábbiak, a [[Multics]] [[PL/I]]-ben íródott, a [[Tripos]] [[BCPL]]-ben.
56. sor:
 
Az [[1970-es évek]] vége felé, a C kezdte felváltani a [[BASIC programozási nyelv|BASIC]] nyelvet a személyi számítógépeken. [[IBM PC]] számítógépekre is átültették az [[1980-as évek]]ben, így a C nyelv népszerűsége ugrásszerűen emelkedni kezdett. Ugyanebben az időben [[Bjarne Stroustrup]] és társai a Bell Labs-nél elkezdtek dolgozni
objektum orientáltobjektumorientált nyelvi elemek hozzáadásán a C nyelvhez. A nyelv, amit készítettek a [[C++]] nevet kapta, ez ma a legelterjedtebb programozási nyelv a [[Microsoft Windows]] operációs rendszereken, míg a C a UNIX világban megőrizte népszerűségét.
 
[[1983]]-ban az [[Amerikai Nemzeti Szabványügyi Hivatal]] (angolul: American National Standards Institute, röviden ANSI) megalakította az X3J11 bizottságot, hogy létrehozzanak egy egységes (szabvány) C definíciót. A hosszú és fáradságos folyamat végén [[1989]]-ben elkészült a szabvány (egy évvel az első C++ ANSI szabvány után!) és jóváhagyták mint: ANSI X3.159–1989 „A C programozási nyelv”. A nyelvnek ezt a verzióját nevezik ANSI C-nek. [[1990]]-ben az ANSI C szabványt (néhány apróbb módosítással) átvette a [[Nemzetközi Szabványügyi Szervezet]] (angolul: International Organization for Standardization, röviden ISO) mint [[ISO/EC 9899:1990]].
62. sor:
Az ANSI C szabványosítás egyik célja az volt, hogy a K&R C-ből és a nem hivatalos bővítésekből egy egységeset alakítson ki. Belevettek azonban számos új megoldást is, mint például [[függvény prototípus]]t (a C++ nyelvből) valamint egy jobban alkalmazható (fejlettebb) előfordítót (preprocessor).
 
ANSI C-t szinte minden használt fordító támogat. A legtöbb C kód, mely manapság íródott, az ANSI C-n alapul. Bármilyen program, amely a szabvány C-ben íródott, helyesen működik bármely [[platform]]on, amelyen szabványos C létezik. Vannak azonban programok, melyek csak adott platformon vagy adott fordítóval fordíthatók le, a használt nem szabvány függvénygyűjtemények miatt (például grafikus függvények) és vannak olyan fordítók, melyek nem támogatják alapértelmezésben az ANSI C szabványt.
 
=== C99 ===
 
Az ANSI szabványosítási folyamatot követően, a C nyelv viszonylag állandó maradt, míg a C++ fejlődött. Új C verzió, [[1995]]-ben az első normatív kiegészítéssel jött létre, de ezezt a változatváltozatot ritkán használt)használják. Akárhogyan is, de aA szabványt átdolgozták az [[1990]]-es években és ebből lett az [[ISO 9899:1999]] 1999-ben. Ez a szabvány „C99” néven vált ismertté, majd 2000 márciusában bekerült az ANSI szabványok közé is.
 
C99 új tulajdonságai, többek közt:
 
* inline függvények
* változók definiálási helyénekhelyére vonatkozó szabályai enyhítése (hasonlóképpen, mint C++-ban)
* új adattípusok, például: <code>long long int</code>, hogy a 32bitről a 64bitre való átállást megkönnyítsék, explicit <code>bool</code> (<code>stdbool.h</code>) és a <code>complex</code> (<code>complex.h</code>) típus.
* változó méretű [[Tömb (adatszerkezet)|tömbök]]
78. sor:
* több új „header” állomány, mint például az <code>inttypes.h</code>, amely rögzített méretű integer típusokat definiál: <code>int8_t, int16_t, int32_t, int64_t</code>, illetve ezek előjel nélküli változatait.
 
Az érdeklődés a C99 új tulajdonságainak támogatásával kapcsolatban eléggé vegyes. Míg [[GCC (informatika)|GCC]] (GNU Compiler Collection, korábban GnuGNU C Compiler) és más fordítók támogatják a C99 újdonságait, addig a [[Microsoft Corporation|Microsoft]] és [[Borland International, Inc.|Borland]] által forgalmazottak nem, és ez a két cég nem is foglalkozik a C99 jövőbeli támogatásának lehetőségével jelenleg.
 
== A klasszikus „Helló, világ!” C-ben ==