May 3, 2020

1. БАҒДАРЛАМАЛАУ ТІЛДЕРІНІҢ ЖАЛПЫ МІНЕЗДЕМЕСІ

1.1 Бағдарламалау және бағдарламалау тілдерінің даму эвалюциясы

Бағдарламалау – бағдарлама құру процесі, алгоритм ұғымымен тығыз байланысты информатика саласының бір бөлігі. Бұл – соңғы кезде өте жылдам дамып келе жатқан пән саласы. Бұрынғы бағдарламалық және техникалық құралдарды дамыту мен жаңа мүмкіндіктердің пайда болу тәжірибесі бағдарламалауды тұрақты жетілдіріп келеді, осының нәтижесінде жаңа тәсілдер мен технологиялар шығып, олар қазіргі бағдарламалық жабдықтамаларды жасауға жаңа негіздеме болып табылады. Жаңа технологиялар жасау процесін зерттеу және олардың негізгі даму бағытын анықтау ісін жүргізуді қазіргі технологияларды бағдарламалау деңгейімен салыстыра отырып, қолда бар бағдарламалық және аппараттық құралдар ерекшеліктерін қолдану арқылы жетілдіру қажет.

Бағдарламалау технологиясы деп бағдарламалық жабдықтамаларды жасау процесінде пайдаланылатын құралдар мен тәсілдер жиынын айтады. Кез келген басқа технологиялар сияқты бағдарламалау технологиясы да төмендегі мүмкін-діктерді қамтитын технологиялық нұсқаулардан тұрады:

- технологиялық операцияларды орындау тізбегін көрсету;

- кез келген операцияда орындала алатын шарттарды нақтылау;

- әрбір операцияны олардың әрқайсысы үшін анықталған бастапқы мәліметтер, нәтижелер және де нұсқаулар, нормативтер, стандарттар, бағалау критерийлері мен әдістері, т.б. арқылы сипаттау.

Технология, операциялар мен олардың тізбегінен бөлек, жобаланатын жүйе-нің сипаттамасын, яғни оның жасалатын нақты кезеңінде пайдаланылатын моделін сипаттау тәсілін анықтайды. Технологиялар көбінесе мынадай екі түрге бөлініп қарастырылады:

1) бағдарлама жасау процесінің нақты кезеңдерінде пайдаланылатын технология немесе осы кезеңдердегі жеке есептерді шығару;

2) бірнеше кезеңдерді біріктіретін немесе барлық кезеңдерді толық қамтитын технология.

Алғашқы технология негізінде көбінесе нақты есепті шығара алатын шектеулі түрде қолданылатын тәсіл жатады. Ал екіншісінің негізі ретінде бағдарлама жасаудың әртүрлі кезеңдерінде пайдаланылатын тәсілдер жиынын анықтайтын базалық тәсіл, яғни ортақ көзқарас (парадигма) немесе әдіснама (методология) қарастырылады.

ЭЕМ-ның бір буынынан басқа буынға асуы текэлементтік қорды жетілдірумен сипатталып қана қоймайды және ЭЕМ-нің құрылымының өзгеруімен, олардың фукнкционалды-техникалық мүмкіндіктерінің және тұтынымдық сипаттамаларының өсуімен бейнеленеді.

Бірінші буынның ЭЕМ-дері электронды лампалардан құрылды. Сыртқы есте сақтау құрылғылары ретінде магнитті барабандар қолданылды.Олардың өнімділігі мен сенімділігі төмен болды.

1.2Бағдарламалау сапасын қамтамасыз ететін негізгі принциптер.

Құрылымдық бағдарламалау

Өткен ғасырдың 60 жылдары – бағдарламалаудың «стихиялық» даму кезеңінде бағдарлама құрылымы, мәліметтер типтері сияқты ұғымдар болмады. Сол себепті бағдарламалар қайшылықтары көп, түсінуге қиын кодтардан тұратын еді. Ол кездегі бағдарламалау өзінше бір өнер тәрізді болып көрінетін. Бағдарламалаудағы сондай қиындықтан шығу үшін бағдарламалаудың құрылымдық парадигмасына көшу керек болды.

Құрылымдық бағдарламалау есепті шағын құрылымдарға бөліп, олардың әрқайсысын жеке қарастыруды қажет етеді. Мұнда жобалау «жоғарыдан-төмен-ге» қарай жүргізілді де, жалпы құрылым идеясын жүзеге асырып, ішкі интерфейс бағдарламаларын орындауды талап етті. Бұған қоса, алгоритм конструкцияларына шектеулер қойылып, оларды формалды модель түрінде сипаттау ұсынылды және алгоритм құрудың арнайы тәсілі – қадамдық түрде орындау тәсілі қолданылды.

Бұл топтағы кең таралған тілдер ретінде PL/1, ALGOL-68, Pascal, С тілдерін атауға болады. Бағдарламалық жабдықтамаларды ары қарай көлемінің өсуі, күрделілігінің артуы мәліметтерді құрылымдауды да дамытуды талап етті.

Құрылымдық бағдарламалаудың 3 бөлігі (құраушысы) бар:

1. Модульдік бағдарламалау

2. Құрылымдық кодтау

3. Жоғарыдан төменге қарай жобалау.

Модульдік бағдарламалау. Уақыт өте келе бағдарламаларға деген көзқарас өзгеріп, бұрынғыдай процедуралар құрудан гөрі мәліметтерді ұйымдастыру жағына көңіл бөліне бастады. Бұған басты себеп болған жайттардың бірі бағдарламалар көлемінің ұлғаюы болды. Бір-бірімен өзара байланысқан процедуралар мен солар арқылы өңделетін мәліметтер жиынын көбінесе модуль деп атайтын еді.

Модульдік бағдарламалау ауқымды айнымалылардың белгілі бір тобын қолданатын ішкі бағдарламалар жиынын жеке копиляцияланатын модульдерге (ішкі бағдарламалар кітапханасы) бөліп қарастыру тәсілі болып табылады. Бұл технологияда модульдер арасындағы байланыс арнайы интерфейс арқылы жүзеге асырылады да, сол модульдердің өздерін пайдалануға (ішкі бағдарламалар командаларын және олардың «ішкі» айнымалыларын) тиым салынады. Бұл технологияны Pascal, С/C++, Ада, Modula тілдерінің соңғы нұсқалары сүйемелдейді.

Объектіге бағытталған бағдарламалау

Дәстүрлі процедураға бағытталған бағдарламалау тәсілдері күрделі бағдарламалардың талаптарын қанағаттандыра алмады. Сондықтан объектіге бағытталған бағдарламалау ұғымы пайда болды.

Объектіге бағытталған бағдарламалау (ОБП) – бұл жаңа технология.

Мұнда құрылымдық бағдарламалаудың ең тиімді жақтары алынып, олар жаңа идеялармен толықтырылады.

Объектіге бағытталған тіл деп бағдарламалары өзара байланысқан объектілер тізімінен және солардың жұмысын сипаттаудан тұратын бағдарламалау тілін айтады. ОБП ерекшеліктері:

 бағдарламалық жабдықтамалардың күрделілік дәрежесін төмендету;

 бағдарламалық жабдықтамалардың сенімділігін жоғарылату;

 бағдарламалық жабдықтамалардың кейбір компоненттерін қайтадан қолдану мүмкіндігін қамтамасыз ету.

ОБП негізгі ұғымдарының бірі – объект. Объект – мәліметтердің логикалық бірлігі ретінде бағдарламада құрастырылған жаңа типтегі айнымалы.

Объектінің атқаратын басты міндеті – мәліметтерді және оларды өңдеуге арналған тәсілдердің (ережелердің) бірігуі. С++ тілінде мәліметтерді өңдеу тәсілдер, яғни функциялар арқылы атқарылады. Сондықтан С++ бағдарламалау тілінде объект мәліметтерден және соларға қолданылатын функциялардан тұрады.

 

1.3 Бағдарламалау тілдерінің құрылымды даму концепциясы.

Өткен ғасырдың 50-ші жылдары компьютерлер қуаттылығы (ЭЕМ-дердің алғашқы буыны) онша жоғары болған жоқ, ал олар үшін бағдарламалау машиналық кодтар арқылы жүргізілді. Негізінен, ғылыми-техникалық есептер есептер (формулалар бойынша) шығарылды, бағдарламалауға берілген тапсырмалар нақты есептер қойылымынан тұратын еді. Көбінесе бағдарламалаудың интуитивтік технологиясы қолданылатын, мұнда бірден тапсырма бойынша бағдарлама құруға кірісетін, оның үстіне жұмыс барысында тапсыр-малар өзгертіліп те отыратын еді, қажетті құжаттама бағдарлама жұмыс істеген кезде барып құрастырылатын. Соған қарамастан, бағдарламалау технологиясының іргелі тұжырымдамасы болып саналатын модульдік бағдарламалау осы кезеңде (машиналық кодта бағдарламалаудың қиындығын жеңу мақсатында) пайда болды. Алғашқы жоғары деңгейде бағдарламалау тілдері пайда бола бастады, солардың ішіндегі ФОРТРАН тілі одан кейін де ұзақ уақыт пайдаланылып келеді.

1960-шы жылдары бірсыпыра жоғары деңгейде бағдарламалау тілдерінің (АЛГОЛ 60, ФОРТРАН, КОБОЛ, т.б..) өте жылдам дамығанын көреміз, сол кездерде бағдарламалау технологиясындағы олардың орны өте жоғары бағаланылып жүрді. Бірақ осы тілдер көлемді бағдарламалар жазуда барлық мәселелерді шешеді деген үміт ақталмады. Компьютерлердің қуаты артып, бағдарламалау тәжірибелері де жинақталған кездерде жоғары деңгейде бағдарламалау тілдерінің мүмкіндіктері шектеулі екендігі белгілі болды.

Осының нәтижесінде бағдарламаларды модульдік түрде ұйымдастыру жүзеге асырыла бастады. Тек ФОРТРАН тілі ғана пайдаланыла берді, өйткені ол бұрыннан-ақ модульдік қағидамен жасалған еді және дайындалған прог-раммалар кітапханасы да өте бай болатын. Осы кездерде бағдарламаны қай тілде құру емес, қалай құру керек деген сауалдың маңызды екені түсінікті болды. Мамандар енді бағдарламалау технологиялары мен олардың әдіснамаларына көңіл бөле бастады.

Екінші буын компьютерлеріндегі жұмысты уақытша тоқтатып, бағдарламаларды үзе тұру мүмкіндігінің пайда болуы мульти бағдарламалау ісінің жетілдіріліп, үлкен бағдарламалық жүйелер жасауға себепші болды. Бұлардың бәрі бағдарламаларды ұжым болып жасаудың әсерінен туындады да, көптеген жаңа технологиялық мәселелер пайда болды.

Қазіргі кезде компьютердің көмегімен әр түрлі есептерді шығаруға мүмкіндік беретін сан алуан бағдарламалау тілдері бар. Жоғарғы деңгейлі бағдарламалау тілдерінің бірі – Си тілі. Си бағдарламалау тілі 1972 жылы Bell Laboratories фирмасының қызметкері Денис Ритчидің басшылығымен Америкада жасап шығарылды. Си тілі – құрылымы Паскаль тіліне ұқсас жоғарғы деңгейлі қуатты тіл.