Најчесто се користат две поделби на програмските јазици:
- според начинот на пресметување
- според областа на примена
1. Поделба според начинот на пресметување:
- императивни програмски јазици
- декларативни програмски јазици
влезни податоци → наредби → резултати
Во програмите напишани во императивни програмски јазици проблемите се решаваат т.ш.
се потенцира како компјутерот ќе ги изврши пресметувањата, а кај програмите напишани на
декларативен програмски јазик се потенцира што ќе пресмета.
Како треба ( операции ) - императивни јазици
Што треба ( резултати) - декларативни јазици
Императивни програмски јазици
Императивен доаѓа од зборот imperare што значи наредува. Затоа се нарекувааат и
наредбени јазици. Составени се од наредби со кои се менуваат вредностите на податоците.
Во нив
спаѓаат: fortran, cobol, basic, pascal, modula, c, ada.
Се делат на:
- процедурални (Basic, FORTRAN, Pascal, C, Ada, Modula, и др
- објектно ориентирани (C++, Java, C#, Delphi, Simula, и др.)
Со процедуралните јазици програмите се пишуваат според постапката која е опишана со
избраната метода/процедура за решавање на задачата. Притоа се користат техники на т.н. структурно
програмирање со кое задачата се дели на помали и поедноставни задачи. За секоја задача се користи
соодветна метода за решавање со која од почетните влезни податоци преку аритметички и логички
пресметувања се добиваат крајните резултати.
Една иста метода може да се примени на различни влезни податоци. Затоа велиме дека во процедуралните јазици методите и податоците се разделени.
Пр. Ако радиус на кругот е 17 цм, со пресметување на плиштина на круг r
2
Pi се добива
неговата плоштина, но ако 17 се годините на некој ученик (r
2
Pi) со истата метода, резултатот нема
никаква смисла.
Овој недостаток е решен со објектно – ориентираните јазици. Во нив секој објект
(ученик, триаголник, автомобил, брод) има свои методи кои може да се применат на неговите
податоци.
Кај објектно-ориентираните јазици, техниките на програмирање можат да вклучуваат и карактеристики како што се криење на информации, податочна абстракција, модуларност, полиморфизам и наследување. ООП не беше често користен во развојот на апликации се до 1990-те години. Многу од модерните програмски јазици сега подржуваат ООП (Објектно-Ориентирано Програмирање).
Во процедуралните јазици процедурите со кои се обработуваат податоците се одвоени, додека кај објектно−ориентираните јазици процедурите се скриени во самите објекти.
Декларативни програмски јазици
Декларативниот начин е описен начин, со кој се опишува што знаеме за проблемот и како да се дојде до резултатот.
Се делат на:
- функциски
- логички
Програмите во функциските јазици претставуваат функција (или повеќе функции)
составена од попрости функции. Една функција може да повикува друга, а резултатот од
функцијата може да се користи како аргумент во друга функција. Главна карактеристика е тоа што
се користат изрази и функции, за разлика од императивните јазици кои користат наредби и
процедури.
Попознати функциски јазици се Miranda, Haskell, Lisp, Scheme, ML и други.
Пр. Функцијата F со аргументи Х и У во lisp се претставува со(F X Y). Основните елементи
кои се користат во lisp се наречени листи и атоми.
Логичките јазици се наменети за решавање на проблеми од вештачката интелегенција. Ги
користат принципите на т.н. формална логика каде се задава множество на тврдења (аксиоми) и
правила на заклучување. Со примена на правилата на заклучување врз тврдењата се доаѓа до
одговорот на поставената задача, односно се генерираат нови тврдења и правила на заклучување.
Најпознат програмски јазик е prolog. Во него тврдењето „Ивица е пријател на Марица“ се
запишува:
Prijatel(Ivica, Marica).
Со еден програмски јазик не може да се изразат решенијата на проблеми од различни
области. Пр. Во техничките проблеми има голем број на математичкии пресметувања, а во
економските опишување и табелирање.
- деловни апликации
- научни апликации
- системски софтвер
- компјутерска комуникација
- вештачка интелегенција
- специјална намена
Класификација на вишите програмски јазици според областа на примена
No comments:
Post a Comment