Бағдарламалау тілдері, классификациясы және функциясы.

Бағдарламалау, программалау – 1) есептерді ЭЕМ-де шешу үшін кезектесе орындалатын командалар тізбегіне келтіру процесі. Ол есептерді шешу алгоритміне сәйкесбағдарлама жасаудан, оны жөндеуден және қолдану барысында жетілдіру кезеңдерінен тұрады; 2) ақпараттанудың ЭЕМ үшін бағдарлама жасау тәсілдерін, сондай-ақ оны жөндеуді және жетілдіруді зерттейтін саласы.

Бағдарламалау ғылыми пән ретінде теориялық бағдармалау, жүйелі бағдарламалау және қолданбалы бағдарламалау болып бөлінеді.

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

Бағдарламалау тілдерін екіге бөлуге болады:процедуралық және процедуралық емес.Процедуралық(не алгоритмдңк) бағдарламалар нақты есепті шешудің алдын ала сипаттау жүйесінен тұрады. Процедуралық тілдерді төменгі және жоғарғы деңгейдегі деп бөледі. Төменгі деңгейдегі тілдер(машинаға бағытталынған) машиналық кодтардан,әсіресе 16 лық пішінде бағдарлама құрады. Олармен жұмыс істеу қиын,бірақ олардың көмегімен құрылған жоғары маманданған бағдарламашының бағдарламасы жадыдан аз орыналып,тез жұмыс істейді.Бұл тілдердің көмегімен жүйелі бағдарламаларды,драйверлерді(компьютер құрылғыларын басқаруға арналған бағдарлама) және т.б бағдарлама түрін өңдеу жеңілге соғады.Жоғары деңгейдегі бағдарламалар жадының нақты ұяшықтарымен және қарапайым нұсқаулармен емес,табиғи тіл командаларымен манипуляция жасайды(дәлірек айтқанда,табиғи тілге жақын командалармен).

Бағдарламалаудың негізгі принциптері 1947 жылы американ ғалымдары Дж. Нейман, А. Беркс және Г. Голдстайнның еңбектерінде дами бастады. Қазақстанда алғашқы ЭЕМ-дер (“ЭВ-80-3”, “ИПТ-5” және “Урал-1”), 1960 жылы Қазақстан Ғылым Академиясының Машина және есептеу математикасы лабораториясында қолданылды. Онда кенқазбаларының мөлшері мен қорын анықтауға, астрофизика есептерін шешуге т.б. мәселелерге арналған алгоритмдер жасалып, бағдарламалар құрылды. Кейіннен фортран, алгол, паскаль, ПЛ-1, т.б. бағдарламалау тілі пайдаланылды. 1970—1990 жылы республикамыздың көптеген мекемелері, әсіресе жоғары оқу орындары мен ғылыми-зерттеу ин-ттары жылдамдығы әр түрлі ЭЕМ-дермен қамтамасыз етіліп, бағдарлама құрастыру, жетілдіру және оны пайдалану жұмыстары одан әрі дамыды.

Бағдарламалау тілдері және негізгі классификациясы

Қазіргі кезде 3500-ден жоғары әр түрлі бағдарламалау тілдері бар және осылардың ішінен шектелген саны ғана бағдарламалық бөлімді құруға жаппай қолданылады. Бағдарламалау тілдерінің саны көп болуына байланысты олардың біршене классификациясы бар. Оның ішінде негізгі 2 түрге: фукционалдық мәніне (қызметі) және қолданылатын бағдарламалау технологиясына байланысты бөлінеді .Бағдарламалау тілдері фукнционалдық мәніне байланысты 4 үлкен классқа бөлінеді:

бағдарламалауға үйретуші;

жалпы мәнді;

проблемалық-бағытталған;

параллель бағдарламалаушы.

Қазіргі жоғары деңгейлі тілдерді осы классикацияға сәйкес қарастырамыз.

бағдарламалауға үйретуші тілдер қатарына жататын жоғарғы деңгейлі тілдердің негізгілері Logo, Basic және Pascal. Logo тілі 60-шы жылдардың аяғында С.Пейперттің басшылығымен құрылды және ЭЕМ жаңа қолданушыларға, балаларға программалаудың негізін үйретуге бағытталған. Үйретуге арналған жоғары деңгейлі тілдердің ішіндегі кең тарағаны 1965 жылы Д.Кемени мен Т.Курц құрған Basic тілі. Дербес компьютерлерге бірінші қолданылған жоғарғы деңгейлі тіл және операциялық ортасы – Basic тілі. 60-жылдардың ортасынан бастап мамандар арасында құрылымдық программалау мәселесі көтеріле бастады. 1971 жылы Н.Вирт құрылымдық технологияға үйретуші Pascal тілін құрды.

Жалпы мәнді жоғары деңгейлі тілдер қатарына әр түрлі класс есептерін тиімді программалауға бағытталған тілдер жатады. Бұл классқа жататын тілдердің негізгілері C, Modula, Ada тілдері. Бұл тілдердің негізі 1966 жылы құрылған, ғылыми, пәндік облыстағы есептерді программалауға мүмкіндік беретін PL/1 тілі. PL/1 тілі ЖС ЭЕМ сериялы модельдерде кеңінен қолданылды. Си тілін 1972 жылы Д.Ритчи құрды және Unix операциялық жүйесі осы тілде жазылды. Си тілі ассемблер тілінің де және жоғары деңгейлі тілдің де мүмкіндіктерін қамтамасыз ететін болғандықтан орта деңгейлі тіл деп атайды. Pascal тілінің идеологиясын тарату мақсатымен Н.Вирт 1980 жылы Modula–2 тілін құрды. Бұл программалау тілінің негізі – программа бір-біріне тәуелсіз модульдерден тұрады.

1978 жылы қазіргі АҚШ-та әскери қаруды басқаруға қолданылатын қосымшаларды программалуға арналған Ada тілі құрылды. Ada тілі құрылымды программалау тілі болып табылады және параллель программалау мүмкіндіктерін қамтамасыз етеді.

Проблемалық–бағытталған жоғары деңгейлі тілдер деп нақты пәндік облыс есептерінің мәселесін түгел қамтитын тілдерді атаймыз. Бұл классқа жататын бірінші жоғары деңгейлі тіл – Fortran тілі. Fortran-I тілін 1956 жылы IBM фирмасы құрды және ғылыми-техникалық есептерді шешуге арналған.

Жасанды интеллект символдық информацияларын және тізімдерін өңдеуге арналған есептерді программалауға Lisp, Prolog тілдері қолданылады. Lisp тілін 50-жылдары Д.Макартни құрды. 70-жылдары Lisp тілінің негізінде құрылған Prolog тілі логикалық программалау тілі болып табылады және 5 буынның ЭЕМ жапон проектісінде негізгі тіл болып таңдалған. Әр Prolog программа жәй тұжырымдар немесе импликациялардан тұратын сөйлемдерден тұрады, инструкция қолданылмайды.

Дәстүрлі неймандық архитектурадан ЭЕМ дәстүрлі емес параллель архитектуралы есептеу машиналарына көшуіне байланысты параллель алгоритмдерді сипаттаушы инстументальды құрылғылар пайда бола бастады. Параллель программалау тілдерінің негізі – параллель есептеулерді программалау процесін ықшамдау, параллель архитектуралы есептеу машиналарына арналған параллель программалық жүйелердің тиімдісін алу. Параллель программалауды жабдықтаудың қиындығы тиімді параллель жөндеушілерді құру. Қазіргі кезде қолданылып жүрген интерактивті параллель жөндеушілер IPSC (Intel фирмасының дербес компьютерлеріне арналған) және PDBX (мультипроцессорлы ЭЕМ арналған). Жиі қолданылатын векторлы матрицалық есептерге параллель программалар кітапханасы құрылған, BLAS- сызықтық алгебра программаларының кітапханасы, NAG – сандық алгоритмдер кітапханасы. Бұл есептерге белгілі матрицалы параллельдеушілер ProSolvar (Intel фирмасы) және жалпы мәнді параллельдеуші Parafrace (Д.Кук құрған) қолданылады.

Наши рекомендации