Sta je uopste programiranje

  • Sta je uopste programiranje

    Programiranje je jedan prirodan i intuitivan koncept. Jedan program na kompjuteru nije nista drugo od redosleda komandi, koje su napisane u poseban jezik. Programi su svuda oko nas – cak i oni, koji ne koriste kompjutere, koriste ih svaki dan. Instrukcije, recepti za kuvanje i fudbal su sve vrste programa.

    Jedan tipican primer za instrukcije moze izgledati ovako

    Krecete sa te i te tacke i idete prema jugu. Pratite autoput, dok ne vidite na desnoj strani jednu prodavnicu. Ako je put ka prodavnici zbog radova na putu zatvoren idite desno i udjite u tu i tu ulicu. Nastavite do prve raskrsnice i skrenite levo. Tako mozete zaobici radove na putu.

    Svako ko prica jugoslovenski moze po ovim instrukcijama da stigne do te prodavnice. To moze samo zato jer je napisano na jugoslovenskom jeziku. Priznajemo da nije bas elokvantna instrukcija ali svaki deo instrukcije je jasan i laka za razumljivanje. Naravno samo za nekog ko razume ovaj jezik.

    Kompjuter naravno ne razume jugoslovenski jezik, ali razume masinski kod. Da bi ubedili kompjuter nesto da uradi, mora biti instrukcija na njegov jezik. Mada je masinski kod kriptican i moze samo tesko da se radi sa njim. Masinski kod postoji od golih bitova i bajtova. On se razlikuje od arhitekture do arhitekture. Da bi napisali program u masinskom kodu za AMD procesor, morali bi da saznate koja je vrednost svakoj komandi dodeljena. Morate i znati sta svaka instrukcija radi. Na taj nacin je programiranje mnogo mucno, glomazno i sigurno nije intuitivno.

    Da bi tezinu pisanja masinskog koda zaobisli potrebno je imati prevodilaca. Assembler je jedna vrsta prevodilaca za masinski kod. Jednostavnije receno – jedan program koji pretvara assembler jezik u masinski kod. Assembler je manje kriptican od masinskog koda, jer umesto brojeva moze se koristiti imena za razne instrukcije kao i varijable. Mada je i assembler daleko od intuitivnosti. Imena instrukcije su jako kripticna. Ovaj jezik je isto, kao i masinski kod, vezan za arhitekturu. Program koji je napisan u assembler za neku arhitekturu ne radi na drugim procesorima. Za eficijentne programe Vama je takodje potrebno da znate mnogo detalja te i te arhitekture za koju pisete program u assembler.

    Ovi problemi mogu da se rese sa jos jednom vrstom prevodilaca, takozvanog kompajlera(Compiler). Kompajler pretvara visoke programerske jezike u masinski kod. Visoki programerski jezici su intuitivniji od assemblera i mogu biti u razni masinski kod za sve arhitekture prevodjeni. To znaci, u prevodu, da svaki program mora samo jednom biti napisan da bi radio na sve arhitekture, jer isti programerski kod moze biti pretvoren za razne arhitekture.

    Programerski jezici C i C++ su, kao primer, visoki programerski jezici. Program napisan u visokim programerskim jezicima je mnogo lakse citati nego assembler ili masinski kod. Podseca vise na engleski jezik, samo sto prati strogo definisana pravila kako trebaju biti instrukcije napisane. To mora biti tako jer kompajler ne bi bio u stanju da razume napisan programerski kod.

    , , , , , , , , , , ,

0 komentara

Komentari