Սի (ծրագրավորման լեզու)

From Wikipedia, the free encyclopedia

Սի (ծրագրավորման լեզու)
Remove ads

Սի (անգլ.՝ C)— ստանդարտացված, ընդհանուր օգտագործման համար նախատեսված պրոցեդուրային ծրագրավորման լեզու է։ Ստեղծվել է 1969-1973 թթ․ Բելլի լաբորատորիայում[5][6]։ Ի սկզբանե նախատեսված է եղել Յունիքս օպերացիոն համակարգի համար, սակայն օգտագործվում է նաև որպես կիրառական ծրագրավորման լեզու։ Ամենատարածված ծրագրավորման լեզուներից մեկն է։ Մեծ ազդեցություն է ունեցել իրենից հետո առաջացած լեզուների մեծ մասի վրա։ Մասնավորապես այսօր առավել տարածված ծրագրավորման լեզուների մեծ մասը (C++, Ջավա, C#, ՋավաՍկրիպտ և այլն) ունեն այսպես կոչված C-աձև սինտաքսիս։ Լեզվի հեղինակ Դենիս Ռիտչին նպատակ է ունեցել ստեղծել B լեզվին փոխարինող լեզու, որը կփոխարինի այն որպես UNIX օպերացիոն համակարգի գրման հիմնական լեզու։ Այսպիսով C-ն սերտ կապված է UNIX ընտանիքի օպերացիոն համակարգերին։ Չնայած, որ C-ն նախատեսված չի եղել նորեկների համար, այն լայնորեն օգտագործվում է որպես ուսուցողական լեզու։

Անվան այլ կիրառումների համար տե՛ս՝ C
Արագ փաստեր Տեսակ, Սեմանտիկա ...
Remove ads

Պատմություն

C-ն նախագծվել է 1969-1973 թվականներին Դենիս Ռիտչիի կողմից, և գրված է եղել DEC PDP-11 համակարգչի վրա ՝ UNIX օպերացիոն համակարգի համար։ Համաձայն հեղինակի, առավել ակտիվ շրջանը եղել է 1973 թ․։ Լեզուն անվանվել է C, որպեսզի ցույց տա, որ այն B լեզվի շարունակությունն է, որն էլ իր հերթին սկիզբ է առնում BCPL լեզվից։ Լեզվի ստեղծման հիմնական նպատակն էր նորաթուխ UNIX օպերացիոն համակարգը, որը գրված էր PDP-11/2 ասեմբլերի լեզվով։ Մինչ այդ տարածված միայն երկու օպերացիոն համակարգ էր գրված եղել բարձր մակարդակի լեզվով (Multics-ը՝ գրված PL/I և TRIPOS–ը ՝ BCPL լեզվով)։

1978 թվականին լույս է տեսել Բրայան Կերնիգանի և Դենիս Ռիտչիի հայտնի «C ծրագրավորման լեզուն» (անգլ.՝ «The C Programming Language») գիրքը, որը մինչև լեզվի ստանդարտ ի հայտ գալը հանդիսացել է C լեզվի ոչ ֆորմալ նկարագրությունը։

Հետագա տարիներին C-ն լայն տարածում է գտել։ Ութսունականների սկզբներին Բյորն Ստրաուստրուպը սկսեց աշխատել C++ լեզվի վրա, որը հանդիսանում է C լեզվի ընդլայնումը ՝ օբկեյտ կողմնորոշված ծրագրավորման առկայությամբ։ Այս ամենի հետևանքով անհրաժեշտություն ստեղծեց լեզվի ստանդարտ մտցնել։ Այդ նպատակով 1983 թ. Ամերիկայի ազգային ստանդարտների ինստիտուտը (ANSI) ստեղծեց կոմիտետ, որը պետք է զբաղվեր C լեզվի ստանդարտի ստեղծմամբ։ 1989 թ․ ստանդարտն ընդունվեց որպես «C ծրագրավորման լեզու» ANSI X3.159-1989. Մեկ տարի անց, 1990 թ․ չնչին փոփոխություններից հետո այդ ստանդարտը ընդունվեց նաև Ստանդարտների միջազգային կոմիտետի (ISO) կողմից։ Տասը տարի անց ՝ 1999 թ. լույս տեսավ C-ի հաջորդ ստանդարտը ՝ ISO 9899։1999, որը սովորաբար անվանվում է C99։ 2000 թ․ այն ընդունվեց նաև ANSI-ի կողմից։

2007 թվականից սկսվել է C-ի հաջորդ ստանդարտի վրա աշխատանքը, որը անվանում են C1X, որտեղ X-ը ցույց է տալիս ստանդարտի ընդուման թվականի վերջին թվանշանը (օրինակ, եթե ստանդարտը ընդունվի 2013 թ․, ապա X = 3)։

Remove ads

Առանձնահատկություններ

C-ն հանդիսանում է բարձր մակարդակի ծրագրավորման լեզու։ C-ի համար կարելի է ձևավորել միակողմանի կոմպիլատորներ, որի հետևանքով էլ C-ն հասանելի է բազմաթիվ հարթակների վրա։ Նրա գրելաձևը ազատ ձևի է, և չունի ավելորդ բարդույթներ, որը թույլ է տալիս C-ով գրված պրոյեկտները հեշտությամբ տեղափոխել դեպի այլ հարթակներ։

Այդ ամենի հետ մեկտեղ այս լեզուն իր մեջ ներառում է տարբեր այլ առանձնահատկություններ․

  • Ունի հեշտ լեզվային բազա․ Իր ստանդարդ գրադարանի տարբեր header-ֆայլերում առկա են հիմնական ֆունկցիաները (մաթեմատիկական օպերացիաները, ֆայլերի ու հիշողության հետ աշխատանքը և այլն)։
  • C-ով գրված ծրագրերը հեշտությամբ կարելի է տեղափոխել մեկ այլ համակարգ, առանց հիմնային վերափոխելու ծրագրի ֆունկցիաները։
  • Առկա է տիպերի համակարգ, որը զերծ է պահում կողմնակի օպերացիաներից։
  • Կառավարում է ծրագրի հիշողությունը ցուցիչների միջոցով։
  • Թույլ է տալիս օգտագործել պրեպրոցեսսորը միատեսակ օպերացիաները և մակրո ծրագրերը իրագործելու համար։
  • Ունի անունների տեսանելիության տեղամասեր։
  • Կարելի է ստեղծել սեփական ստրուկտուրաներ և միավորումներ, որոնք օգտվողը կարող է մանիպուլացնել։

Որոշ բացակայող հատկություններ C-ում կարելի է օգտագործել setjmp և longjmp միջոցով, ավելացնելով <setjmp.h> ֆայլը, սակայն կան նաև կողմնակի գրադարաններ (օրինակ ՝ GTK), որոնք լրացնում են C-ի հատկությունները, ավելացնելով գրաֆիկայի և այլ գործառույթների ընդլայնումները։ Նաև C-ում կարելի է ֆունկցիան կանչել հենց իր մեջից, որը առաջացնում է ֆունկցիաների ռեկուրսիա։

Remove ads

Կիրառությունները

C լեզվի հիման վրա ձևավորվել են բազմաթիվ ժամանակակից ծրագրավորման լեզուներ։ Օրինակ՝ Python և PHP ծրագրավորման լեզուները գրված են C-ի վրա, C++-ը հանդիսանում է C-ի ավելի բարելավված տարբերակը։ Գոյություն ունեն տարբեր C-ի կոմպիլյատորների իրացումներ, որոնցից են՝

  • GCC – բաց ծրագրային կոդով կոմպիլյատոր, որի միջոցով կոմպիլյացվում են բազմաթիվ ծրագրեր, օրինակ՝ Լինուքս օպերացիոն համակարգը։ Այն հանդես է գալիս GNU General Public License-ի ներքո։
  • Microsoft Visual C/C++ (MSVC)Մայքրոսոֆթի կողմից ստեղծված կոմպիլյատոր, հիմնված Lattice C-ի վրա, որով ստեղծվում են Windows օպերացիոն համակարգի համար ծրագրեր։
  • Borland C/C++ – Բորլանդ ընկերության C/C++ կոմպիլյատորը, որը հիմնականում հանդիսանում էր MSVC–ի հակառակորդը։ 2006թ․–ից այն պատկանում է CodeGear ընկերությանը, որը հետագայում միավորվել է Embarcadero ընկերությանը։
  • Intel CԻնթել ընկերության կոմպիլյատորը, որով կարելի է ստեղծել 80386 տեսակի Ինտելի պրոցեսսորների հիման վրա ծրագրեր։
  • K&R C – առաջին և օրիգինալ C կոմպիլյատորը։ Այն համապատասխանում է օրիգինալ C-ի ստանդարտին։
  • Watcom C/C++ – կոմմերցիալ կոմպիլյատոր, որը թողարկվել էր Վաթքոմ ընկերության կողմից։ 2003 թ․–ից այն դադարեց լինել կոմմերցիալ և բաց ծրագրային կոդով հրատարակվում է որպես Open Watcom.

և այլն

Ծանոթություններ

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads