Zdrojový kód
Autor: Renáta Šajnarová
Klíčová slova: zdrojový kód, otevřený zdrojový kód, jazyky nižší úrovně, jazyky vyšší úrovně
Charakteristika
V informatice je zdrojový kód verze softwaru původně napsána člověkem v holém textu. Softwarem se rozumí všechny operační systémy, data a počítačové programy, které se používají u produktů obsahující mikroprocesory. [1] Zdrojový kód může být napsán v jakémkoliv programovacím jazyce vyšší úrovně (Python, C, C, Perl a Java). Jazyky nižší úrovně jsou strojové jazyky (Essembler). Počítače realizují ty programy, které jsou psány ve strojových jazycích, proto musejí být jazyky vyšší úrovně upraveny před svým spuštěním. Výhodou těchto jazyků je, že jsou přenosné, a z toho důvodu jsou skoro všechny jazyky právě psané ve vyšších úrovních. K převodu jazyků z vyšší do nižší úrovně slouží překladač a kompilátor. Překladač čte jazyk vyšší úrovně a dělá, co mu program říká. Kompilátor přeloží program najednou před jeho spuštěním. Program napsaný v jazyce vyšší úrovně je zdrojový kód a jeho přeložená verze je strojový kód. [2]
Některé z forem zdrojového kódu v oblasti počítačů
Strojový kód
Každý počítač dokáže zpracovávat jen určitý soubor instrukcí jemu vlastní. (V novější době sdílí často několik příbuzných typů počítačů tentýž strojový kód; mluvíme pak o rodině počítačů).
Program ve strojovém kódu se skládá z jednoduchých příkazů - instrukcí. Instrukce má většinou dvě základní části - kód operace, který udává, co se má udělat, a adresy (někdy i více adres), který říká, s jakými daty se má operace provést. Instrukce jsou zapsány čísly (navíc zapsanými ve dvojkové či šestnáctkové soustavě), strojový kód je proto pro člověka velmi nesrozumitelný. Z toho důvodu se v něm programuje jen zcela výjimečně.
Zdrojové kódy v nižších programovacích jazycích
U těchto jazyků jsou adresy nahrazeny názvy, každému názvu odpovídá určitá konkrétní adresa, kterou obvykle přiřazuje překladač a ne programátor. Téměř vždy se pro zvýšení srozumitelnosti v symbolickém tvaru zapisují i kódy operací, například instrukce uložení do paměti (store) se zapíše zkratkou ST.
Assemblery jsou daleko nejrozšířenější (v současné době prakticky jediné používané) jazyky nižší úrovně.
Příklad - fragment programu v assembleru pro PC
ExcessOfMemory label near
mov bx, di add bx, dx mov word ptr _heapbase@ + 2, bx mov word ptr _brklvl@ + 2, bx mov ax, _psp@ sub bx, ax ; BX = Number of paragraphs to keep mov es, ax ; ES = Program Segment Prefix address mov ah, 04Ah push di ; preserve DI int 021h ; this call clobbers SI,DI,BP !!!!!! pop di ; restore DI
Zdrojový kód jazyka vyssi urovne - jazyk C
1: /*------------------------------------------------*/ 2: /* hello.c */
4: #include <stdio.h>
6: int main(void)
7: {
8: printf("Hello World\n");
9: return 0;
10: }
11: /*------------------------------------------------*/ [3]
Otevřený zdrojový kód
Otevřený zdrojový kód znamená, že zdrojový kód softwaru je přístupný pro všechny, je legální, a je napsán tak, aby ho mohli používat a měnit ostatní uživatelé. Software s touto vlastností hraje významnou roli ve vyvíjení nových aplikací, ale i webových prohlížečů. Nejznámější prohlížeč s otevřeným zdrojovým kódem je Mozilla Firefox, který s ním přišel jako první, a tím vydláždil cestu pro inovace nových prohlížečů. Některé jeho prvky byly použity při vývoji Google Chrome, který má rovněž otevřený zdrojový kód. Mezi další známé aplikace s otevřeným zdrojovým kódem patří i server Apache HTTP [4], operační systém Android, 3D grafický editor Blender, protokol Miranda, grafický editor Inkscape a Gimp, atd. [5] Operační systém Linux má taktéž otevřený zdrojový kód. Mezi jeho výhody patří, že je moderní, není do něj potřeba instalovat antivirové programy, je zdarma a v češtině. Svůj základ má v dalším operačním systému - UNIX. [6]
Citace
- ↑ The Linux Information Project: Source Code Definition. [online]. [cit. 2013-05-11]. Dostupné z: http://www.linfo.org/source_code.html
- ↑ Howto.py.: Učíme se programovat v jazyce Python [online]. [cit. 2013-05-11]. Dostupné z: http://howto.py.cz/cap01.htm
- ↑ Fi.muni.cz: Od strojového kódu k programovacím jazykům. [online]. [cit. 2013-05-11]. Dostupné z: http://www.fi.muni.cz/usr/jkucera/pv109/sl5.htm
- ↑ 20thingsilearned: Otevřený zdrojový kód a prohlížeče. [online]. [cit. 2013-05-11]. Dostupné z: http://www.20thingsilearned.com/cs-CZ/open-source
- ↑ Mashable: OPEN SOURCE GOD: 480+ Open Source Applications. [online]. [cit. 2013-05-11]. Dostupné z: http://mashable.com/2007/09/23/open-source/
- ↑ Linux [online]. [cit. 2013-05-11]. Dostupné z: http://www.linux.cz/