Програмски језици

Сваки програмер пише програмски код у неком програмском језику. Развој програмских језика пратио је следећу шему:

      1. историјски први програмски језици су били машински језици, зато што је једини програмски језик који рачунар може директно извршавати машински језик (машински код или бинарни код). Машински језик састоји се САМО од нула и јединица. Помоћу нула и јединица представљене су и наредбе програма и подаци. Положај сваке нуле и јединице говорио је да ли се ради о наредби или о подацима. У почецима рачунарства програмери су писали у машинском коду, што је било врло компликовано и заморно, а и могућност грешака је била веома велика.

      2. Да би се програмерима олакшао рад, развијени су симболички језици, односно асемблерски језици. Асемблерски језици састоје се од једноставних инструкција које се директно и једнозначно могу превести у машински код који се директно извршава. Свакој наредби асемблерског језика одговара једна наредба машинског језика, али је програмеру било лакше да је памти. Примери наредби у асемблерском језику су: add (сабирање), sub (одузимање), mov (премештање података)… Иако много погодније од машинског програмирања, асемблерско програмирање карактерише велика количина посла коју програмер мора обавити, због чињенице да су операције и даље елементарне. Једна наредба асемблерског језика обављала је само једну елементарну операцију, нпр. премештање податка из меморије у регистар процесора. Други недостатак асемблерских језика је што зависе од самог процесора – за сваки процесор постоји посебан асемблерски језик!

      3. Следећа етапа у развоју су језици вишег нивоа, који нису зависили од процесора. Свака наредба ових језика обухвата више елементарних операција, нпр. наредба за сабирање 2 броја обухвата пребацивање оба податка у регистре процесора, обављање одговарајуће операције и записивање резултата у одговарајућу меморијску локацију. Програм написан у вишем програмском језику назива се изворни код који се у машински код преводи посредством специјалних програма – преводилаца чији је задатак да преведу код вишег програмског језика у машински код. Постоје две врсте програма преводилаца:

        интерпретери – преводе наредбу по наредбу и одмах извршавају преведу наредбу

        компајлери (среће се и назив компилатори) – преводе цео програм у тзв. објектни код, који се касније повезивањем са системским библиотекама и оперативним системом преводи у извршну верзију.

        С обзиром на чињеницу да ови језици прате низ корака дефинисаних алгоритмом, називају се алгоритамски или процедурални језици

      4. Непроцедурални језици имају потпуно другачији приступ решавању проблема, то су углавном објектно оријентисани језици. Па, ипак, и за писање програма код непроцедурално оријентисаних језика, делови програмског кода прате алгоритамске структуре!

Припрема програма за извршавање

Припрема за извршавање већ написаног програма обавља се посебним програмима који се називају програмски алати, који заједно чине програмско развојно окружење. Програмско развојно окружење садржи:

едитор – служи за уношење текста програма у рачунар и његово памћење у датотеци са одговарајућим наставком, за програмски језик C наставак је .c

преводилац – служи за превођење програма на машински језик и креирање објектног кода, има наставак .o

повезивач – објектни код повезује са потребним програмима из једне или више системских датотека и формира се извршни програм, за оперативни систем Windows наставак извршног програма је .exe

програм за откривање грешака

– …

Advertisements

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s