Wikipedia
kabwiki
https://kab.wikipedia.org/wiki/Asebter_agejdan
MediaWiki 1.47.0-wmf.15
first-letter
Media
Uslig
Mmeslay
Amseqdac
Amyannan umsqedac
Wikipedia
Amyannan n Wikipedia
Tugna
Amyannan n tugna
MediaWiki
Amyannan n MediaWiki
Talɣa
Amyannan n talɣa
Tallat
Amyannan n tallat
Taggayt
Amyannan n taggayt
Awwur
Amyannan uwwur
Asenfaṛ
Amyannan usenfaṛ
TimedText
TimedText talk
Module
Discussion module
Event
Event talk
Sujet
C (tutlayt)
0
252
117076
117075
2026-08-15T14:35:24Z
Gurzil90x
14292
arniɣ ayen ilaqen
117076
wikitext
text/x-wiki
{{Infobox programming language
| name = C
| logo = File:C1stEdition.svg
| logo size = 140px
| logo alt = Text in light blue serif capital letters on white background and very large light blue sans-serif letter C.
| logo caption = ''[[The C Programming Language]]''<ref name="k&r1e" /> (often referred to as "K&R"), the seminal book on C
| paradigm = [[Imperative programming|Imperative]] ([[Procedural programming|procedural]]), [[structured programming|structured]]
| designer = [[Dennis Ritchie]]
| developer = [[Dennis Ritchie]] & [[Bell Labs]] (creators); ANSI X3J11 ([[ANSI C]]); {{nobr|ISO/IEC JTC1/SC22/WG14}} (ISO C)
| latest release version = [[C18 (C standard revision)|C18]]
| latest release date = {{start date and age|2018|06}}
| typing = [[Type system|Static]], [[Weak typing|weak]], [[manifest typing|manifest]], [[Nominal type system|nominal]]
| implementations = K&R, [[GNU Compiler Collection|GCC]], [[Clang]], {{nowrap|[[Intel C++ Compiler|Intel C]],}} [[Microsoft Visual C++]], {{nowrap|[[Watcom C/C++ compiler|Watcom C]]}}
| dialects = [[Cyclone (programming language)|Cyclone]], [[Unified Parallel C]], [[Split-C]], [[Cilk]], [[C*]]
| influenced = [[:Category:C programming language family|Numerous]]: [[AMPL]], [[AWK]], [[C shell|csh]], [[C++]], [[C--]], [[C Sharp (programming language)|C#]], [[Objective-C]], [[D (programming language)|D]], [[Go (programming language)|Go]], [[Java (programming language)|Java]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Limbo (programming language)|Limbo]], [[LPC (programming language)|LPC]], [[Perl]], [[PHP]], [[Pike (programming language)|Pike]], [[Processing (programming language)|Processing]], [[Python (programming language)|Python]], [[Ring (programming language)|Ring]],<ref name="Ring language and other languages">{{cite web |url=http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |title=Ring language and other languages |author=Ring Team |date=5 December 2017 |work=ring-lang.net |publisher=[[ring-lang]] |access-date=20 April 2019 |archive-date=25 December 2018 |archive-url=https://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |url-status=dead }}</ref> [[Rust (programming language)|Rust]], [[Seed7]], [[Vala (programming language)|Vala]], [[Verilog]] (HDL),<ref name="vinsp">{{cite web|title=Verilog HDL (and C)|url=http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|date=2010-06-03|accessdate=2013-08-19|publisher=The Research School of Computer Science at the Australian National University|quote=1980s: ; Verilog first introduced ; Verilog inspired by the C programming language|deadurl=yes|archiveurl=https://web.archive.org/web/20131106064022/http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|archivedate=2013-11-06|df=}}</ref> [[Nim (programming language)|Nim]]
| operating system = [[Cross-platform]]
| year = 1972<ref name="dottcl_2" />
| turing-complete = Yes
| influenced_by = [[B (programming language)|B]] ([[BCPL]], [[CPL (programming language)|CPL]]), [[ALGOL 68]],<ref name="dottcl" /> [[Assembly language|Assembly]], [[PL/I]], [[FORTRAN]]
| file ext = {{Mono|.c}}, {{Mono|.h}}
| wikibooks = C Programming
}}
'''Tutlayt n usihel C''' d yiwet seg tutlayin n usihel i yesɛan azal ameqran deg umezruy n uselkim. Seg mi d-tlul deg useggas n 1972, teqqim d ttawil agejdan i usnulfu n inagrawen n wammud, isnasen, imikṛuselkimen, d waṭas n yisenfaren nniḍen.
C d tutlayt i d-yettaken afus i umessihel ad yeḥkem mliḥ deg wayen i d-yettxelliṣ neɣ iselḥu uselkim: takatut, asekkar, d tiddin n wahil. Deg yiwet n tama, C tqrib ɣer usekkar; deg tama nniḍen, tesɛa taseddast fessusen i yettɛawanen amdan ad yaru tangalt yettwafhamen.
== Amezruy n C ==
Tutlayt C yesnulfu-tt-id Dennis Ritchie deg Bell Labs gar useggas n 1969 d 1973. Yella yesra tutlayt i yesɛan tazmert n usnulfu n unagraw Unix s wudem fessusen, arurad, yettwasnen.
Send C, llan tutlayin am B d BCPL, maca C tessaweḍ ad tili d ttawil ufrin, acku tella:
'''fessuset i uselmed''',
'''teqreb ɣer usekka'''r,
'''tesɛa tiseddi deg usenker n wahil''',
'''yettwasfsu s umsefsay''',
'''tezmer ad tili ɣef waṭas n yiselkimen(tiɣeṛɣaṛt tanmidagt)'''.
Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis d axatar: ''The C Programming Language''. Adlis-a yuɣal d tamselɣut tagejdant i yimsihlen.
Sin akin, C tettwaslugen s wuṭṭunen n ilugan:
'''C89 / C90''': alugen ANSI d ISO amezwaru.
'''C99''': yerna-d ddeqs n tmerniyin am //, for (int i = 0; ...), d tawsatin nniḍen.
'''C11''': yerna-d ttawilat i uselḥu amaynut d tɣellist.
'''C17''': d aṣeggem n C11.
'''C23''': d alugen atrar i d-yernan ddeqs n temsal timaynutin.
=== Tazwara: acu i d-yeǧǧan C ad tlul? ===
Deg taggara n iseggasen n 1960, deg Bell Labs (Merraw n Bell) di Marikan, llan imussnawen n tsenselkimt ttnadin ad snulfun anagraw n wammud amaynut, fessusen, yerna yettazzalen s tɣawla. Deg tallit-nni, Ken Thompson yella yettekki deg usenfar n Multics, maca asenfar-nni yuɣal d azuran, yerna yettwaḥseb d aẓayan i uselkim n tallit-nni.
Thompson yeǧǧa Multics, yebɣa ad yexdem anagraw amecṭuḥ, s unasiw amecṭuḥ, ɣef uselkim PDP-7. I wakken ad yessuffeɣ anagraw-a, yesnulfu-d tutlayt i wumi isemma B (seg 1969 ar 1970). B tella d tutlayt i d-yekkan seg BCPL (Basic Combined Programming Language), maca tesɛa tilas meqqren:
ur tesɛi ara tiwsatin n isefka, u txeddem kan s wawalen n tkatut n tiddi yiwet (mots), ur tezmir ara ad tessenker imuttiyen n tewsatin yemgaraden, arnu ur telli ara d tafessast i usenker n tkatut s wudem uslig.
Imiren, yella-d uselkim amaynut PDP-11, i yesɛan tiddi n tkatut n 8 n ibiten (octets). Tutlayt B ur telli ara tezmer ad tessenker anagraw ɣef uselkim-a. Dɣa dagi i d-yekka wugur i yessefken ad yettwafru s tutlayt tamaynut.
=== Dennis Ritchie d tlalit n C (1972) ===
Deg useggas n 1971–1972, Dennis Ritchie (i yettwassnen daɣen s yisem dmr) yedda-d ɣer Ken Thompson. Ritchie yebda yettbeddil tutlayt B:
yerna-d tiwsatin n isefka (int, char, float...), yerna-d timṣukin i wakken ad yessdukel isefka, yerra tutlayt tezmer ad tessenker tkatut s wudem i yiqerben ɣer usekkar, syin yefka-yas isem C, acku tella d tanernit n B (C d asekkil i d-iteddun deffir B).
Ihi, deg useggas n 1972, tlul-d tutlayt C. Ritchie yura amsefsay amezwaru n C ɣef uselkim PDP-11. Deg tallit-nni, C tella tettwaseqdec kan deg Bell Labs, gar imussnawen i yettxeddimen ɣef unagraw amaynut.
=== Unix yuɣal yettwaru s C (1973) — tagrawla tameqqrant ===
Deg useggas n 1973, Ken Thompson d Dennis Ritchie gezmen-tt di ṛṛay ad arun anagraw Unix s tutlayt C. Aya yella d tagrawla tameqqrant deg umezruy n uselkim, acku:
send 1973, inagrawen n wammud llan ttwarun s tutlayin n usuddes (assembly), i yiqerben mliḥ ɣer usekkar, maca ur zmiren ara ad ttwasnekren seg uselkim ɣer wayeḍ.
s C, Unix yuɣal s wudem n uzgay: nezmer ad t-nesselkem ɣef waṭas n yiselkimen yemgaraden, s ubeddel amecṭuḥ kan.
C tessken-d belli tutlayt n uswir ameqran tezmer ad tili d ttawil i usnulfu n unagraw n wammud s tɣawla, war ma nesṛuḥ asenker n tkatut.
Seg imiren, Unix d C uɣalen d tayuga yettwaqqnen. Yal taneqqiṭ n umezruy n C tezda d umenzu n Unix.
=== Asuffeɣ seg Bell Labs d udlis n K&R (1978) ===
Deg iseggasen n 1970, C tebda ad tazzal beṛṛa n Bell Labs:
imussnawen nniḍen bdan ttissinen-tt, snulfan-d imsefsayen nniḍen, C tebda tettwaseqdec deg isenfaren n iseɣẓanen d inagrawen.
Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis i yettwassnen aṭas: "The C Programming Language". Adlis-a yettwasemma s umata "K&R" (seg yismawen n yimura-s). Yuɣal d tamselɣut tagejdant i yimsihlen n umaḍal meṛṛa, yerna yefka-d "alugen" amezwaru n C, i yettwassnen ass-a s yisem "K&R C".
Deg tallit-a, llan aṭas n yimsefsayen n C i d-yeffɣen, maca yal yiwen yesɛa kra n umgired. Ayagi yessefk ad yettwafru s uslugen (tizeɣt).
== Aslugen n C ==
=== Alugen amezwaru: ANSI C / C89 (1983–1989) ===
Deg useggas n 1983, ANSI (American National Standards Institute) tesbedd-d tamagrawt i wumi isemma X3J11, i wakken ad tessenker alugen n C. Sdeffir n 6 n yiseggasen n leqdic, deg useggas n 1989, ssuffɣen-d alugen amezwaru unṣib:
ANSI X3.159-1989, i yettwassnen s yisem "C89" neɣ "ANSI C".
Deg useggas n 1990, ISO teqbel alugen-a s ubeddel amecṭuḥ, tessuffeɣ-d ISO/IEC 9899:1990, i yettwassnen s yisem "C90". C89 d C90 qrib d yiwen. C89/C90 rnan-d ddeqs n tɣawsiwin i yessersen C ɣef llsas iḥersen:
* tinaḍin n tesɣanin (prototypes de fonctions)
* tamkarḍit talugant am stdio.h, stdlib.h, string.h
* aslugen n uzarsekkar (préprocesseur)
* aslugen n tewsatin d tseddast
Seg imiren, C tuɣal d tutlayt yettwassnen deg umaḍal meṛṛa, yettwasqedcen deg uselkim, deg usnas (deg uḥric temguri) d uselmed.
=== C99 (1999): anerni ameqqran ===
Sdeffir n mraw n yiseggasen, deg useggas n 1999, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:1999, i yettwassnen s yisem "C99". C99 yerna-d ddeqs n tmerniyin i yettɛawanen imessihlen:
* iwenniten s // (am C++ d Java);
* tawuriwin inline i arurad deg tidin n useɣwen;
* isirawen(neɣ Tifelwiyin) n teɣzi yettbeddilen (tableaux à longueur variable, VLA);
* tawsit _Bool (abulan) d stdbool.h;
* tawsit long long i yemḍanen meqqren mliḥ;
* stdint.h i tewsatin n tiddi yettwafren;
* initialisation s yisem (designated initializers), am: struct point p = { .x = 1, .y = 2 };
* tanaṭ "for" s ubeddu amaynut: for (int i = 0; i < n; i++).
C99 yettwaqbel s lemɣawla deg waṭas n yimsefsayen am GCC, maca kra n yimsefsayen nniḍen (am MSVC n Microsoft) ɣef llsas-nni ur t-ṭṭifen ara s timmad.
=== C11 (2011): C tuɣal ɣer tallit tatrant ===
Deg useggas n 2011, ISO tessuffeɣ-d ISO/IEC 9899:2011, i yettwassnen s yisem "C11" (neɣ C1X send ad d-yeffeɣ). C11 yerna-d ttawilat i yeqqnen ɣer uselkim atrar:
aselkem s waṭas n yiskaren (ugut n ikalan ifessasen) s threads.h;
timhalin tibelkamin s stdatomic.h, i yeqqnen ɣer uselkem yettwaqqnen;
_Generic i tefranin s tewsit;
timṣukin d tiddukliwin war isem (anonymous structs/unions);
static_assert i uselken deg wakud n usefsu;
yettwakkes gets() acku yella d aɣbalu n tuccḍiwin n tɣellist (tafuli n tkatut n weḥraz).
C11 tessken-d belli C tezmer ad teddu d tallit n uselkem s waṭas n yiskaren (iskaren yesɛan uget n wulawen) d tɣellist.
=== C17 / C18 (2018): aseggem kan ===
Deg useggas n 2018, ISO tessuffeɣ-d ISO/IEC 9899:2018, i yettwassnen s yisem "C17" neɣ "C18". Alugen-a ur yerni ara tamahilt tamaynut; yeṣeggam kan tuccḍiwin yellan deg C11, yerna yessufeɣ-d kra n usegzi. Ihi C17 yella d lqem n "aṣeggem", ur yelli ara d lqem n "tmerniyin".
=== C23 (2024): lqem atrar ===
Deg useggas n 2024, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:2024, i yettwassnen s yisem "C23" (neɣ C2X send ad d-yeffeɣ). C23 yerna-d ddeqs n tɣawsiwin i yebɣan imessihlen seg zik:
* awalen yettwaṭṭfen bool, true, false (ur yesra ara ad nsekcem stdbool.h)
* nullptr i usewwaṛ ilem (pointeur nul), s wudem iḥersen
* auto i ubuddu n tewsit s wudem awurman
* imḍanen s talɣa tamisint: 0b1010 (binaire)
* isekkilen n uɣawas (attributes) s talɣa... <nowiki>[[...]]</nowiki>
* typeof i wakken ad d-nawi tawsit n tengalt
* #embed i wakken ad nsekcem ifuyla imisinen
* yettwakkes ukayad n tewsatin (variable-length arrays) d kra n tɣawsiwin tiqburin.
C23 yesskan-d belli C mazal-itt tettbeddil, tettmerni, yerna tezmer ad teqqim d tutlayt tatrant.
== Aseqdec n C ass-a ==
Ass-a, C mazal-itt d tutlayt yettwasqedcen aṭas, ladɣa deg yinagrawen ideg arurad d tkatut d lḥaǧa tagejdant:
'''Inagrawen n wammud:''' anagraw Linux yettwaru s C (akked kra n C++ d assembly); iferdisen n Windows d macOS daɣen.
'''Imikṛuselkimen d IoT:''' Arduino, STM32, ESP32, d yimikṛuselkimen n tkeṛṛusin, n tɣawsiwin, d tsenselkimt tadamsant.
'''Taffiwin n isefka''': PostgreSQL, MySQL, SQLite ttwarun s C.
'''Imsefsayen''': GCC, iferdisen n Clang/LLVM, d waṭas n yimsefsayen nniḍen.
'''Taɣellist tasenselkamt''' (cybersécurité): aṭas n yifecka n tɣellist ttwarun s C, acku zemren ad kecmen ɣer tkatut s wudem uslig.
'''Tigzi taragmawant''': aṭas n temkarḍiyin n AI am TensorFlow d PyTorch sɛant llsas n C/C++ ddaw n Python.
== Ayɣer C teqqim armi d ass-a? ==
Aṭas n tutlayin i d-yeffɣen seg 1972, maca C teqqim. Ayagi yella s kra n ssebbat:
'''Tussda d ururad''': tangalt C tettwasfsu ɣer tengalt n usekkar s wudem i yeffɣen, war aselkem n waṭas n yiferdisen nnig-s.
'''Azgay''': C tezmer ad tettwaseqdec ɣef qrib yal aselkim.
'''Asefrek n tkatut''': C yettak-d afus i umessihel ad yesenker takatut s wudem uslig, ayen ilaqen deg yinagrawen d imikṛuselkimen.
'''Alugen iḥersen''': seg C89 armi d C23, C tesɛa alugen yettwassnen, yettwaḥerzen.
'''Tamkarḍit d yimsefsayen''': llan aṭas n yimsefsayen (GCC, Clang, MSVC...) d temkarḍiyin i C.
'''Taseddast fessusen''': C ur tesɛi ara aṭas n wawalen yettwaṭṭfen, dɣa fessus i uselmed d usnulfu.
== Taseddast n C ==
Taseddast n C d taseddast yesɛan ilugan iḥersen. Kra n yiferdisen agejdanen:
=== 1. Tanaṭ ===
Yal tanaṭ deg C ttfaṛu s usekkil n unegzum: ;
Amedya:<syntaxhighlight lang="c">
int x = 5;
x = x + 1;
</syntaxhighlight>
=== 2. Iḥder n tinaḍin ===
Tinaḍin yettwagrunen deg yiwen n uḥder ttilint gar } d {.
Amedya: <syntaxhighlight lang="c">
if (x > 0)
{
printf("x d ufrir\n");
}
</syntaxhighlight>
=== 3. Iwenniten ===
Deg C, nezmer ad naru iwenniten i wakken ad nsegzi tangalt.<syntaxhighlight lang="c">
/* Aya d awennit aɣezfan.
Yezmer ad yili ɣef deqs n izirigen. */
// Aya d awennit ɣef izirig amaynut (seg C99).
</syntaxhighlight>
=== 4. Asekkil ameqran d umeẓyan ===
C yemgarrad gar isekkilen imeqqranen d imeẓyanen. Amedya:<syntaxhighlight lang="c">
int azal = 3;
int Azal = 5; // d amutti nniḍen
</syntaxhighlight>Deg C, azal d Azal mačči d yiwen.
== Ahil amezwaru s C ==
Amedya amezwaru i yettwaɛerḍen deg yal tutlayt n usihel d “Azul, i umaḍal meṛṛa!”.<syntaxhighlight lang="c">
#include <stdio.h>
int main(void)
{
printf("Azul, i umaḍal meṛṛa!\n");
return 0;
}
</syntaxhighlight>'''''Asegzi n wahil'''''
''#include <stdio.h>'': tanaṭ n uzarsekkar i d-yewwin tasenṭeḍ stdio.h, yesɛan tisɣanin n unekcum d tuffɣa am printf.
''int main(void)'': d tasɣent tagejdant. Deg C, ahil yettbeddu seg main.
''printf(...)'': tasɣent i d-yessuffuɣen aḍris ɣer tuffɣa talugant.
''\n'': azamul i izirig amaynut.
''return 0;'': yemmal i unagraw belli ahil yemmed bla tuccḍa.
Ma nefsa-d tangalt-a s umsefsay, ad d-nawi afaylu yettwaselkemen. Mi ara neselkam-it, ad d-yeffeɣ:
Azul, i umaḍal meṛṛa!
== Tamselyut ==
* [http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx www.imyura.net] {{Webarchive|url=https://web.archive.org/web/20130520191734/http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx |date=2013-05-20 }}
== Tiwelhiwin ==
{{Reflist|refs=
<ref name="k&r1e">{{cite book |last1=Kernighan |first1=Brian W. |authorlink1=Brian Kernighan |last2=Ritchie |first2=Dennis M. |authorlink2=Dennis Ritchie | title=The C Programming Language | edition=1st |publisher=[[Prentice Hall]] |date=February 1978 |location=[[Englewood Cliffs, NJ]] |isbn=978-0-13-110163-0|title-link=The C Programming Language (book) }} </ref>
<ref name="dottcl_2">{{harvtxt|Ritchie|1993}}: "Thompson had made a brief attempt to produce a system coded in an early version of C—before structures—in 1972, but gave up the effort."</ref>
<ref name="dottcl">{{harvtxt|Ritchie|1993}}: "The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of."</ref>
}}
[[Taggayt:Tutlayt n usihel]]
lxxe89z9so2e8lbuspdtcpuoe57e0vu
117077
117076
2026-08-16T00:13:42Z
Gurzil90x
14292
arniɣ ayen ilaqen
117077
wikitext
text/x-wiki
{{Infobox programming language
| name = C
| logo = File:C1stEdition.svg
| logo size = 140px
| logo alt = Text in light blue serif capital letters on white background and very large light blue sans-serif letter C.
| logo caption = ''[[The C Programming Language]]''<ref name="k&r1e" /> (often referred to as "K&R"), the seminal book on C
| paradigm = [[Imperative programming|Imperative]] ([[Procedural programming|procedural]]), [[structured programming|structured]]
| designer = [[Dennis Ritchie]]
| developer = [[Dennis Ritchie]] & [[Bell Labs]] (creators); ANSI X3J11 ([[ANSI C]]); {{nobr|ISO/IEC JTC1/SC22/WG14}} (ISO C)
| latest release version = [[C18 (C standard revision)|C18]]
| latest release date = {{start date and age|2018|06}}
| typing = [[Type system|Static]], [[Weak typing|weak]], [[manifest typing|manifest]], [[Nominal type system|nominal]]
| implementations = K&R, [[GNU Compiler Collection|GCC]], [[Clang]], {{nowrap|[[Intel C++ Compiler|Intel C]],}} [[Microsoft Visual C++]], {{nowrap|[[Watcom C/C++ compiler|Watcom C]]}}
| dialects = [[Cyclone (programming language)|Cyclone]], [[Unified Parallel C]], [[Split-C]], [[Cilk]], [[C*]]
| influenced = [[:Category:C programming language family|Numerous]]: [[AMPL]], [[AWK]], [[C shell|csh]], [[C++]], [[C--]], [[C Sharp (programming language)|C#]], [[Objective-C]], [[D (programming language)|D]], [[Go (programming language)|Go]], [[Java (programming language)|Java]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Limbo (programming language)|Limbo]], [[LPC (programming language)|LPC]], [[Perl]], [[PHP]], [[Pike (programming language)|Pike]], [[Processing (programming language)|Processing]], [[Python (programming language)|Python]], [[Ring (programming language)|Ring]],<ref name="Ring language and other languages">{{cite web |url=http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |title=Ring language and other languages |author=Ring Team |date=5 December 2017 |work=ring-lang.net |publisher=[[ring-lang]] |access-date=20 April 2019 |archive-date=25 December 2018 |archive-url=https://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |url-status=dead }}</ref> [[Rust (programming language)|Rust]], [[Seed7]], [[Vala (programming language)|Vala]], [[Verilog]] (HDL),<ref name="vinsp">{{cite web|title=Verilog HDL (and C)|url=http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|date=2010-06-03|accessdate=2013-08-19|publisher=The Research School of Computer Science at the Australian National University|quote=1980s: ; Verilog first introduced ; Verilog inspired by the C programming language|deadurl=yes|archiveurl=https://web.archive.org/web/20131106064022/http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|archivedate=2013-11-06|df=}}</ref> [[Nim (programming language)|Nim]]
| operating system = [[Cross-platform]]
| year = 1972<ref name="dottcl_2" />
| turing-complete = Yes
| influenced_by = [[B (programming language)|B]] ([[BCPL]], [[CPL (programming language)|CPL]]), [[ALGOL 68]],<ref name="dottcl" /> [[Assembly language|Assembly]], [[PL/I]], [[FORTRAN]]
| file ext = {{Mono|.c}}, {{Mono|.h}}
| wikibooks = C Programming
}}
'''Tutlayt n usihel C''' d yiwet seg tutlayin n usihel i yesɛan azal ameqran deg umezruy n uselkim. Seg mi d-tlul deg useggas n 1972, teqqim d ttawil agejdan i usnulfu n inagrawen n wammud, isnasen, imikṛuselkimen, d waṭas n yisenfaren nniḍen.
C d tutlayt i d-yettaken afus i umessihel ad yeḥkem mliḥ deg wayen i d-yettxelliṣ neɣ iselḥu uselkim: takatut, asekkar, d tiddin n wahil. Deg yiwet n tama, C tqrib ɣer usekkar; deg tama nniḍen, tesɛa taseddast fessusen i yettɛawanen amdan ad yaru tangalt yettwafhamen.
== Amezruy n C ==
Tutlayt C yesnulfu-tt-id Dennis Ritchie deg Bell Labs gar useggas n 1969 d 1973. Yella yesra tutlayt i yesɛan tazmert n usnulfu n unagraw Unix s wudem fessusen, arurad, yettwasnen.
Send C, llan tutlayin am B d BCPL, maca C tessaweḍ ad tili d ttawil ufrin, acku tella:
'''fessuset i uselmed''',
'''teqreb ɣer usekka'''r,
'''tesɛa tiseddi deg usenker n wahil''',
'''yettwasfsu s umsefsay''',
'''tezmer ad tili ɣef waṭas n yiselkimen(tiɣeṛɣaṛt tanmidagt)'''.
Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis d axatar: ''The C Programming Language''. Adlis-a yuɣal d tamselɣut tagejdant i yimsihlen.
Sin akin, C tettwaslugen s wuṭṭunen n ilugan:
'''C89 / C90''': alugen ANSI d ISO amezwaru.
'''C99''': yerna-d ddeqs n tmerniyin am //, for (int i = 0; ...), d tawsatin nniḍen.
'''C11''': yerna-d ttawilat i uselḥu amaynut d tɣellist.
'''C17''': d aṣeggem n C11.
'''C23''': d alugen atrar i d-yernan ddeqs n temsal timaynutin.
=== Tazwara: acu i d-yeǧǧan C ad tlul? ===
Deg taggara n iseggasen n 1960, deg Bell Labs (Merraw n Bell) di Marikan, llan imussnawen n tsenselkimt ttnadin ad snulfun anagraw n wammud amaynut, fessusen, yerna yettazzalen s tɣawla. Deg tallit-nni, Ken Thompson yella yettekki deg usenfar n Multics, maca asenfar-nni yuɣal d azuran, yerna yettwaḥseb d aẓayan i uselkim n tallit-nni.
Thompson yeǧǧa Multics, yebɣa ad yexdem anagraw amecṭuḥ, s unasiw amecṭuḥ, ɣef uselkim PDP-7. I wakken ad yessuffeɣ anagraw-a, yesnulfu-d tutlayt i wumi isemma B (seg 1969 ar 1970). B tella d tutlayt i d-yekkan seg BCPL (Basic Combined Programming Language), maca tesɛa tilas meqqren:
ur tesɛi ara tiwsatin n isefka, u txeddem kan s wawalen n tkatut n tiddi yiwet (mots), ur tezmir ara ad tessenker imuttiyen n tewsatin yemgaraden, arnu ur telli ara d tafessast i usenker n tkatut s wudem uslig.
Imiren, yella-d uselkim amaynut PDP-11, i yesɛan tiddi n tkatut n 8 n ibiten (octets). Tutlayt B ur telli ara tezmer ad tessenker anagraw ɣef uselkim-a. Dɣa dagi i d-yekka wugur i yessefken ad yettwafru s tutlayt tamaynut.
=== Dennis Ritchie d tlalit n C (1972) ===
Deg useggas n 1971–1972, Dennis Ritchie (i yettwassnen daɣen s yisem dmr) yedda-d ɣer Ken Thompson. Ritchie yebda yettbeddil tutlayt B:
yerna-d tiwsatin n isefka (int, char, float...), yerna-d timṣukin i wakken ad yessdukel isefka, yerra tutlayt tezmer ad tessenker tkatut s wudem i yiqerben ɣer usekkar, syin yefka-yas isem C, acku tella d tanernit n B (C d asekkil i d-iteddun deffir B).
Ihi, deg useggas n 1972, tlul-d tutlayt C. Ritchie yura amsefsay amezwaru n C ɣef uselkim PDP-11. Deg tallit-nni, C tella tettwaseqdec kan deg Bell Labs, gar imussnawen i yettxeddimen ɣef unagraw amaynut.
=== Unix yuɣal yettwaru s C (1973) — tagrawla tameqqrant ===
Deg useggas n 1973, Ken Thompson d Dennis Ritchie gezmen-tt di ṛṛay ad arun anagraw Unix s tutlayt C. Aya yella d tagrawla tameqqrant deg umezruy n uselkim, acku:
send 1973, inagrawen n wammud llan ttwarun s tutlayin n usuddes (assembly), i yiqerben mliḥ ɣer usekkar, maca ur zmiren ara ad ttwasnekren seg uselkim ɣer wayeḍ.
s C, Unix yuɣal s wudem n uzgay: nezmer ad t-nesselkem ɣef waṭas n yiselkimen yemgaraden, s ubeddel amecṭuḥ kan.
C tessken-d belli tutlayt n uswir ameqran tezmer ad tili d ttawil i usnulfu n unagraw n wammud s tɣawla, war ma nesṛuḥ asenker n tkatut.
Seg imiren, Unix d C uɣalen d tayuga yettwaqqnen. Yal taneqqiṭ n umezruy n C tezda d umenzu n Unix.
=== Asuffeɣ seg Bell Labs d udlis n K&R (1978) ===
Deg iseggasen n 1970, C tebda ad tazzal beṛṛa n Bell Labs:
imussnawen nniḍen bdan ttissinen-tt, snulfan-d imsefsayen nniḍen, C tebda tettwaseqdec deg isenfaren n iseɣẓanen d inagrawen.
Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis i yettwassnen aṭas: "The C Programming Language". Adlis-a yettwasemma s umata "K&R" (seg yismawen n yimura-s). Yuɣal d tamselɣut tagejdant i yimsihlen n umaḍal meṛṛa, yerna yefka-d "alugen" amezwaru n C, i yettwassnen ass-a s yisem "K&R C".
Deg tallit-a, llan aṭas n yimsefsayen n C i d-yeffɣen, maca yal yiwen yesɛa kra n umgired. Ayagi yessefk ad yettwafru s uslugen (tizeɣt).
== Aslugen n C ==
=== Alugen amezwaru: ANSI C / C89 (1983–1989) ===
Deg useggas n 1983, ANSI (American National Standards Institute) tesbedd-d tamagrawt i wumi isemma X3J11, i wakken ad tessenker alugen n C. Sdeffir n 6 n yiseggasen n leqdic, deg useggas n 1989, ssuffɣen-d alugen amezwaru unṣib:
ANSI X3.159-1989, i yettwassnen s yisem "C89" neɣ "ANSI C".
Deg useggas n 1990, ISO teqbel alugen-a s ubeddel amecṭuḥ, tessuffeɣ-d ISO/IEC 9899:1990, i yettwassnen s yisem "C90". C89 d C90 qrib d yiwen. C89/C90 rnan-d ddeqs n tɣawsiwin i yessersen C ɣef llsas iḥersen:
* tinaḍin n tesɣanin (prototypes de fonctions)
* tamkarḍit talugant am stdio.h, stdlib.h, string.h
* aslugen n uzarsekkar (préprocesseur)
* aslugen n tewsatin d tseddast
Seg imiren, C tuɣal d tutlayt yettwassnen deg umaḍal meṛṛa, yettwasqedcen deg uselkim, deg usnas (deg uḥric temguri) d uselmed.
=== C99 (1999): anerni ameqqran ===
Sdeffir n mraw n yiseggasen, deg useggas n 1999, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:1999, i yettwassnen s yisem "C99". C99 yerna-d ddeqs n tmerniyin i yettɛawanen imessihlen:
* iwenniten s // (am C++ d Java);
* tawuriwin inline i arurad deg tidin n useɣwen;
* isirawen(neɣ Tifelwiyin) n teɣzi yettbeddilen (tableaux à longueur variable, VLA);
* tawsit _Bool (abulan) d stdbool.h;
* tawsit long long i yemḍanen meqqren mliḥ;
* stdint.h i tewsatin n tiddi yettwafren;
* initialisation s yisem (designated initializers), am: struct point p = { .x = 1, .y = 2 };
* tanaṭ "for" s ubeddu amaynut: for (int i = 0; i < n; i++).
C99 yettwaqbel s lemɣawla deg waṭas n yimsefsayen am GCC, maca kra n yimsefsayen nniḍen (am MSVC n Microsoft) ɣef llsas-nni ur t-ṭṭifen ara s timmad.
=== C11 (2011): C tuɣal ɣer tallit tatrant ===
Deg useggas n 2011, ISO tessuffeɣ-d ISO/IEC 9899:2011, i yettwassnen s yisem "C11" (neɣ C1X send ad d-yeffeɣ). C11 yerna-d ttawilat i yeqqnen ɣer uselkim atrar:
aselkem s waṭas n yiskaren (ugut n ikalan ifessasen) s threads.h;
timhalin tibelkamin s stdatomic.h, i yeqqnen ɣer uselkem yettwaqqnen;
_Generic i tefranin s tewsit;
timṣukin d tiddukliwin war isem (anonymous structs/unions);
static_assert i uselken deg wakud n usefsu;
yettwakkes gets() acku yella d aɣbalu n tuccḍiwin n tɣellist (tafuli n tkatut n weḥraz).
C11 tessken-d belli C tezmer ad teddu d tallit n uselkem s waṭas n yiskaren (iskaren yesɛan uget n wulawen) d tɣellist.
=== C17 / C18 (2018): aseggem kan ===
Deg useggas n 2018, ISO tessuffeɣ-d ISO/IEC 9899:2018, i yettwassnen s yisem "C17" neɣ "C18". Alugen-a ur yerni ara tamahilt tamaynut; yeṣeggam kan tuccḍiwin yellan deg C11, yerna yessufeɣ-d kra n usegzi. Ihi C17 yella d lqem n "aṣeggem", ur yelli ara d lqem n "tmerniyin".
=== C23 (2024): lqem atrar ===
Deg useggas n 2024, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:2024, i yettwassnen s yisem "C23" (neɣ C2X send ad d-yeffeɣ). C23 yerna-d ddeqs n tɣawsiwin i yebɣan imessihlen seg zik:
* awalen yettwaṭṭfen bool, true, false (ur yesra ara ad nsekcem stdbool.h)
* nullptr i usewwaṛ ilem (pointeur nul), s wudem iḥersen
* auto i ubuddu n tewsit s wudem awurman
* imḍanen s talɣa tamisint: 0b1010 (binaire)
* isekkilen n uɣawas (attributes) s talɣa... <nowiki>[[...]]</nowiki>
* typeof i wakken ad d-nawi tawsit n tengalt
* #embed i wakken ad nsekcem ifuyla imisinen
* yettwakkes ukayad n tewsatin (variable-length arrays) d kra n tɣawsiwin tiqburin.
C23 yesskan-d belli C mazal-itt tettbeddil, tettmerni, yerna tezmer ad teqqim d tutlayt tatrant.
== Aseqdec n C ass-a ==
Ass-a, C mazal-itt d tutlayt yettwasqedcen aṭas, ladɣa deg yinagrawen ideg arurad d tkatut d lḥaǧa tagejdant:
'''Inagrawen n wammud:''' anagraw Linux yettwaru s C (akked kra n C++ d assembly); iferdisen n Windows d macOS daɣen.
'''Imikṛuselkimen d IoT:''' Arduino, STM32, ESP32, d yimikṛuselkimen n tkeṛṛusin, n tɣawsiwin, d tsenselkimt tadamsant.
'''Taffiwin n isefka''': PostgreSQL, MySQL, SQLite ttwarun s C.
'''Imsefsayen''': GCC, iferdisen n Clang/LLVM, d waṭas n yimsefsayen nniḍen.
'''Taɣellist tasenselkamt''' (cybersécurité): aṭas n yifecka n tɣellist ttwarun s C, acku zemren ad kecmen ɣer tkatut s wudem uslig.
'''Tigzi taragmawant''': aṭas n temkarḍiyin n AI am TensorFlow d PyTorch sɛant llsas n C/C++ ddaw n Python.
== Ayɣer C teqqim armi d ass-a? ==
Aṭas n tutlayin i d-yeffɣen seg 1972, maca C teqqim. Ayagi yella s kra n ssebbat:
'''Tussda d ururad''': tangalt C tettwasfsu ɣer tengalt n usekkar s wudem i yeffɣen, war aselkem n waṭas n yiferdisen nnig-s.
'''Azgay''': C tezmer ad tettwaseqdec ɣef qrib yal aselkim.
'''Asefrek n tkatut''': C yettak-d afus i umessihel ad yesenker takatut s wudem uslig, ayen ilaqen deg yinagrawen d imikṛuselkimen.
'''Alugen iḥersen''': seg C89 armi d C23, C tesɛa alugen yettwassnen, yettwaḥerzen.
'''Tamkarḍit d yimsefsayen''': llan aṭas n yimsefsayen (GCC, Clang, MSVC...) d temkarḍiyin i C.
'''Taseddast fessusen''': C ur tesɛi ara aṭas n wawalen yettwaṭṭfen, dɣa fessus i uselmed d usnulfu.
== Taseddast n C ==
Taseddast n C d taseddast yesɛan ilugan iḥersen. Kra n yiferdisen agejdanen:
=== 1. Tanaṭ ===
Yal tanaṭ deg C ttfaṛu s usekkil n unegzum: ;
Amedya:<syntaxhighlight lang="c">
int x = 5;
x = x + 1;
</syntaxhighlight>
=== 2. Iḥder n tinaḍin ===
Tinaḍin yettwagrunen deg yiwen n uḥder ttilint gar } d {.
Amedya: <syntaxhighlight lang="c">
if (x > 0)
{
printf("x d ufrir\n");
}
</syntaxhighlight>
=== 3. Iwenniten ===
Deg C, nezmer ad naru iwenniten i wakken ad nsegzi tangalt.<syntaxhighlight lang="c">
/* Aya d awennit aɣezfan.
Yezmer ad yili ɣef deqs n izirigen. */
// Aya d awennit ɣef izirig amaynut (seg C99).
</syntaxhighlight>
=== 4. Asekkil ameqran d umeẓyan ===
C yemgarrad gar isekkilen imeqqranen d imeẓyanen. Amedya:<syntaxhighlight lang="c">
int azal = 3;
int Azal = 5; // d amutti nniḍen
</syntaxhighlight>Deg C, azal d Azal mačči d yiwen.
== Ahil amezwaru s C ==
Amedya amezwaru i yettwaɛerḍen deg yal tutlayt n usihel d “Azul, i umaḍal meṛṛa!”.<syntaxhighlight lang="c">
#include <stdio.h>
int main(void)
{
printf("Azul, i umaḍal meṛṛa!\n");
return 0;
}
</syntaxhighlight>'''''Asegzi n wahil'''''
''#include <stdio.h>'': tanaṭ n uzarsekkar i d-yewwin tasenṭeḍ stdio.h, yesɛan tisɣanin n unekcum d tuffɣa am printf.
''int main(void)'': d tasɣent tagejdant. Deg C, ahil yettbeddu seg main.
''printf(...)'': tasɣent i d-yessuffuɣen aḍris ɣer tuffɣa talugant.
''\n'': azamul i izirig amaynut.
''return 0;'': yemmal i unagraw belli ahil yemmed bla tuccḍa.
Ma nefsa-d tangalt-a s umsefsay, ad d-nawi afaylu yettwaselkemen. Mi ara neselkam-it, ad d-yeffeɣ:
Azul, i umaḍal meṛṛa!
== Imuttiyen d tawsatin n isefka ==
Deg C, amutti d amkan i yettḥerzen azal. Yal amutti yesɛa isem d tawsit.
=== 1. Tawsatin agejdanen ===
{| class="wikitable"
|+
!Tawsit C
!Anamek
|-
|int
|amḍan ummid
|-
|float
|amḍan s ticcert yettifliwen
|-
|double
|amḍan s ticcert yettifliwen s tneẓẓi meqqren
|-
|char
|asekkil
|-
|void
|ur yesɛi ara azal / ur d-yettara ara azal
|-
|_Bool
|abulan, seg C99
|}
Amedya:<syntaxhighlight lang="c">
int amdan = 25;
float azal = 3.14;
double azal_d = 2.71828;
char asekkil = 'A';
</syntaxhighlight>
== Tamselyut ==
* [http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx www.imyura.net] {{Webarchive|url=https://web.archive.org/web/20130520191734/http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx |date=2013-05-20 }}
== Tiwelhiwin ==
{{Reflist|refs=
<ref name="k&r1e">{{cite book |last1=Kernighan |first1=Brian W. |authorlink1=Brian Kernighan |last2=Ritchie |first2=Dennis M. |authorlink2=Dennis Ritchie | title=The C Programming Language | edition=1st |publisher=[[Prentice Hall]] |date=February 1978 |location=[[Englewood Cliffs, NJ]] |isbn=978-0-13-110163-0|title-link=The C Programming Language (book) }} </ref>
<ref name="dottcl_2">{{harvtxt|Ritchie|1993}}: "Thompson had made a brief attempt to produce a system coded in an early version of C—before structures—in 1972, but gave up the effort."</ref>
<ref name="dottcl">{{harvtxt|Ritchie|1993}}: "The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of."</ref>
}}
[[Taggayt:Tutlayt n usihel]]
6zcdcayysx60ezahp8h7r0z00qjehe8
117079
117077
2026-08-16T10:47:55Z
Gurzil90x
14292
arniɣ ayen ilaqen
117079
wikitext
text/x-wiki
{{Infobox programming language
| name = C
| logo = File:C1stEdition.svg
| logo size = 140px
| logo alt = Text in light blue serif capital letters on white background and very large light blue sans-serif letter C.
| logo caption = ''[[The C Programming Language]]''<ref name="k&r1e" /> (often referred to as "K&R"), the seminal book on C
| paradigm = [[Imperative programming|Imperative]] ([[Procedural programming|procedural]]), [[structured programming|structured]]
| designer = [[Dennis Ritchie]]
| developer = [[Dennis Ritchie]] & [[Bell Labs]] (creators); ANSI X3J11 ([[ANSI C]]); {{nobr|ISO/IEC JTC1/SC22/WG14}} (ISO C)
| latest release version = [[C18 (C standard revision)|C18]]
| latest release date = {{start date and age|2018|06}}
| typing = [[Type system|Static]], [[Weak typing|weak]], [[manifest typing|manifest]], [[Nominal type system|nominal]]
| implementations = K&R, [[GNU Compiler Collection|GCC]], [[Clang]], {{nowrap|[[Intel C++ Compiler|Intel C]],}} [[Microsoft Visual C++]], {{nowrap|[[Watcom C/C++ compiler|Watcom C]]}}
| dialects = [[Cyclone (programming language)|Cyclone]], [[Unified Parallel C]], [[Split-C]], [[Cilk]], [[C*]]
| influenced = [[:Category:C programming language family|Numerous]]: [[AMPL]], [[AWK]], [[C shell|csh]], [[C++]], [[C--]], [[C Sharp (programming language)|C#]], [[Objective-C]], [[D (programming language)|D]], [[Go (programming language)|Go]], [[Java (programming language)|Java]], [[JavaScript]], [[Julia (programming language)|Julia]], [[Limbo (programming language)|Limbo]], [[LPC (programming language)|LPC]], [[Perl]], [[PHP]], [[Pike (programming language)|Pike]], [[Processing (programming language)|Processing]], [[Python (programming language)|Python]], [[Ring (programming language)|Ring]],<ref name="Ring language and other languages">{{cite web |url=http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |title=Ring language and other languages |author=Ring Team |date=5 December 2017 |work=ring-lang.net |publisher=[[ring-lang]] |access-date=20 April 2019 |archive-date=25 December 2018 |archive-url=https://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages |url-status=dead }}</ref> [[Rust (programming language)|Rust]], [[Seed7]], [[Vala (programming language)|Vala]], [[Verilog]] (HDL),<ref name="vinsp">{{cite web|title=Verilog HDL (and C)|url=http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|date=2010-06-03|accessdate=2013-08-19|publisher=The Research School of Computer Science at the Australian National University|quote=1980s: ; Verilog first introduced ; Verilog inspired by the C programming language|deadurl=yes|archiveurl=https://web.archive.org/web/20131106064022/http://cs.anu.edu.au/courses/ENGN3213/lectures/lecture6_VERILOG_2010.pdf|archivedate=2013-11-06|df=}}</ref> [[Nim (programming language)|Nim]]
| operating system = [[Cross-platform]]
| year = 1972<ref name="dottcl_2" />
| turing-complete = Yes
| influenced_by = [[B (programming language)|B]] ([[BCPL]], [[CPL (programming language)|CPL]]), [[ALGOL 68]],<ref name="dottcl" /> [[Assembly language|Assembly]], [[PL/I]], [[FORTRAN]]
| file ext = {{Mono|.c}}, {{Mono|.h}}
| wikibooks = C Programming
}}
'''Tutlayt n usihel C''' d yiwet seg tutlayin n usihel i yesɛan azal ameqran deg umezruy n uselkim. Seg mi d-tlul deg useggas n 1972, teqqim d ttawil agejdan i usnulfu n inagrawen n wammud, isnasen, imikṛuselkimen, d waṭas n yisenfaren nniḍen.
C d tutlayt i d-yettaken afus i umessihel ad yeḥkem mliḥ deg wayen i d-yettxelliṣ neɣ iselḥu uselkim: takatut, asekkar, d tiddin n wahil. Deg yiwet n tama, C tqrib ɣer usekkar; deg tama nniḍen, tesɛa taseddast fessusen i yettɛawanen amdan ad yaru tangalt yettwafhamen.
== Amezruy n C ==
Tutlayt C yesnulfu-tt-id Dennis Ritchie deg Bell Labs gar useggas n 1969 d 1973. Yella yesra tutlayt i yesɛan tazmert n usnulfu n unagraw Unix s wudem fessusen, arurad, yettwasnen.
Send C, llan tutlayin am B d BCPL, maca C tessaweḍ ad tili d ttawil ufrin, acku tella:
'''fessuset i uselmed''',
'''teqreb ɣer usekka'''r,
'''tesɛa tiseddi deg usenker n wahil''',
'''yettwasfsu s umsefsay''',
'''tezmer ad tili ɣef waṭas n yiselkimen(tiɣeṛɣaṛt tanmidagt)'''.
Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis d axatar: ''The C Programming Language''. Adlis-a yuɣal d tamselɣut tagejdant i yimsihlen.
Sin akin, C tettwaslugen s wuṭṭunen n ilugan:
'''C89 / C90''': alugen ANSI d ISO amezwaru.
'''C99''': yerna-d ddeqs n tmerniyin am //, for (int i = 0; ...), d tawsatin nniḍen.
'''C11''': yerna-d ttawilat i uselḥu amaynut d tɣellist.
'''C17''': d aṣeggem n C11.
'''C23''': d alugen atrar i d-yernan ddeqs n temsal timaynutin.
=== Tazwara: acu i d-yeǧǧan C ad tlul? ===
Deg taggara n iseggasen n 1960, deg Bell Labs (Merraw n Bell) di Marikan, llan imussnawen n tsenselkimt ttnadin ad snulfun anagraw n wammud amaynut, fessusen, yerna yettazzalen s tɣawla. Deg tallit-nni, Ken Thompson yella yettekki deg usenfar n Multics, maca asenfar-nni yuɣal d azuran, yerna yettwaḥseb d aẓayan i uselkim n tallit-nni.
Thompson yeǧǧa Multics, yebɣa ad yexdem anagraw amecṭuḥ, s unasiw amecṭuḥ, ɣef uselkim PDP-7. I wakken ad yessuffeɣ anagraw-a, yesnulfu-d tutlayt i wumi isemma B (seg 1969 ar 1970). B tella d tutlayt i d-yekkan seg BCPL (Basic Combined Programming Language), maca tesɛa tilas meqqren:
ur tesɛi ara tiwsatin n isefka, u txeddem kan s wawalen n tkatut n tiddi yiwet (mots), ur tezmir ara ad tessenker imuttiyen n tewsatin yemgaraden, arnu ur telli ara d tafessast i usenker n tkatut s wudem uslig.
Imiren, yella-d uselkim amaynut PDP-11, i yesɛan tiddi n tkatut n 8 n ibiten (octets). Tutlayt B ur telli ara tezmer ad tessenker anagraw ɣef uselkim-a. Dɣa dagi i d-yekka wugur i yessefken ad yettwafru s tutlayt tamaynut.
=== Dennis Ritchie d tlalit n C (1972) ===
Deg useggas n 1971–1972, Dennis Ritchie (i yettwassnen daɣen s yisem dmr) yedda-d ɣer Ken Thompson. Ritchie yebda yettbeddil tutlayt B:
yerna-d tiwsatin n isefka (int, char, float...), yerna-d timṣukin i wakken ad yessdukel isefka, yerra tutlayt tezmer ad tessenker tkatut s wudem i yiqerben ɣer usekkar, syin yefka-yas isem C, acku tella d tanernit n B (C d asekkil i d-iteddun deffir B).
Ihi, deg useggas n 1972, tlul-d tutlayt C. Ritchie yura amsefsay amezwaru n C ɣef uselkim PDP-11. Deg tallit-nni, C tella tettwaseqdec kan deg Bell Labs, gar imussnawen i yettxeddimen ɣef unagraw amaynut.
=== Unix yuɣal yettwaru s C (1973) — tagrawla tameqqrant ===
Deg useggas n 1973, Ken Thompson d Dennis Ritchie gezmen-tt di ṛṛay ad arun anagraw Unix s tutlayt C. Aya yella d tagrawla tameqqrant deg umezruy n uselkim, acku:
send 1973, inagrawen n wammud llan ttwarun s tutlayin n usuddes (assembly), i yiqerben mliḥ ɣer usekkar, maca ur zmiren ara ad ttwasnekren seg uselkim ɣer wayeḍ.
s C, Unix yuɣal s wudem n uzgay: nezmer ad t-nesselkem ɣef waṭas n yiselkimen yemgaraden, s ubeddel amecṭuḥ kan.
C tessken-d belli tutlayt n uswir ameqran tezmer ad tili d ttawil i usnulfu n unagraw n wammud s tɣawla, war ma nesṛuḥ asenker n tkatut.
Seg imiren, Unix d C uɣalen d tayuga yettwaqqnen. Yal taneqqiṭ n umezruy n C tezda d umenzu n Unix.
=== Asuffeɣ seg Bell Labs d udlis n K&R (1978) ===
Deg iseggasen n 1970, C tebda ad tazzal beṛṛa n Bell Labs:
imussnawen nniḍen bdan ttissinen-tt, snulfan-d imsefsayen nniḍen, C tebda tettwaseqdec deg isenfaren n iseɣẓanen d inagrawen.
Deg useggas n 1978, Brian Kernighan d Dennis Ritchie ssuffɣen-d adlis i yettwassnen aṭas: "The C Programming Language". Adlis-a yettwasemma s umata "K&R" (seg yismawen n yimura-s). Yuɣal d tamselɣut tagejdant i yimsihlen n umaḍal meṛṛa, yerna yefka-d "alugen" amezwaru n C, i yettwassnen ass-a s yisem "K&R C".
Deg tallit-a, llan aṭas n yimsefsayen n C i d-yeffɣen, maca yal yiwen yesɛa kra n umgired. Ayagi yessefk ad yettwafru s uslugen (tizeɣt).
== Aslugen n C ==
=== Alugen amezwaru: ANSI C / C89 (1983–1989) ===
Deg useggas n 1983, ANSI (American National Standards Institute) tesbedd-d tamagrawt i wumi isemma X3J11, i wakken ad tessenker alugen n C. Sdeffir n 6 n yiseggasen n leqdic, deg useggas n 1989, ssuffɣen-d alugen amezwaru unṣib:
ANSI X3.159-1989, i yettwassnen s yisem "C89" neɣ "ANSI C".
Deg useggas n 1990, ISO teqbel alugen-a s ubeddel amecṭuḥ, tessuffeɣ-d ISO/IEC 9899:1990, i yettwassnen s yisem "C90". C89 d C90 qrib d yiwen. C89/C90 rnan-d ddeqs n tɣawsiwin i yessersen C ɣef llsas iḥersen:
* tinaḍin n tesɣanin (prototypes de fonctions)
* tamkarḍit talugant am stdio.h, stdlib.h, string.h
* aslugen n uzarsekkar (préprocesseur)
* aslugen n tewsatin d tseddast
Seg imiren, C tuɣal d tutlayt yettwassnen deg umaḍal meṛṛa, yettwasqedcen deg uselkim, deg usnas (deg uḥric temguri) d uselmed.
=== C99 (1999): anerni ameqqran ===
Sdeffir n mraw n yiseggasen, deg useggas n 1999, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:1999, i yettwassnen s yisem "C99". C99 yerna-d ddeqs n tmerniyin i yettɛawanen imessihlen:
* iwenniten s // (am C++ d Java);
* tawuriwin inline i arurad deg tidin n useɣwen;
* isirawen(neɣ Tifelwiyin) n teɣzi yettbeddilen (tableaux à longueur variable, VLA);
* tawsit _Bool (abulan) d stdbool.h;
* tawsit long long i yemḍanen meqqren mliḥ;
* stdint.h i tewsatin n tiddi yettwafren;
* initialisation s yisem (designated initializers), am: struct point p = { .x = 1, .y = 2 };
* tanaṭ "for" s ubeddu amaynut: for (int i = 0; i < n; i++).
C99 yettwaqbel s lemɣawla deg waṭas n yimsefsayen am GCC, maca kra n yimsefsayen nniḍen (am MSVC n Microsoft) ɣef llsas-nni ur t-ṭṭifen ara s timmad.
=== C11 (2011): C tuɣal ɣer tallit tatrant ===
Deg useggas n 2011, ISO tessuffeɣ-d ISO/IEC 9899:2011, i yettwassnen s yisem "C11" (neɣ C1X send ad d-yeffeɣ). C11 yerna-d ttawilat i yeqqnen ɣer uselkim atrar:
aselkem s waṭas n yiskaren (ugut n ikalan ifessasen) s threads.h;
timhalin tibelkamin s stdatomic.h, i yeqqnen ɣer uselkem yettwaqqnen;
_Generic i tefranin s tewsit;
timṣukin d tiddukliwin war isem (anonymous structs/unions);
static_assert i uselken deg wakud n usefsu;
yettwakkes gets() acku yella d aɣbalu n tuccḍiwin n tɣellist (tafuli n tkatut n weḥraz).
C11 tessken-d belli C tezmer ad teddu d tallit n uselkem s waṭas n yiskaren (iskaren yesɛan uget n wulawen) d tɣellist.
=== C17 / C18 (2018): aseggem kan ===
Deg useggas n 2018, ISO tessuffeɣ-d ISO/IEC 9899:2018, i yettwassnen s yisem "C17" neɣ "C18". Alugen-a ur yerni ara tamahilt tamaynut; yeṣeggam kan tuccḍiwin yellan deg C11, yerna yessufeɣ-d kra n usegzi. Ihi C17 yella d lqem n "aṣeggem", ur yelli ara d lqem n "tmerniyin".
=== C23 (2024): lqem atrar ===
Deg useggas n 2024, ISO tessuffeɣ-d alugen amaynut: ISO/IEC 9899:2024, i yettwassnen s yisem "C23" (neɣ C2X send ad d-yeffeɣ). C23 yerna-d ddeqs n tɣawsiwin i yebɣan imessihlen seg zik:
* awalen yettwaṭṭfen bool, true, false (ur yesra ara ad nsekcem stdbool.h)
* nullptr i usewwaṛ ilem (pointeur nul), s wudem iḥersen
* auto i ubuddu n tewsit s wudem awurman
* imḍanen s talɣa tamisint: 0b1010 (binaire)
* isekkilen n uɣawas (attributes) s talɣa... <nowiki>[[...]]</nowiki>
* typeof i wakken ad d-nawi tawsit n tengalt
* #embed i wakken ad nsekcem ifuyla imisinen
* yettwakkes ukayad n tewsatin (variable-length arrays) d kra n tɣawsiwin tiqburin.
C23 yesskan-d belli C mazal-itt tettbeddil, tettmerni, yerna tezmer ad teqqim d tutlayt tatrant.
== Aseqdec n C ass-a ==
Ass-a, C mazal-itt d tutlayt yettwasqedcen aṭas, ladɣa deg yinagrawen ideg arurad d tkatut d lḥaǧa tagejdant:
'''Inagrawen n wammud:''' anagraw Linux yettwaru s C (akked kra n C++ d assembly); iferdisen n Windows d macOS daɣen.
'''Imikṛuselkimen d IoT:''' Arduino, STM32, ESP32, d yimikṛuselkimen n tkeṛṛusin, n tɣawsiwin, d tsenselkimt tadamsant.
'''Taffiwin n isefka''': PostgreSQL, MySQL, SQLite ttwarun s C.
'''Imsefsayen''': GCC, iferdisen n Clang/LLVM, d waṭas n yimsefsayen nniḍen.
'''Taɣellist tasenselkamt''' (cybersécurité): aṭas n yifecka n tɣellist ttwarun s C, acku zemren ad kecmen ɣer tkatut s wudem uslig.
'''Tigzi taragmawant''': aṭas n temkarḍiyin n AI am TensorFlow d PyTorch sɛant llsas n C/C++ ddaw n Python.
== Ayɣer C teqqim armi d ass-a? ==
Aṭas n tutlayin i d-yeffɣen seg 1972, maca C teqqim. Ayagi yella s kra n ssebbat:
'''Tussda d ururad''': tangalt C tettwasfsu ɣer tengalt n usekkar s wudem i yeffɣen, war aselkem n waṭas n yiferdisen nnig-s.
'''Azgay''': C tezmer ad tettwaseqdec ɣef qrib yal aselkim.
'''Asefrek n tkatut''': C yettak-d afus i umessihel ad yesenker takatut s wudem uslig, ayen ilaqen deg yinagrawen d imikṛuselkimen.
'''Alugen iḥersen''': seg C89 armi d C23, C tesɛa alugen yettwassnen, yettwaḥerzen.
'''Tamkarḍit d yimsefsayen''': llan aṭas n yimsefsayen (GCC, Clang, MSVC...) d temkarḍiyin i C.
'''Taseddast fessusen''': C ur tesɛi ara aṭas n wawalen yettwaṭṭfen, dɣa fessus i uselmed d usnulfu.
== Taseddast n C ==
Taseddast n C d taseddast yesɛan ilugan iḥersen. Kra n yiferdisen agejdanen:
=== 1. Tanaṭ ===
Yal tanaṭ deg C ttfaṛu s usekkil n unegzum: ;
Amedya:<syntaxhighlight lang="c">
int x = 5;
x = x + 1;
</syntaxhighlight>
=== 2. Iḥder n tinaḍin ===
Tinaḍin yettwagrunen deg yiwen n uḥder ttilint gar } d {.
Amedya: <syntaxhighlight lang="c">
if (x > 0)
{
printf("x d ufrir\n");
}
</syntaxhighlight>
=== 3. Iwenniten ===
Deg C, nezmer ad naru iwenniten i wakken ad nsegzi tangalt.<syntaxhighlight lang="c">
/* Aya d awennit aɣezfan.
Yezmer ad yili ɣef deqs n izirigen. */
// Aya d awennit ɣef izirig amaynut (seg C99).
</syntaxhighlight>
=== 4. Asekkil ameqran d umeẓyan ===
C yemgarrad gar isekkilen imeqqranen d imeẓyanen. Amedya:<syntaxhighlight lang="c">
int azal = 3;
int Azal = 5; // d amutti nniḍen
</syntaxhighlight>Deg C, azal d Azal mačči d yiwen.
== Ahil amezwaru s C ==
Amedya amezwaru i yettwaɛerḍen deg yal tutlayt n usihel d “Azul, i umaḍal meṛṛa!”.<syntaxhighlight lang="c">
#include <stdio.h>
int main(void)
{
printf("Azul, i umaḍal meṛṛa!\n");
return 0;
}
</syntaxhighlight>'''''Asegzi n wahil'''''
''#include <stdio.h>'': tanaṭ n uzarsekkar i d-yewwin tasenṭeḍ stdio.h, yesɛan tisɣanin n unekcum d tuffɣa am printf.
''int main(void)'': d tasɣent tagejdant. Deg C, ahil yettbeddu seg main.
''printf(...)'': tasɣent i d-yessuffuɣen aḍris ɣer tuffɣa talugant.
''\n'': azamul i izirig amaynut.
''return 0;'': yemmal i unagraw belli ahil yemmed bla tuccḍa.
Ma nefsa-d tangalt-a s umsefsay, ad d-nawi afaylu yettwaselkemen. Mi ara neselkam-it, ad d-yeffeɣ:
Azul, i umaḍal meṛṛa!
== Imuttiyen d tawsatin n isefka ==
Deg C, amutti d amkan i yettḥerzen azal. Yal amutti yesɛa isem d tawsit.
=== 1. Tawsatin agejdanen ===
{| class="wikitable"
|+
!Tawsit C
!Anamek
|-
|int
|amḍan ummid
|-
|float
|amḍan s ticcert yettifliwen
|-
|double
|amḍan s ticcert yettifliwen s tneẓẓi meqqren
|-
|char
|asekkil
|-
|void
|ur yesɛi ara azal / ur d-yettara ara azal
|-
|_Bool
|abulan, seg C99
|}
Amedya:<syntaxhighlight lang="c">
int amdan = 25;
float azal = 3.14;
double azal_d = 2.71828;
char asekkil = 'A';
</syntaxhighlight>
=== 2. Isem n umutti ===
Isem n umutti yezmer ad yesɛu:
isekkilen, izwilen, azamul _.
Maca ur yezmir ara:
ad yebdu s uzwil, neɣ ad yili d awal yettwaṭṭfen n C, neɣad yesɛu imeslayen ur nelli ara ASCII.
Amedya yelhan:<syntaxhighlight lang="c">
int age;
int user_name;
int total2;
</syntaxhighlight>
== Tamselyut ==
* [http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx www.imyura.net] {{Webarchive|url=https://web.archive.org/web/20130520191734/http://www.imyura.net/Timenza/tabid/57/articleType/ArticleView/articleId/142/Awal-ef-uselkim-su-Y-At-Yiil.aspx |date=2013-05-20 }}
== Tiwelhiwin ==
{{Reflist|refs=
<ref name="k&r1e">{{cite book |last1=Kernighan |first1=Brian W. |authorlink1=Brian Kernighan |last2=Ritchie |first2=Dennis M. |authorlink2=Dennis Ritchie | title=The C Programming Language | edition=1st |publisher=[[Prentice Hall]] |date=February 1978 |location=[[Englewood Cliffs, NJ]] |isbn=978-0-13-110163-0|title-link=The C Programming Language (book) }} </ref>
<ref name="dottcl_2">{{harvtxt|Ritchie|1993}}: "Thompson had made a brief attempt to produce a system coded in an early version of C—before structures—in 1972, but gave up the effort."</ref>
<ref name="dottcl">{{harvtxt|Ritchie|1993}}: "The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of."</ref>
}}
[[Taggayt:Tutlayt n usihel]]
5b4ipjfunl7vjdrmx93wttif2yg39wv
Karl Marks
0
1785
117078
117074
2026-08-16T00:25:39Z
Gurzil90x
14292
arniɣ ayen ilaqen
117078
wikitext
text/x-wiki
[[Tugna:Karl Marx by John Jabez Edwin Mayall 1875 - Restored.png|vignette|Karl Marks deg useggas 1857.]]
'''Karl Heinrich Marks''', ilul deg 5 si [[Mayyu]] deg usseggas 1818 di tmurt n [[Trier]] yezdeɣ di Rheinland tamurt n [[Lalman]] yemmut di 14 di [[Meɣres]] 1883 di teɣremt n [[London]]. Marks yella d argaz n tfelsafit d tsertit u d ameẓṛay ameqṛan deg tdamsa, tasnametti u d netta i d-isnulfan ayen i wumi neqqar [[Tazdukla]], i d-yeqqaren belli ulac amgarad ger imdanen ɣas ulamma yella deg ixeddim-nsen n yal ass.
Yella d afelsafi, amezruyan, d amassan n tdamsa almani. Yetttwaḥesben d yiwen seg yimassanen imeqranen akk i yesbedden tasnakta(tidyulujit) n tzdukla d tnemla. Axeddim-is akked umeddakel-is Fridrik Angils, yefka-d tamuɣli tamaynut ɣef umzruy, timetti, d tdamsa. Tikti-ines tagejdant teqqen ɣer umennuɣ n tiserkam.
==1. Tudert-is==
Ilul Karl Heinrich Marx di Trier aseggas n 1818. Yella d wis sin ger 8 Tam watmaten-is. Baba-s, Heinrich Marx (1782–1838), d abugaṭu, yefrurid deg yiwet twacult twudayt Ackenaz. Jedd-nsen Meier Halevi Marx yella d uday, ma d mmi-s d warraw n mmi-s uɣalen d imasiḥiyen, ẓẓiẓrgen isem-nsen ɣer Heinrich iwakken ad izmiren ad xedmen, yemma-s n Karl, Henriette Pressburg (20 [[Yulyu]] 1788-30 [[Wamber]] 1863), d tudayt n [[Timura n Wadda|tmura n wadda]].
== 2. Asatal amzrayan d waddad n tmetti ==
Marks yedder deg tallit ideg tella tagrawla tamgurant di Turuft. Tallit-nni teddem-d asnulfu ameqran deg usfares, maca ternu-yas tawaɣit i yixeddamen. Tamsihrit tebna ɣef ufraq n ihri gar yimawlanen n yimukan n usfares, imɣiden ur nesɛi ara ula d ayla, ala tazmert-nsen n uxeddim i wakken ad idiren.
Deg tallit-nni, Marks iwala belli anagraw amaynut n tdamsa ur yessaweḍ ara ad yefk tilelli i yemdanen meṛṛa, maca yerna kan aqhaṛ d twaɣit. D ayen i t-yessawḍen ad inadi ɣef yiẓuran n umgired n tiserkam yellan deg unagraw-a.
== 3. Amhaz Icudden Ɣer Wangaw: Lsas n Tfelsafit-is ==
Afelsafi almani Hegel yesbedd tikti n umhaz, maca s tmuɣli i yurzen ɣer wallaɣ kan, yella yettḥulfu belli tikta d tmuɣliwin n wallaɣ d nitenti i d-ixelqen tilawt. Marks yerra tamsalt-a, yenna-d: "Tikta n yemdanen ur d-ttekken ara seg igenni, maca ttekken-d seg tilawt tangawat, seg usfares d wassaɣen n tdamsa."
S wawal n Marks, mačči d allaɣ n wemdan i d-yettaken tilawt, maca d tilawt tangawat i d-yettaken allaɣ d tikta. Amhaz s wudem n tangawa yessefham-d belli kullci deg umaḍal yettbeddal, yettemhaz, yerna amhaz-a yettili-d s umgired, s temsal yettemgaraden i yettmyelkafen i wakken ad d-snulfunt tamsalt tamaynut.
=== Tangeẓṛi Tamezrayt ===
Lsas amenzu n tfelsafit n Marks d tangeẓṛi tamezrayt. Ɣer-s, maççi d tikta, asɣan, neɣ d iziɣren i d-yessuddusen amezruy n talsa, maca d tignatin n waddad adamsan d wamek i d-tettili tfarest. Timetti tebna ɣef sin n yeḥricen igejdanen. Aḥric amezwaru d "adda" i d-immalen allalen n ufares akked wassaɣen n ufares (tadamsa, lxedma, tawuri). Aḥric wis sin d "taɣessa" (la superstructure) i d-ijemɛen tasnakta, izerfan, d tsertit. Adda adamsan d netta i d-isbaduyen taɣessa n tmetti. Ihi, yal tuttya neɣ abeddel lqayen deg umezruy yettas-d mi ara yili umennuɣ gar wallalen n ufares d wassaɣen n ufares n tallit-nni. Amezruy ur iteddu ara s tẓeṛiyin timadwanin, maca s tmentilin yellan s wudem n tengeẓri.
== 4. Amzruy d Umennuɣ n Tserkam ==
[[Tugna:Communist-manifesto.png|vignette|Ulɣu n ukabar n tzdukla s tutlayt talalmanit.]]
Deg udlis-is "Ulɣu n Ukabar Azduklan", Marks yura belli amzruy n tmettiyin akk i yellan d amzruy n umennuɣ n tserkam. Yal tawada n tmetti tettili-d s umgired gar sin n yidisan: wid iṭṭfen adabu d ihri, d wid ur nesɛi ara ayla.
Deg tallit n temsihrit, amennuɣ-a yella gar taserkemt n yimawlanen n ihri d taserkemt n yimɣiden. Imawlanen ttnadin ɣef tanfa d wazal amernay, ma d imɣiden ttnadin ɣef tuddert, tazmert, d tilelli. Umennuɣ-a ur yezmir ara ad yili d amnekni, imi anagraw n tamsihrit yettidir ɣef usfaydu seg uxeddim n yimɣiden baṭel.
Marks yenna-d belli amezruy n tmettiyin meṛṛa d amezruy n umennuɣ n tserkam. Deg unagraw n usihri, amennuɣ-a yettili-d s telqayt gar snat n tserkamin tigejdanin. Taserkemt tamenzut d "imsihranen", i yesɛan allalen n ufares am tneɣrafin (luzinat), akal, d yihri. Taserkemt tis snat d "tameɣda", d ixeddamen neɣ imɣad ur nesɛi acemma anagar iɣallen-nsen i zenzun iwakken ad idiren. Imsihranen sfaydayen ɣef imɣad s wammud n tfarest-nsen, d ayen i d-igellun s tlufa n ddel akked lḥif ɣef yixeddamen. Amennuɣ-a ur yezmir ara ad iḥbes alamma tewweḍ-d tagrawla ara ibeddlen llsas n tmetti.
== 5. Tasertit n Tdamsa d Wazal Amernay ==
Deg udlis-is ameqran "Ihri", Marks yesleḍ amek tteddun idrimen d usfares. Yufa-d tamsalt n wazal amernay.
Amedya: Axeddam ixeddem 8 n yisragen. Deg 4 n yisragen imezwura, ixeddem i wakken ad d-yawi azal n uxeddim-is, ayen akken ad yečč, ad yels, ad yidir. Ma deg 4 n yisragen ineggura, ixeddem i umawlan n ihri baṭel. Azal-nni amernay i d-yettwafarsen deg yisragen-nni ineggura, imawlanen n ihri i t-ttawin.
D ayen i d-issefhamen belli tamsihrit mačči d anagraw n umtawa, maca d anagraw n uqher, anda wid iṭṭfen idrimen ttawin ayla n wid ixeddmen.
== 6. Tanekra d Imal n Tmetti ==
Marks yumen belli tamsihrit ad temmet s yiman-is, acku teǧǧur d iɣeblan imeqranen. Imɣiden, mi ara ukin s tilawt-nsen, ad xedmen tanekra.
Tanekra ad tawi ɣer udabu n yimɣiden, anda ara ttwakksen yimukan n usfares i yimawlanen n ihri ad uɣalen d ayla n tmetti meṛṛa.
Deg taggara, ad d-tili tzdukla: d tmetti anda ulac tiserkam, ulac adabu, ulac aqhaṛ. Yal yiwen ad ixeddem almend n tezmert-is, ad yečč almend n wayen i t-ilaqen.
[[Category:Tameddurt]]
8ydh64ofnmhwcnszse3gbgncduc7zxz
117081
117078
2026-08-16T11:27:19Z
Gurzil90x
14292
Arniɣ-d ayen ilaqen
117081
wikitext
text/x-wiki
[[Tugna:Karl Marx by John Jabez Edwin Mayall 1875 - Restored.png|vignette|Karl Marks deg useggas 1857.]]
'''Karl Heinrich Marks''', ilul deg 5 si [[Mayyu]] deg usseggas 1818 di tmurt n [[Trier]] yezdeɣ di Rheinland tamurt n [[Lalman]] yemmut di 14 di [[Meɣres]] 1883 di teɣremt n [[London]]. Marks yella d argaz n tfelsafit d tsertit u d ameẓṛay ameqṛan deg tdamsa, tasnametti u d netta i d-isnulfan ayen i wumi neqqar [[Tazdukla]], i d-yeqqaren belli ulac amgarad ger imdanen ɣas ulamma yella deg ixeddim-nsen n yal ass.
Yella d afelsafi, amezruyan, d amassan n tdamsa almani. Yetttwaḥesben d yiwen seg yimassanen imeqranen akk i yesbedden tasnakta(tidyulujit) n tzdukla d tnemla. Axeddim-is akked umeddakel-is Fridrik Angils, yefka-d tamuɣli tamaynut ɣef umzruy, timetti, d tdamsa. Tikti-ines tagejdant teqqen ɣer umennuɣ n tiserkam.
==1. Tudert-is==
Ilul Karl Heinrich Marx di Trier aseggas n 1818. Yella d wis sin ger 8 Tam watmaten-is. Baba-s, Heinrich Marx (1782–1838), d abugaṭu, yefrurid deg yiwet twacult twudayt Ackenaz. Jedd-nsen Meier Halevi Marx yella d uday, ma d mmi-s d warraw n mmi-s uɣalen d imasiḥiyen, ẓẓiẓrgen isem-nsen ɣer Heinrich iwakken ad izmiren ad xedmen, yemma-s n Karl, Henriette Pressburg (20 [[Yulyu]] 1788-30 [[Wamber]] 1863), d tudayt n [[Timura n Wadda|tmura n wadda]].
== 2. Asatal amzrayan d waddad n tmetti ==
Marks yedder deg tallit ideg tella tagrawla tamgurant di Turuft. Tallit-nni teddem-d asnulfu ameqran deg usfares, maca ternu-yas tawaɣit i yixeddamen. Tamsihrit tebna ɣef ufraq n ihri gar yimawlanen n yimukan n usfares, imɣiden ur nesɛi ara ula d ayla, ala tazmert-nsen n uxeddim i wakken ad idiren.
Deg tallit-nni, Marks iwala belli anagraw amaynut n tdamsa ur yessaweḍ ara ad yefk tilelli i yemdanen meṛṛa, maca yerna kan aqhaṛ d twaɣit. D ayen i t-yessawḍen ad inadi ɣef yiẓuran n umgired n tiserkam yellan deg unagraw-a.
== 3. Amhaz Icudden Ɣer Wangaw: Lsas n Tfelsafit-is ==
Afelsafi almani Hegel yesbedd tikti n umhaz, maca s tmuɣli i yurzen ɣer wallaɣ kan, yella yettḥulfu belli tikta d tmuɣliwin n wallaɣ d nitenti i d-ixelqen tilawt. Marks yerra tamsalt-a, yenna-d: "Tikta n yemdanen ur d-ttekken ara seg igenni, maca ttekken-d seg tilawt tangawat, seg usfares d wassaɣen n tdamsa."
S wawal n Marks, mačči d allaɣ n wemdan i d-yettaken tilawt, maca d tilawt tangawat i d-yettaken allaɣ d tikta. Amhaz s wudem n tangawa yessefham-d belli kullci deg umaḍal yettbeddal, yettemhaz, yerna amhaz-a yettili-d s umgired, s temsal yettemgaraden i yettmyelkafen i wakken ad d-snulfunt tamsalt tamaynut.
=== Tangeẓṛi Tamezrayt ===
Lsas amenzu n tfelsafit n Marks d tangeẓṛi tamezrayt. Ɣer-s, maççi d tikta, asɣan, neɣ d iziɣren i d-yessuddusen amezruy n talsa, maca d tignatin n waddad adamsan d wamek i d-tettili tfarest. Timetti tebna ɣef sin n yeḥricen igejdanen. Aḥric amezwaru d "adda" i d-immalen allalen n ufares akked wassaɣen n ufares (tadamsa, lxedma, tawuri). Aḥric wis sin d "taɣessa" (la superstructure) i d-ijemɛen tasnakta, izerfan, d tsertit. Adda adamsan d netta i d-isbaduyen taɣessa n tmetti. Ihi, yal tuttya neɣ abeddel lqayen deg umezruy yettas-d mi ara yili umennuɣ gar wallalen n ufares d wassaɣen n ufares n tallit-nni. Amezruy ur iteddu ara s tẓeṛiyin timadwanin, maca s tmentilin yellan s wudem n tengeẓri.
== 4. Amzruy d Umennuɣ n Tserkam ==
[[Tugna:Communist-manifesto.png|vignette|Ulɣu n ukabar n tzdukla s tutlayt talalmanit.]]
Deg udlis-is "Ulɣu n Ukabar Azduklan", Marks yura belli amzruy n tmettiyin akk i yellan d amzruy n umennuɣ n tserkam. Yal tawada n tmetti tettili-d s umgired gar sin n yidisan: wid iṭṭfen adabu d ihri, d wid ur nesɛi ara ayla.
Deg tallit n temsihrit, amennuɣ-a yella gar taserkemt n yimawlanen n ihri d taserkemt n yimɣiden. Imawlanen ttnadin ɣef tanfa d wazal amernay, ma d imɣiden ttnadin ɣef tuddert, tazmert, d tilelli. Umennuɣ-a ur yezmir ara ad yili d amnekni, imi anagraw n tamsihrit yettidir ɣef usfaydu seg uxeddim n yimɣiden baṭel.
Marks yenna-d belli amezruy n tmettiyin meṛṛa d amezruy n umennuɣ n tserkam. Deg unagraw n usihri, amennuɣ-a yettili-d s telqayt gar snat n tserkamin tigejdanin. Taserkemt tamenzut d "imsihranen", i yesɛan allalen n ufares am tneɣrafin (luzinat), akal, d yihri. Taserkemt tis snat d "tameɣda", d ixeddamen neɣ imɣad ur nesɛi acemma anagar iɣallen-nsen i zenzun iwakken ad idiren. Imsihranen sfaydayen ɣef imɣad s wammud n tfarest-nsen, d ayen i d-igellun s tlufa n ddel akked lḥif ɣef yixeddamen. Amennuɣ-a ur yezmir ara ad iḥbes alamma tewweḍ-d tagrawla ara ibeddlen llsas n tmetti.
== 5. Tasertit n Tdamsa d Wazal Amernay ==
Deg udlis-is ameqran "Ihri", Marks yesleḍ amek tteddun idrimen d usfares. Yufa-d tamsalt n wazal amernay.
Amedya: Axeddam ixeddem 8 n yisragen. Deg 4 n yisragen imezwura, ixeddem i wakken ad d-yawi azal n uxeddim-is, ayen akken ad yečč, ad yels, ad yidir. Ma deg 4 n yisragen ineggura, ixeddem i umawlan n ihri baṭel. Azal-nni amernay i d-yettwafarsen deg yisragen-nni ineggura, imawlanen n ihri i t-ttawin.
D ayen i d-issefhamen belli tamsihrit mačči d anagraw n umtawa, maca d anagraw n uqher, anda wid iṭṭfen idrimen ttawin ayla n wid ixeddmen.
=== Takufḍa ===
Yiwen seg yiferdisen imuqranen deg tfelsafit n Marks d tamiḍrant n tkufḍa. Axeddam deg tmetti tamsihrit yettwaḥṣeb am wakken d taɣawsa neɣ d allal kan n ufares, ur yesɛi ara azal alsan. Takufḍa-ya tebḍa ɣef kuẓ n yeḥricen: axeddam ittwakfeḍ (est aliéné) ɣef ufaris-is imi ayen i d-yexdem ur t-yeksib ara; ittwakfeḍ ɣef tigawt n ufares s timmad-is imi lxedma-s d lḥif maççi d usnulfu neɣ d lfeṛḥ; ittwakfeḍ ɣef ugama n talsa-s imi ur yexdim ara s tlelli; yerna ittwakfeḍ ɣef yixeddamen-nniḍen imi timetti tamsihrit tessekcem-d Tamsezwert deg umkan n tdukli d tegmat gar yimɣad.
== 6. Tanekra d Imal n Tmetti ==
Marks yumen belli tamsihrit ad temmet s yiman-is, acku teǧǧur d iɣeblan imeqranen. Imɣiden, mi ara ukin s tilawt-nsen, ad xedmen tanekra.
Tanekra ad tawi ɣer udabu n yimɣiden, anda ara ttwakksen yimukan n usfares i yimawlanen n ihri ad uɣalen d ayla n tmetti meṛṛa.
Deg taggara, ad d-tili tzdukla: d tmetti anda ulac tiserkam, ulac adabu, ulac aqhaṛ. Yal yiwen ad ixeddem almend n tezmert-is, ad yečč almend n wayen i t-ilaqen.
[[Category:Tameddurt]]
7u641a17qgoir42ltnwitq2l55n9t57
Anagraw n wammud
0
2139
117080
114325
2026-08-16T11:20:56Z
Gurzil90x
14292
seɣtiɣ kra n tucdiwin, syin arniɣ aḍris amaynut
117080
wikitext
text/x-wiki
'''Anagraw n wammud''' (s teglizit: ''Operating System'') d aseɣẓan adasilan ameqwṛan i yessefreken arrum n uselkim, yerna yettakken tallalt i yiseɣẓanen d isnasen nniḍen akken ad xedmen. D netta i d agrudem gar useqdac d tmacint. Mebla anagraw n wammud, aselkim ur yezmir ara ad yeg taɣawsa, acku netta i d amehhal i yesdukkulen igmanen akk n uselkim.
Deg Ctembeṛ 2024, Android d anagraw n wammad yettwassnen akk s umur n wulzuz n 46%, yeḍfer-it Microsoft Windows ɣef 26%, iOS ed iPadOS ɣef 18%, macOS ɣef 5%, ed Linux ɣef 1%. Android, iOS, akked iPadOS d inagrawen n wammud aziraz, ma d Windows, macOS, akked Linux d inagrawen n wammud n tnarit. Azuzer Linux d win yesɛan aɣmar deg unnar n iqeddacen d iselkimen n unnig. Tiggayin-nniḍen yemmuzzgen n yinagrawen n wammud ( inagrawen n wammad s wudem uzzig), am yinagrawen yettwaselɣen d inagrawen n wammud n wakud ilaw, llant i waṭas n yisnasen. Llan daɣen yinagrawen n wammad yettwagen ɣef tɣellist. Kra n yinagrawen n wammud sɛan isutren n warum d imeẓyanen(amedya, afraq n Linux afessas). Wiyaḍ zemren ad sɛun isutren n warum d imeqqranen.
== Asefrek n Usekkar d Yikalan ==
Agejdi n unagraw n wammud netta d asefrek n usekkar. Aselkim yesɛa aṭas n yiseɣẓanen i yebɣan ad xedmen deg yiwen n wakud. Anagraw n wammud yesseqdac tuddsa i waken ad yefk akud i yal akala.
'''Agetsihel / Agetmahil''': Anagraw n wammud yezmer ad yesselkem aṭas n yikalan deg yiwen n wakud, s useqdec n tunt n wakud (time slice) i yal akala.
'''Amyezwer''': Anagraw yettextiri anwa akala i ilaqen ad yekcem s usekkar s useqdec n tazwart. Llan yikalan i yebɣan akud ilaw d wid i yebɣan kan aselkem n tmahilin.
== Tamselyut ==
[http://fr.wikipedia.org/wiki/Syst%C3%A8me_d%27exploitation#Notes| Anagraw n wammud s tefransist]
[[Taggayt:Anagraw n wammud]]
[[Taggayt:Tasenselkimt]]
dv9dbmxz8bc2xd3izyiu5frx2q5vpaw