Zdrojový kód
Autor: Renáta Šajnarová
Klíčová slova: zdrojový kód, otevřený zdrojový kód Nadřazená slova: zdrojový kód, strojový kód, otevřený zdrojový kód Podřazená slova: jazyky nižší úrovně, jazyky vyšší úrovně, překladač, kompilátor
Charakteristika
Zdrojový kód (z angl. source code) je zápis textu určitého programu v programovacím jazyce. Dle použitého jazyka, který může mít vyšší úroveň (Ada, Basic, C, C#, Pascal, Java atd.), nebo nižší úroveň (assemblery). Zdrojový kód se vždy překládá kompilátorem, assemblerem či překladačem do strojového kódu. Tento program se nachází v binární soustavě a může být přečten procesorem. Různé typy procesorů používají různé typy strojových kódů. [1]
Pojmy spjaté se zdrojovým kódem
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 [2]
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
- ↑ Howto.py: Učíme se programovat v jazyce Python [online]. [cit. 2013-05-11]. Dostupné z: http://howto.py.cz/cap01.htm
- ↑ Fi.muni: 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
- ↑ Sallyx: Jak vzniká program. [online]. [cit. 2013-05-11]. Dostupné z: http://www.sallyx.org/sally/c/c03.php
- ↑ 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/