Типови на програмски јазици

  ПРЕЗЕНТАЦИЈА -  историја на програмските јазици 

Типови на програмски јазици - преземено од mendo.mk 

Kомпјутерите разбираат само мал број на наредби (т.н. "инструкции"), и тие мора точно да знаат што треба да извршат, во кој редослед и врз кои податоци. Процесорот (делот од компјутерот кој е задолжен за извршување на овие наредби) очекува инструкциите да му бидат предадени во вид на нули (0) и единици (1). Тоа е единствениот јазик кој тој го познава. Замислете колку би било сложено да се пишуваат софтверски програми користејќи нули и единици. Сепак, интересно е да се знае дека тоа е начинот на кој се пишувале програми во раните 1950-ти години. Во продолжение е даден изгледот на една инструкција разбирлива за процесорите:

100011 00001 00010 00110 00000 100000

Ваквите инструкции се нарекуваат "машински код", "машински јазик" или "инструкциско множество", и секоја од нив има свое значење - извршува одредена операција. Операцијата е определена со првите неколку цифри (100011), додека останатите цифри ги дефинираат податоците врз кои треба да се изврши таа операција. Покрај тоа што е крајно мачно да се пишуваат програми на ваков начин, тешко е и да се менуваат постоечките програми, како и да се откриваат грешки во нив. Дополнително, различните фамилии на процесори имаат сопствени множества на инструкции, па програмите напишани за Intel Pentium 3 нема да работат на AMD Athlon 2 (на пример).

Едно ниво над машинскиот код е т.н. assembly јазик. Assembly користи едноставни имиња како "ADD" (за собирање) или "MULT" (за множење), за да ги претстави инструкциите. Програмите напишани во assembly се претвораат во машински код преку едноставно заменување на имињата на инструкциите со соодветната низа од нули и единици која ја дефинира инструкцијата. Во продолжение е даден кодот на една assembly програма:
LOAD Price
ADD Tax
STORE Total
Денес, со исклучок на дизајнерите на embedded (вградливи) компјутерски системи, многу мал број на програмери користат assembly. Постојат три позначајни причини за тоа:
· потребата од пишување на голем број на инструкции за правење на едноставни пресметки
· програмите напишани во assembly се тешко читливи од страна на луѓето
· assembly програмите напишани за една фамилија процесори не мора да работат на друга
Овој начин на програмирање е подобрен со користење на мнемонички кодови



Јазици од високо ниво

Поради сложеноста на assembly, креирани се т.н. јазици од високо ниво - јазици кои, преку сокривање на деталите од машинскиот код, им овозможуваат на програмерите да се фокусираат на решавање на вистинскиот проблем. Овие јазици се познати и како јазици од 3-та генерација (машинскиот код е јазик од 1-ва генерација, assembly е јазик од 2-ра генерација). Програмата која го чита кодот напишан во јазик од високо ниво и го претвора во програма која компјутерот може да ја разбере се нарекува компајлер. Јазиците од високо ниво се полесни за пишување, полесни за разбирање и полесни за менување. Дополнително, не е потребно пишување на десетици програми за секој можен тип на процесор.

Интересно е да се наведе дека постојат и јазици наменети за користење во само една област; на пример, јазици наменети за работа со бази на податоци (SQL). За овие јазици се вели дека се јазици од 4-та генерација.

Вишите програмски јазици не зависат од машината на која ќе се изведуваат и затоа се наречени машински независни јазици. Затоа при пишувањето на програмата не се води сметка за типот на компјутерот на кој ќе се извршуваат програмите туку за областа од која е проблемот што се решава и се нарекуваат проблемско ориентирани јазици.




No comments: