Izvòrna kóda (angleško source code) je skupina navodil napisana v programskem jeziku, namenjena lažjemu razumevanju in hitrejšemu razvoju. V sodobnih programskih jezikih je izvorna koda po navadi razdeljena v več datotek. Izvorna koda računalniškega programa je skupek datotek, ki jih računalnik prevede v strojno kodo. Izvorna koda se lahko prevede s pomočjo prevajalnika v strojno kodo pred razpošiljanjem ali pa uporabniški računalnik program sam prevede v bitno kodo (bytecode) s pomočjo prevajalnika JIT.

Nekateri višji programski jeziki nimajo več izvorne kode v klasičnem pomenu – to je nabor programskih ukazov napisan v vrsticah z uporabo (običajno specializiranega) urejevalnika besedila. V tem primeru je to skupek grafičnih povezav ali na nek drug način predstavljene funkcionalnosti programa. V tem primeru »izvorno kodo« predstavljajo datoteke nastale pri takem načinu programiranja.

Organizacija izvorne kode uredi

Izvorna koda za določen del programja je lahko v eni datoteki ali v več datotekah. Programska koda ni nujno napisana v istem programskem jeziku. Program je lahko zapisan v enem ali več programskih jezikih. Kadar je program zapisan v C-ju, so nekateri deli napisani napisani v zbirniku, zaradi najboljših rezultatov. Možno je tudi, da so nekatere komponente dela programja napisane in prevedene ločeno v poljubnem programskem jeziku, kasneje pa vgrajene s pomočjo postopka, imenovanega knjižnično povezovanje (library linking) ali pa so deli programa napisani v več programskih jezikih, ki se prevedejo v enotno bitno kodo (JIT).

Nekateri programi so lahko skupek programskih jezikov in tehnologij s popolnoma različno vrsto izvorne kode in so popolnoma neodvisni. Tak primer so spletne aplikacije: ukazi, ki se izvajajo na strežniku so običajno napisani v nekem programskem jeziku (PHP, VB, Perl) zato izvorna koda vsebuje navodila za izvajanje ali prevajanje tega programskega jezika vendar so običajno poleg tega uporabljeni jeziki in tehnologije za dostop do baze podatkov (SQL in podobno) medtem ko se pri klientu uporabijo druge vrste jezikov v različnih načinih izvajanja (HTML, Javascript, Flash, Silverlight in podobno). Izvorna koda malo kompleksnejše spletne aplikacije tako predstavlja skupek programske kode v različnih programskih jezikih. Za celovito delovanje programa običajno potrebujemo poleg izvorne kode še morebitne podporne datoteke (slike, stile, ipd) in/ali bazo podatkov. Tako je izvorna koda konglomerat vseh uporabljenih programskih jezikov običajno povezanih z datotekami, ki opisujejo način izvajanja ali prevajanja posameznih delov izvorne kode. Te datoteke se uporabijo v programskem okolju, ki omogoča urejanje vse (ali pa vsaj večine) izvorne kode v enotnem okolju imenovanem IDE (integrated development environments). Ta okolja običajno omogočajo razhroščevanje programov (naprednejša v več tehnologijah) pa tudi shranjevanje in urejanje podpornih datotek in dostop do baze podatkov.

Zmerno obsežno programje zahteva prevajanje ali zbiranje več, včasih ducat ali celo sto različnih datotek izvorne kode. To obsežnost zmanjšajo z vključitvijo datoteke z navodili, ki opiše zveze med datotekami izvorne kode in vsebuje podatke o tem kako se morajo prevesti. Te datoteke so običajno podporne datoteke za uporabljeno enotno programsko okolje.