Ընթացակարգային ծրագրավորումը ծրագրավորում է, որն արտացոլում է համակարգչի Նեյմանի ճարտարապետության նախապատմությունը: Այս լեզվով գրված բոլոր ծրագրերը հրամանների որոշակի հաջորդականություն են, որոնք ստեղծում են որոշակի ալգորիթմ խնդիրների որոշակի շարք լուծելու համար: Ամենակարևոր հրամանը հանձնարարական գործողությունն է, որը նախատեսված է համակարգչի հիշողության մեջ պարունակությունը հաստատելու և ուղղելու համար:
Ո՞րն է այս լեզվի հիմնական գաղափարը:
Ընթացակարգային ծրագրավորման լեզուների հիմնական առանձնահատկությունը տեղեկատվության պահպանման համար համակարգչային հիշողության օգտագործումն է: Ծրագրի աշխատանքը կրճատվում է տարբեր հրամանների մշտական և այլընտրանքային կատարման՝ հիշողության բովանդակությունը փոխակերպելու, դրա սկզբնական վիճակի փոփոխման և ցանկալի արդյունքների հասնելու համար:
Ինչպես սկսվեց ամեն ինչ
Ընթացակարգային ծրագրավորումը սկսվեց Fortran կոչվող բարձր մակարդակի լեզվի ստեղծմամբ: Այն ստեղծվել է հիսունականների սկզբին ԱՄՆ-ում IBM-ի կողմից։ Նրա մասին առաջին հրապարակումները հայտնվեցին միայն 1954 թվականին։Ընթացակարգային կողմնորոշված ծրագրավորման լեզուն Fortran մշակվել է գիտական և տեխնիկական առաջադրանքներ կատարելու համար: Լեզվի հիմնական օբյեկտներն են թվային փոփոխականները, իրական և ամբողջ թվերը։ Բոլոր արտահայտությունները կառուցված են չորս հիմնական թվաբանական հաշվարկների վրա՝ աստիճանականացում, հարաբերակցության գործողություններ, փակագծեր, տրամաբանական մանիպուլյացիաներ ԵՎ, ՈՉ, ԿԱՄ:
Լեզվի հիմնական օպերատորներն են՝ ելք, մուտքագրում, անցում (պայմանական, անվերապահ), կանչող ենթածրագրեր, հանգույցներ, հանձնարարություն։ Ընթացակարգային ծրագրավորումը Fortran լեզվով շատ երկար ժամանակ աշխարհում ամենատարածվածն է եղել: Լեզվի գոյության ընթացքում կուտակվել է տարբեր գրադարանների և ծրագրերի հսկայական տվյալների բազա, որոնք գրվել են հատուկ Fortran-ում։ Այժմ աշխատանքները դեռ շարունակվում են հաջորդ Fortran ստանդարտի ներդրման ուղղությամբ: 2000 թվականին մշակվել է Fortran F2k-ի տարբերակը, որի ստանդարտ տարբերակը կոչվում է HPF: Այն ստեղծվել է զուգահեռ սուպերհամակարգիչների համար։ Ի դեպ, PL-1 և BASIC լեզուները օգտագործում են Fortran-ի բազմաթիվ ստանդարտներ:
Cobol լեզու
Cobol-ը ընթացակարգային ծրագրավորման լեզու է: Սա ծրագրավորման լեզու է, որն ուղղված է տեղեկատվության մշակման բազմաթիվ խնդիրների լուծմանը։ Այն ակտիվորեն օգտագործվում է տարբեր կառավարչական, հաշվապահական և տնտեսական խնդիրների լուծման համար։ Cobol-ում ընթացակարգային ծրագրավորումը մշակվել է ԱՄՆ-ում 1958-1960թթ. Ծրագիրն ինքնին, որը ստեղծված է Cobol-ում, ունի մի քանի տեսակի նախադասությունների տեսակներ անգլերենով, որոնք արտաքնապես նման են ամենասովորական տեքստին: Բանն այն է, որ խումբըՀաջորդաբար գրված օպերատորները միավորվում են ամբողջ նախադասությունների մեջ, նախադասություններն իրենք՝ պարբերությունների մեջ, իսկ պարբերությունները՝ բաժինների: Ծրագրավորողն ինքն է անուններ կամ պիտակներ նշանակում պարբերություններին և նշանակված բաժիններին, որպեսզի ավելի հեշտ լինի հղում կատարել կոդի որոշակի հատվածին: Խորհրդային Միությունում ծրագրի ռուսերեն տարբերակը մշակվել և գործնականում շատ հաջող է կիրառվել:
Կոբոլ լեզվով պրոցեդուրաներին ուղղված ծրագրավորումն իրականացվում է հզոր աշխատանքային գործիքների շնորհիվ, որոնք ի վիճակի են մշակել տվյալների հսկայական հոսքեր, որոնք պահվում են տարբեր արտաքին կրիչներում: Այս լեզվով գրված բազմաթիվ հավելվածներ կան, որոնք ակտիվորեն օգտագործվում են նույնիսկ հիմա:
Հետաքրքիր փաստ. ԱՄՆ-ի ամենաբարձր վարձատրվող ծրագրավորողները ծրագրեր են գրում Cobol-ով։
Ալգոլի լեզու
Այս ընթացակարգային ծրագրավորման լեզուն ստեղծվել է մասնագետների մի ամբողջ խմբի կողմից 1960 թվականին։ Սա միջազգային մակարդակով համագործակցության մեկնարկի արդյունքն էր։ Ալգոլը մշակվել է ալգորիթմների պահպանման համար, որոնք կառուցվել են որոշակի ընթացակարգերի հաջորդականության տեսքով, որոնք օգտագործվել են առաջադրանքները լուծելու համար: Սկզբում լեզուն որոշ չափով երկիմաստ էր ընկալվում, բայց այն ճանաչվեց միջազգային մակարդակով, հսկայական դեր խաղաց ծրագրավորման հիմնական հասկացությունների մշակման և նոր սերնդի ծրագրավորողների ուսուցման գործում: Ընթացակարգային ծրագրավորումը Algol լեզվով առաջինն էր, որ ներկայացրեց այնպիսի հասկացություններ, ինչպիսիք են «ծրագրի բլոկի կառուցվածքը», «դինամիկ հիշողության տեղաբաշխումը»:
Լեզվի ևս մեկ առանձնահատկություն կա.սա բլոկում որոշ տեղական նշաններ մուտքագրելու հնարավորություն է, որոնք չեն վերաբերում ծրագրի մնացած կոդի վրա: Այո, Algol-60-ը, չնայած իր միջազգային ծագմանը, այնքան հայտնի չէր, որքան Fortran-ը:
Ոչ բոլոր արտասահմանյան համակարգիչներն ունեին թարգմանիչներ Algol-60-ից, ուստի այս ընթացակարգային ծրագրավորումը ենթարկվել է փոփոխությունների և ի հայտ է եկել կատարելագործված Algol-68 լեզուն:
Algol-68
Այն արդեն բազմակողմանի և բազմաֆունկցիոնալ առաջադեմ ծրագրավորման լեզու էր: Դրա հիմնական առանձնահատկությունն այն էր, որ նույն ծրագրով հնարավոր էր թարգմանել լեզվի տարբեր տարբերակներից՝ առանց որևէ ծախսի այս լեզուն հարմարեցնելու ծրագրավորողների տարբեր կատեգորիաներին, որոնք կարող էին ունենալ լեզվի տիրույթի հատուկ բարբառներ::
Եթե դատենք այս լեզվի հնարավորությունների մասին, ապա Algol-68-ը նույնիսկ այժմ իր հնարավորություններով առաջ է շատ ծրագրավորման լեզուներից, սակայն այն պատճառով, որ այս ընթացակարգային ծրագրավորման լեզվի համար արդյունավետ համակարգիչներ չկան:, դեռևս հնարավոր չի եղել ստեղծել որակյալ և արագ կոմպիլյատոր։
Ինչպե՞ս հայտնվեց հայտնի BASIC-ը:
Ընթացակարգային ծրագրավորման լեզուները ներառում են նաև աշխարհահռչակ BASIC-ը: Վաթսունականների կեսերին Դարթմութ քոլեջի աշխատակիցները՝ Թոմաս Կուրցը և Ջոն Քեմենին, մշակեցին ծրագրավորման յուրահատուկ լեզու, որը գլխիվայր շուռ տվեց աշխարհում ամեն ինչ: Այն բաղկացած էր ամենապարզ անգլերեն բառերից և նոր լեզուն ճանաչվեց որպես սկսնակների համար ունիվերսալ ծածկագիր կամ այլ կերպ ասած՝ BASIC: Ծննդյան տարինԵնթադրվում է, որ այս լեզուն 1964թ.-ին է: Ինչո՞ւ է BASIC-ն այդքան հայտնի դարձել: Այս ամենը պայմանավորված է նրանով, որ այն հնարավորինս հեշտ էր տիրապետել, բացի այդ, լեզուն օգնեց լուծել բազմաթիվ տարբեր գիտական, տնտեսական, տեխնիկական, խաղային և նույնիսկ առօրյա խնդիրներ: BASIC-ն ուներ լռելյայն տարբեր կանոններ, որն այժմ համարվում է ծրագրավորման անճաշակության նշան։ Դրանից հետո աշխարհում հայտնվեցին այս լեզվի բազմաթիվ տարբերակներ, որոնք հաճախ անհամատեղելի են, սակայն, հասկանալով տարբերակներից մեկը, հեշտությամբ կարող ես տիրապետել մյուսին։ Սկզբնական տարբերակն ուներ միայն թարգմանիչ, բայց այժմ կա նաև կոմպիլյատոր։
Վաթսունականների սկզբին բոլոր այն ժամանակվա գոյություն ունեցող լեզուները կենտրոնացած էին տարբեր խնդիրների լուծման վրա, բայց դրանք նաև կապված էին որոշակի համակարգչային ճարտարապետության հետ: Սա համարվում էր թերություն, ուստի որոշվեց մշակել ունիվերսալ ծրագրավորման լեզու։
PL/1
Սա առաջին բազմաֆունկցիոնալ ունիվերսալ լեզուն է, որը ստեղծվել է ԱՄՆ-ում IBM-ի կողմից: Ստեղծման տարիներ 1963-1966 թթ. Ենթադրվում է, որ սա ամենատարածված լեզուներից մեկն է, այն հարմարեցված է համակարգչային տեխնոլոգիայի ոլորտում բազմաթիվ խնդիրներ լուծելու համար՝ պլանավորում, տարբեր հաշվարկային գործընթացների ուսումնասիրություն, տրամաբանական խնդիրների մոդելավորում և լուծում, տրամաբանական սխեմաների ուսումնասիրություն, զարգացում: մաթեմատիկական ծրագրերի համակարգերի համար:
Երբ ստեղծվեց PL/1-ը, գործնականում օգտագործվեցին Algol-60, Fortran, Cobol տարբեր հասկացություններ և գործիքներ: PL/1-ը համարվում է ամենաճկուն և ամենահարուստ լեզուն, դա թույլ է տալիսստեղծել ներդիրներ, ուղղել պատրաստի ծրագրի տեքստը նույնիսկ վրիպազերծման ժամանակ։ Լեզուն լայն տարածում ունի, և նրանից թարգմանիչներն օգտագործվում են բազմաթիվ տեսակի համակարգիչներում։ IBM-ն այժմ էլ շարունակում է աջակցել այս լեզվին:
Պասկալ
Pascal-ը շատ տարածված ընթացակարգային լեզու է, որը հատկապես օգտագործվում է անհատական համակարգիչների համար: Այս ընթացակարգային ծրագրավորման լեզուն ստեղծվել է որպես կրթական լեզու, դրա ստեղծման տարիներն են 1968-1971 թթ. Մշակված է Նիկլաուս Վիրտի կողմից Ցյուրիխի ETH-ում: Ծրագրավորման այս լեզուն անվանվել է ֆրանսիացի մեծ մաթեմատիկոս և փիլիսոփա Բլեզ Պասկալի պատվին։ Wirth-ի հիմնական խնդիրն էր ստեղծել լեզու, որը հիմնված կլինի ամենապարզ շարահյուսության վրա՝ փոքր թվով հիմնական կառուցվածքների, որոնք վերածվում են մեքենայի կոդի՝ օգտագործելով սովորական կոմպիլյատոր: Հարկ է նշել, որ նրան հաջողվեց։
Պասկալ ծրագրավորման ընթացակարգային պարադիգմը հիմնված է հետևյալ սկզբունքների վրա՝
- Կառուցվածքային ծրագրավորում. Այս դեպքում օգտագործվում են ենթածրագրեր, անկախ տվյալների կառուցվածքներ։ Ծրագրավորողին հաջողվում է ստեղծել հեշտությամբ ընթեռնելի կոդ, հասկանալի ծրագրի կառուցվածք, հեշտացնում է թեստավորումն ու վրիպազերծումը:
- Ծրագրավորում՝ կառուցված վերևից ներքև: Առաջադրանքը բաժանված է պարզ լուծելիք առաջադրանքների, և կառուցված ենթաառաջադրանքների հիման վրա արդեն կառուցվում է ընդհանուր առաջադրանքի վերջնական լուծումը։
C լեզու
Ընթացակարգային ծրագրավորում C մշակվել է Bell Labs-ի կողմից՝ UNIX օպերացիոն համակարգը ներդնելու համար, որն ի սկզբանե չի համարվումզանգվածային. Մշակողները պլաններ ունեին պարզապես փոխարինել Assembler-ը, բայց պարզապես հայտնվեց առանձին C լեզու: Այն եզակի է նրանով, որ ունի բարձր մակարդակի ծրագրավորման լեզուների հնարավորություններ և միևնույն ժամանակ ունի ֆունկցիոնալ հարաբերություններ մուտք գործելու միջոցներ: C լեզուն չունի պրոցեդուրա հասկացություն, շարահյուսությունը բավականին պարզ է, չկա խիստ տվյալների մուտքագրում, ներառված է միանգամից մի քանի գործողություն արտահայտելու հնարավորություն։ Այս լեզուն անմիջապես գրավեց ծրագրավորողների ուշադրությունը՝ նրանց տալով հետաքրքիր ծրագրեր ստեղծելու լրացուցիչ հնարավորություններ։ Մինչ օրս C լեզուն բավականին տարածված է, այն լայնորեն օգտագործվում է ծրագրավորման մասնագետների կողմից: Այժմ այն ներդրված է բազմաթիվ համակարգչային հարթակներում:
Ի՞նչն է հատուկ ընթացակարգային լեզուների մեջ:
Դրանք ընդամենը մի քանիսն են, ուստի յուրաքանչյուրի մասին արժե խոսել: Սա է՝
- Մոդուլ. Ծրագրի մի հատված, որը պահվում է առանձին ֆայլում: Մոդուլն իրականացնում է մի շարք տարբերակներ, որոնք կապված են որոշակի փոփոխականների, հաստատունների կամ օբյեկտների հետ:
- Ֆունկցիա. Սա ամբողջական, անկախ կոդ է, որը լուծում է կոնկրետ խնդիր:
- Տվյալների տեսակը. Այս հայեցակարգը խոսում է տեղեկատվության որոշակի զանգվածի մասին, որը սահմանված է մեկ տեսակի համար:
Տարբերությունները ընթացակարգային և առարկայական ծրագրավորման միջև
Շատ ծրագրավորողներ գիտեն, որ ընթացակարգային և օբյեկտի վրա հիմնված ծրագրավորման լեզուները գործնականում օգտագործվում են ծրագրակազմ կամ վեբ հավելվածներ ստեղծելիս: Որն է տարբերությունը? Ամեն ինչ պարզ է, ընթացակարգային և օբյեկտիվ-կողմնորոշված ծրագրավորումը գործնականում օգտագործվում է ամենուր, բայց կան որոշ տարբերվող կետեր: Աշխատանքի ընթացքում ծրագրավորողը, իր առջեւ կոնկրետ խնդիր դնելով, այն բաժանում է փոքրերի, ընտրում է որոշակի լեզվական կոնստրուկտներ իրականացման համար (օղակներ, ֆունկցիաներ, ճյուղեր, կառուցվածքային օպերատորներ): Սա նշանակում է, որ մասնագետն առաջնորդվում է ընթացակարգային ծրագրավորմամբ։
OOP-ը ներառում է «օբյեկտ» հասկացությունը, հակառակ դեպքում դրանք կոչվում են նաև դասի օրինակներ, քանի որ շատ բան ժառանգվում է դասից։ Ժառանգությունը OOP-ի մեկ այլ տարբերակիչ սկզբունքներից է:
Ընթացակարգային և գործառական լեզուներ
Ընթացակարգային և ֆունկցիոնալ ծրագրավորումը նույնն են, թե ոչ: Ֆունկցիոնալ ծրագրավորումը կենտրոնացած է դիսկրետ մաթեմատիկայի խնդիրների լուծման վրա, մինչդեռ ընթացակարգային ծրագրավորումը մի փոքր ավելի լայն հասկացություն է և ներառում է բազմաթիվ ծրագրավորման լեզուներ որոշակի տեսակի խնդիրներ լուծելու համար:
Ի՞նչ ընտրել ձեզ համար
Շատ ընթացակարգային ծրագրավորման լեզուներ հնացած են: Այո, դրանցից մի քանիսը դեռ բարելավվում են, բայց այնուամենայնիվ արժե ուշադրություն դարձնել դրանց միայն մի մասի վրա։ Օրինակ՝ C լեզուն։ Այն այսօր տարածված է աշխարհում, շատ ժամանակակից հարթակներ կառուցված են հատուկ C լեզվով, այնպես որ, եթե ցանկանում եք զարգանալ ծրագրավորման ոլորտում, ապա պետք է ավելի լավ ծանոթանաք C լեզվին։ Այնուամենայնիվ,, դուք կարող եք ընտրել ձեզ համար այլ բան, որը պարտադիր չէ, որ կապված լինի ընթացակարգային ծրագրավորման լեզուների հետ: