200
•
студенттерге арналған программалау тілі (LOGO);
•
программалауды ҥйренуге қабілеті болмаса да, ӛте программалағысы
келетіндерге арналған тіл (BASIC), тағы да сол сияқты жалғасып кете
береді.
АҚШ әскери министрлігінде ӛткен ғасырдың 70 жылдары 450-дей жоғары
деңгейдегі тілдер мен солардың диалектілері қолданыста болғанын айту жеткілікті
шығар. Осы жайт әмбебаптықтан ҥміткер ADA тілінің шығуына себепкер болған.
Компьютерлердің қуаты артқанмен, олардың бағалары тҧрақты тҥрде тӛмен
тҥсіп жатқан заманда, программалаудың мықты теоретигі Эдсгер Дийкстра
айтқандай, трансляторлар кӛптеген «ысқырықтар мен сылдырмақтармен» тол-
ықтырылып, жаңа мҥмкіндіктерге ие болып жатыр. Сол сылдырмақтар мен
ысқырықтар программалаушылардың жап-жақсы ӛмірін одан да кӛріктендіре
тҥспек. Ол қандай болмақ – бҧл жағынан пікір айтушылар аспан мен жердей
алшақтықпен айтысып келе жатыр.
Программалау тілдері туралы ой ӛрбіткенде, қҧрылымдық программалау
идеологиясы жайлы айтпауға болмайды, бҧл идеологияны алғаш ҧсынған да сол
Дийкстра болатын. Осы қҧрылымдық программалау ҧғымы оқулығымыздың
негізінде жатыр. Ал Паскаль тілінің конструкциясы Дийкстра ҧсынған, қазіргі
кездегі кең қолданыста жҥрген барлық процедураға бағытталған қҧрылымдық
тілдердің ядросы болып саналады. Жақсы ҧйымдастырылған қҧрылымдық
тілдердің басты белгісі – онда GOTO операторының , яғни шартсыз басқаруды
беру операторының болмауы немесе оның сирек колданылуы болып есептеледі.
Дийкстра программаларда нақты математикалық логикалық қҧрылымның
жоқ екеніне кӛңіл бӛліп, зерделі мамандардың жиі қайталайтын пікіріне кӛбірек
назар аудару қажеттілігін басып айтқан болатын. Оның идеяларын жҥзеге
асыра отырып, IBM фирмасы «Нью-Йорк таймс» газетінің мәліметтер банкін
жасау кезінде жҧмыс бағасының әжептеуір арзандағанын және оны орындау
мерзімінің де біраз қысқарғанын анықтады.
Бір қарағанға ӛте қарапайым кӛрінетін Дийкстраның осы идеясының ӛзі
кӛптеген елдерде миллиардтаған долларды ҥнемдеуге кӛмектесті. Қазіргі кезде
жоғарыдан тӛмен қарай жҥргізілетін қҧрылымдық бағыттағы жобалауды жҥзеге
асыра алмайтын бірде-бір программалау тілі қолданысқа кіріп, ӛмірден ӛз
орнын таба алмайды.
Сонымен, жҥйелік программалау маманы Харлан Миллс айтқан: «Ғарыш
кемелерінің ҧшуының ӛзі де қҧрылымдық программалауды пайдаланбай жҥзеге
асқан деп ойламаймын», – деген сӛзінде шындық бар.
Pascal тілі де қҧрылымдық программалау тәсілдерін ҥйрететін оқыту
қҧралы ғана болуға тиіс еді. Бірақ бірсыпыра себептерге байланысты ол бҧл
аядан шығып, әлемдегі ең негізгі тілдердің біріне айналды.
Қҧрылымдық программалау тілдері табиғи тілдің сӛздерін және грам-
матикасын кеңінен пайдалану жолымен дамыды, бірақ оның негізінің тҥп
тамыры болатын программалаудың процедуралық стиліне тиіскен жоқ. Осы
процедуралық стиль сӛзі компьютердің командаларды атқарушы рӛлінде
болатынын және оған нәтиже алуға қажетті барлық әрекеттер (процедуралар)
201
тізбегін толық әрі дәлме-дәл сипаттап беру керек екендігін білдіреді. Оған қоса,
компьютердің фон-Нейман архитектурасының ӛзі де оларды қуатты, бірақ
ақылсыздау робот ретінде қарастыруды ҧсынады.
1972 жылы шотланд ғалымы Р.Ковальский осындай мҥмкіндігі бар тіл
ретінде тҧжырымдамалар және олармен орындалатын операцияларды ӛңдей
алатын математикалық логика тілін жетілдіріп пайдалануды ҧсынды. Бҧл
идеяны Франция, Португалия, Ресей, т.б. елдердің ғалымдары жалпы тҥрде
қарастырып, практикалық тҥрде жҥзеге асырмақшы болды.
Осындай мақсатта жасалған программалау тілі PROLOG (французша –
PROgramming et LOGicque) деп аталды. Оны жасауға және дамытуға жаңа
ғылыми бағыттың нақты тҥрдегі қорытындысы (прологы) ретінде пайда болған
логикалық программалау ғылымы ҥлес қосып келеді.
Логикалық программалау компьютер есепті адам сияқты жолмен шығаруы
керек деген ойды негізге алады. Логикалық программалаумен қатар пайда
болып, функцияның математикалық ҧғымдарына негізделген екінші бір сала
функционалдық программалау деп аталады.
Функционалдық программалаудың алғашқы тілі 1960 жылдардың басында
шыққан LISP тілі болып табылады. LISP сӛзі – ағылшынның LISt Processing деген
сӛз тіркесінің қысқартылған нҧсқасы. Бҧл да кең таралған тілдердің бірі. Ол
жасанды зерде мәселелерін шешу жолында, әсіресе АҚШ-та кӛп қолданылады.
Қазіргі кезде компьютерлердің кӛбісіне арналған LISP тілінің бірнеше
нҧсқалары бар. Бірақ бҧл тіл функционалдық программалаудың жалғыз ғана
қҧралы емес. Оған ҧқсас тілдерге Miranda, Hope, FP тілдері жатады.
Ӛткен ғасырдың 80-жылдары программалауда тағы да бір жаңа ағым пайда
болды. Енді компьютерге бастапқы мәліметтер мен нәтиже арасында байланыс
орнату ісі жҥктелді. Біз компьютерге ол жҧмыс істеуге тиіс объектілер
сипаттамасын енгіземіз, ал компьютердің ӛзі сол объектілердің қалай байла-
нысқанын анықтауы керек болды.
Объектілер қасиеттерін сипаттаудың осы тҥрі объектіге бағытталған
программалау деп аталды. Объектіге бағытталған программалау тілдеріне C++
және Smalltalk тілдері жатады.
Бҧлардың бәрі бҥгінгі кҥн тҧрғысынан туындаған кӛзқарастар болатын. Ал
тарихи тҧрғыдан объектіге бағытталған программалау компьютердің мҥмкін-
діктерінің жетілдірілуі мен ол шығара алатын есептер аймағының кеңуі
арқасында пайда болды.
Алғашқы программалау тілдері тек бір санды ғана ӛңдей алатын еді. Ал сан
жиымдары цикл арқылы ӛңделетін.
Кейіннен машина бір оператор арқылы жҥздеген және мыңдаған сандарды қоса
алатын, жиым ішінен максимумын табатын, оларды реттейтін, т.с.с. мҥмкіндіктерге
ие болды Сандар жиымы, программалаушы тҧрғысынан қарағанда, әртҥрлі амалдар
орындауға болатын бір ғана объект тҥрінде қарастырылатын кезге жеттік.
Бірақ нақты ӛмірде біз тек сандық ақпаратпен ғана жҧмыс істемейміз.
Мысалы, студентті тек оның жасы емес, аты, фамилиясы, тобы, ҥй адресі, т.б.
Достарыңызбен бөлісу: |