Napjainkban, a digitális korszakban a Forráskód (programozás) nagyon fontos témává vált a mai társadalomban. A gazdaságra gyakorolt hatásától az emberek mindennapi életére gyakorolt hatásáig a Forráskód (programozás) különböző területeken vita és elemzés tárgya volt. A technológia és a globalizáció fejlődésével a Forráskód (programozás) kulcsfontosságú tényezővé vált az emberi kapcsolatokban, az iparágakban és a politikában. Ebben a cikkben megvizsgáljuk a Forráskód (programozás) különböző aspektusait és a modern életre gyakorolt hatását, valamint a jövőre vonatkozó lehetséges következményeket.
Ez a szócikk nem tünteti fel a független forrásokat, amelyeket felhasználtak a készítése során. Emiatt nem tudjuk közvetlenül ellenőrizni, hogy a szócikkben szereplő állítások helytállóak-e. Segíts megbízható forrásokat találni az állításokhoz! Lásd még: A Wikipédia nem az első közlés helye. |
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.
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.
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.
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.
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 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.