С-- (Ծրագրավորման լեզու)

C-- (արտասանվում է «C մինուս մինուս») C- ի նման ծրագրավորման լեզու է։ Լեզվի ստեղծողները ՝ ֆունկցիոնալ ծրագրավորման հետազոտողներ Սայմոն Փեյթոն Ջոնսը և Նորման Ռեմսին, նախագծել են, որ այն ստեղծվի հիմնականում շատ բարձր մակարդակի լեզուների կոմպիլյատորների կողմից, այլ ոչ թե գրվի ծրագրավորողների կողմից։ Ի տարբերություն շատ այլ միջանկյալ լեզուների, դրա ներկայացումը պարզ ASCII տեքստ է, այլ ոչ թե բայթկոդ կամ այլ երկուական ձևաչափ։

Դիզայնը 
«C--»- ը «շարժական ասսեմբլեր լեզու է», որը նախատեսված է բարձր կարգի մեքենայական կոդ արտադրող կոմպիլյատորների գործարկումը հեշտացնելու համար։ Լեզվի շարահյուսությունը հիմնականում փոխառվում է C- ից ՝ միաժամանակ չներառելով կամ փոփոխելով С լեզվի ստանդարտ առանձնահատկությունները և C լեզվի տիպի համակարգի ասպեկտները, քանի որ դրանք խոչընդոտում են «C--»-ի հիմնական հատկանիշներին և կոդավորման հեշտությանը։Լեզվի անունը ցույց է տալիս, որ «C--»-ը C- ի կրճատված ձևն է, այնպես ինչպես «C ++»-ը C- ի ընդլայնված ձևն է (-- նշանակում է «նվազում», իսկ ++ «ավելացում»)։«C--»-ի վրա աշխատանքը սկսվել է 1990-ականների վերջին։ Լեզվի առաջին տարբերակը թողարկվել է 1998 թվականի ապրիլին։ 1999 թվականի մայիսին HTML ձևով տեղադրվեց վերանայված ձեռնարկ։ 2000 թվականին Նորման Ռեմսիի («Առաջարկվող փոփոխություններ») և Քրիստիան Լինդիգի («Նոր քերականություն») կողմից առաջարկված փոփոխությունների արդյունքում ստացվեց «C--»-ի 2-րդ տարբերակը, որը վերջնական տեսքի բերվեց 2004 թվականին և պաշտոնապես թողարկվեց 2005 թվականին։

Տիպային համակարգը 
Ռեգիստրում կամ հիշողության մեջ պահվող արժեքը կարող է ունենալ միայն մեկ տեսակ `բիթերի զանգված։ Այնուամենայնիվ, բիթերի զանգվածը պոլիմորֆ տեսակ է, որը լինում է տարբեր մեծությամբ, օրինակ. bits8, bits32 կամ bits64: 32 կամ 64 բիթանոց «floating-point» տիպերը ներառված են։ Բացի բիթ-վեկտորի տեսակից, «C--»- ն ապահովում է բուլյան տիպը (bool), որը կարելի է հաշվարկել արտահայտություններով և օգտագործել կառավարման հոսքի համար (control flow), բայց չի կարող պահվել ռեգիստրում կամ հիշողության մեջ։

«C--» 2-րդ տարբերակում չկա տարբերություն բիթերի զանգվածի և «floating-point»-ի միջև։ Այս տեսակները կարող են նշվել լարային «բարի» պիտակով ՝ ի թիվս այլ բաների, տարբերելու համար փոփոխականի ամբողջը ընդդեմ բոց մուտքագրումը և դրա պահպանման պահվածքը (գլոբալ կամ տեղական)։ Առաջինն օգտակար է այն թիրախների վրա, որոնք ունեն առանձին գրանցիչներ ամբողջ և լողացող կետերի արժեքների համար։ Ներկայացվեցին ցուցիչների և մայրենի բառերի հատուկ տեսակներ, չնայած դրանք քարտեզագրված են թիրախից կախված երկարությամբ բիթ-վեկտորի վրա։

C– ի որոշ ծրագրավորողներ, այդ թվում ՝ Սայմոն Փեյթոն Ջոնսը, Ջոաո Դիասը և Նորման Ռեմսին, աշխատել են GHC–ի վրա, որի զարգացումը հանգեցրել է C-- լեզվի ընդլայնումների ՝ կազմելով Cmm դիալեկտը։

Հղումներ