thumb|right|300px|Java-ban írt Helló világ! forráskód (szintaxis kiemeléssel)

Az informatikában forráskódon (angolul: source code) egy olyan szöveg értendő, ami egy leíró nyelv jelöléseinek vagy egy programozási nyelv definícióinak és/vagy utasításainak sorozatát tartalmazza. Az elnevezés arra utal, hogy az ilyen szövegek létrehozásának a célja az, hogy forrásai legyenek egy fordítóprogramnak vagy interpreternek, és végül megjelenjen valamilyen dokumentum, vagy létrejöjjön egy szoftver.

Leíró nyelv például a HTML, CSS, TeX és SVG, programozási nyelvek például a JavaScript, C, C++, Pascal, Assembly, BASIC, Python, Haskell.

Programok forráskódja Az ember által elkészített program − nyelvtől és környezettől függően − kétféleképpen válhat futó programmá: fordítás után vagy interpretálással.

Fordításnak nevezzük azt, amikor az ember által olvasható utasításokból másik program lesz. Ennek a folyamatnak egyik fontos lépését a fordítóprogram (compiler) végzi, aminek a bemenete (forrása) a fent említett utasítássorozat, kimenete lehet processzor illetve operációs rendszer által közvetlenül futtatható gépi kód (avagy natív bináris) vagy valamilyen köztes programozási vagy bináris nyelv (bájtkód). A köztes programozási nyelvet jellemzően tovább fordítják binárissá, hogy a program futtatható legyen, a bájtkódot pedig interpretálással futtatják.

Interpretált nyelveknél az interpreter (program) futtatókörnyezetként (esetleg virtuális gépként) viselkedik a forráskód számára, azaz saját maga hajtja végre a forrásállományból kiolvasott parancsoknak megfelelő műveleteket.

Tárolás A forráskódokat rendszerint fájlokban tárolják, melyeket könyvtárhierarchiába szerveznek. Az adatbázisokhoz tartozó tárolt eljárások az adatbázist tartalmazó adatbázis szerverben vannak eltárolva, ahonnan interpretálással közvetlenül futtathatóak. Ezeket rendszerint külön fájlban is el szokták tárolni. Verziókezelő rendszerekben, ahonnan fordítás előtt kikérik majd helyben fordítják. Ezen túlmenően a forráskód bárhol és bármilyen formában tárolható, ha végül a futtatókörnyezet vagy a fordítóprogram rendelkezésére bocsátható.

Csapatmunka, verziókövetés Csapatmunka során több ember dolgozik ugyanazon a projekten vagy programon. Mindenki ismeri a forráskódot, de több résztvevője van a programozásnak. A forráskódot legtöbbször egy verziókezelő rendszerben tárolják, amelyhez a résztvevők hozzáférnek, szerepük szerint különféle jogokkal.

Létrehozás A forráskódot általában emberek hozzák létre, egyszerűen begépelve az adott szöveget egy szövegfájlba. A programozók erre általában speciális szövegszerkesztőt használnak, amelyik például segíti navigálni a kódban.

Más esetekben egy kódgenerátor generálja valamilyen más információból, például UML-ben megadott szerkezet, vagy például valamilyen párbeszédpanel-szerkesztőben megadott elemek alapján, vagy éppen egy fordítóprogram hozza létre egy másik forráskódból. Néhány esetben lehetőség van arra is, hogy a lefordított tárgykódból valamilyen eljárással többé-kevésbé visszakapjuk a kiindulási forráskódot: ez a reverse engineering.

Minősége Egy program forráskódjának minősége komoly befolyással van a karbantarthatóságára. Éppen ezért sok és sokféle programozói stíluskalauz (style guide) létezik, ami mind arra hivatott, hogy fenntartsa a forráskód jó minőségét.

Egy szoftver forrása Egy szoftvert több lépésen keresztül építenek fel különféle automatikus eszközök (fordító, linker stb.), egy halmaz kiindulási (forrás) fájlból. Ennek a legfontosabb elemei azok a fájlok, amik a forráskódot tartalmazzák. Más elemek például a szükséges ikonok, párbeszédpanelek leírását tartalmazzák vagy éppen a szoftver felépítésének a menetét a forrásból (makefile).

Összefoglalóan ezeket a fájlokat szokás egy szoftver forrásának nevezni. Mivel ezek nem állíthatók elő más fájlokból automatikusan, belőlük viszont elkészíthető a szoftver, ezért nagy értéket képviselnek. Ezért minden szoftvercég egyik legféltettebb kincse a szoftvereinek a forrása.

Kapcsolódó szócikkek nyílt forráskód zárt forráskód

Irodalom

Kategória:Programozási alapfogalmak