Forráskód (programozás)

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.

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

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 szerkesztés

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 szerkeszté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 szerkeszté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 szerkeszté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 szerkesztés

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 szerkesztés

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 szerkesztés