Zdrojový kód: Porovnání verzí

Z WikiKnihovna
 
(Není zobrazeno 39 mezilehlých verzí od stejného uživatele.)
Řádek 1: Řádek 1:
 
'''Autor:''' Renáta Šajnarová
 
'''Autor:''' Renáta Šajnarová
  
'''Klíčová slova:''' zdrojový kód, otevřený zdrojový kód, jazyky nižší úrovně, jazyky vyšší úrovně
+
'''Klíčová slova:''' zdrojový kód, otevřený zdrojový kód <br>
 
+
'''Nadřazená slova:''' zdrojový kód, strojový kód, otevřený zdrojový kód <br>
 +
'''Podřazená slova:''' jazyky nižší úrovně, jazyky vyšší úrovně, překladač, kompilátor <br>
  
  
 
= Charakteristika =
 
= 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. <ref>The Linux Information Project: ''Source Code Definition''. [online]. [cit. 2013-05-11]. Dostupné z: http://www.linfo.org/source_code.html</ref> 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. <ref> Howto.py.: ''Učíme se programovat v jazyce Python'' [online]. [cit. 2013-05-11]. Dostupné z: http://howto.py.cz/cap01.htm </ref>
+
Zdrojový kód (z angl. source code) je zápis textu určitého programu v programovacím jazyce, který může mít vyšší úroveň (Ada, Basic, C, C#, Pascal, 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ů. Výjimku tvoří interpretované jazyky (PHP, Java). V nich se vytváří (předkompiluje) něco jako mezikód (bytekod), který směřuje do virtuálního stroje, a právě ten to teprve převede na strojový kód. <ref name="Velkýpočítačovýlexikon"> WINKLER, Peter. ''Velký počítačový lexikon: Co je co ve světě počítačů''. První vydání. Brno: Computer Press, a.s., 2009. ISBN 978-80-251-2331-7. </ref> Zdrojový kód se dá snadno zobrazit ve webových prohlížečích Mozilla Firefox nebo Internet Explorer. V obou případech stačí kliknout pravým tlačítkem myši na jakoukoliv webovou stránku a poté kliknout na "Zobrazit zdrojový kód".
 
 
 
 
  
= Některé z forem zdrojového kódu v oblasti počítačů =
+
'''Ukázka z části zdrojového kódu v programovacím jazyce C++ '''
  
 +
  6: int main(void)
 +
  7: {
 +
  8:    std::cout << "Hello World\n";
 +
  9:    return 0;
 +
10: } <ref> BÍLEK, Petr. Sally. [online]. [cit. 2013-06-12]. Dostupné z: http://www.sallyx.org/sally/c/c03.php </ref>
  
Strojový kód<br>
+
= Pojmy spjaté se zdrojovým kódem =
  
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čů).
+
'''Assemblery''' - jazyky nižší úrovně, které jsou silně spjaty se strojovým jazykem. Místo fyzických adres se používají symbolické adresy. Strojové povely se zadávají skrz mnemoniksy (zkratky z písem). <br>
  
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ě.
+
'''Jazyky nižší úrovně''' - tyto jazyky se od sebe liší svou syntaxí a klíčovými slovy. <br> <ref> ŠALOUN, Petr. ''Programovací jazyk C++ pro zelenáče''. Praha: Neocortex, 2005. ISBN 80-86330-18-4. </ref>
  
 +
'''Překladač''' - překládá zdrojový kód programovacího jazyka do strojového kódu. V širším pojetí se zde překládá počítačový jazyk do dvojkové soustavy. Každý programovací jazyk má svůj překladač. <br>
  
 +
'''Kompilátor''' - načítá text ze zdrojového souboru a překládá jej do formy lehce spustitelného programu. <br>
 +
Kompilace má tři fáze : <br>
 +
1, slovníkovou analýzu, která se zaměřuje na klíčová slova ve zdrojovém kódu, zda tato slova patří do programovacích jazyků a kontroluje platnost výrazů (zda není někde překlep...) <br>
 +
2, sémantickou analýzu, kde se kontroluje platnost instrukcí a zda poskládaná slova vůbec dávají sama o sobě smysl (tak jako v klasickém jazyku jako je čestina, kde má velký význam slovosled) <br>
 +
3, generaci kódu, kde se hodnotí datové struktury z analýz do strojových instrukcí <br> <ref name= "Velkýpočítačovýlexikon"></ref>
  
 
= Otevřený zdrojový kód =
 
= 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 <ref>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</ref>, operační systém Android, 3D grafický editor Blender, protokol Miranda, grafický editor Inkscape a Gimp, atd. <ref>Mashable: ''OPEN SOURCE GOD: 480+ Open Source Applications''. [online]. [cit. 2013-05-11]. Dostupné z: http://mashable.com/2007/09/23/open-source/</ref> 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. <ref>Linux [online]. [cit. 2013-05-11]. Dostupné z: http://www.linux.cz/</ref>
+
Historie otevřeného zdrojového kódu začíná v 80. letech, kdy byl nadací Free Software Foundation (FSF) vytvořen projekt GNU, který měl sloužit jako alternativa k vývoji softwaru. Pojem GNU je akronym a znamená "GNU není Unix". GNU mělo poskytovat uživatelům svobodný software, který by je neomezoval v jeho používání. Každý uživatel tohoto softwaru může získat jeho zdrojový kód a pokud bude dodržovat jeho licenci, tak s ním může zacházet dle vlastního uvážení. Proti nadaci FSF vznikla iniciativa Open Source Initiative (OSI). Této iniciativě jde o to, aby byl zdrojový kód dostupný, aby byly přes tvořeny lepší aplikace, a hlavně aby bylo možné nalézt chyby v programech.<ref> KOLEKTIV AUTORŮ. ''Ubuntu: Praktická příručka uživatele Linux''. První vydání. Brno: Computer Press, a.s., 2008. ISBN 978-80-251-1900-6. </ref>
 +
Pro opravu chyb ve zdrojových kódech se používají  patche (záplaty), které se zasílají původním tvůrcům. Záplaty vznikají tím, že se vygeneruje soubor patche programem diff. Ten umožňuje používat různé formáty. <br> <ref> JELÍNEK, Lukáš. ''Jádro systému Linux: Kompletní průvodce programátora''. První vydání. Brno: Computer Press, a.s., 2008. ISBN 978-80-251-2084-2. </ref>  
 +
Otevřený zdrojový kód má mnoho aplikací a programů. Jsou to např. operační systémy Linux či Solaris, OpenOffice.org, Blender, webový prohlížeč Mozilla Firefox aj. Tyto aplikace jsou nejčastěji zdarma a slouží jako plnohodnotná náhrada za ty placené. Linux může nahradit operační systém Windows či iOS, OpenOffice.org zase Microsoft Office, Blender může nahradit software pro pro tvorbu 3D grafiky Cinema 4D. <ref> ''Help.Ubuntu: Official Ubuntu Documentation'' [online]. [cit. 2013-06-13]. Dostupné z: https://help.ubuntu.com/community/ListOfOpenSourcePrograms </ref>
  
= Citace =
+
= Použité zdroje =
  
 
<references />
 
<references />

Aktuální verze z 26. 6. 2013, 11:20

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, který může mít vyšší úroveň (Ada, Basic, C, C#, Pascal, 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ů. Výjimku tvoří interpretované jazyky (PHP, Java). V nich se vytváří (předkompiluje) něco jako mezikód (bytekod), který směřuje do virtuálního stroje, a právě ten to teprve převede na strojový kód. [1] Zdrojový kód se dá snadno zobrazit ve webových prohlížečích Mozilla Firefox nebo Internet Explorer. V obou případech stačí kliknout pravým tlačítkem myši na jakoukoliv webovou stránku a poté kliknout na "Zobrazit zdrojový kód".

Ukázka z části zdrojového kódu v programovacím jazyce C++

 6: int main(void)
 7: {
 8:     std::cout << "Hello World\n";
 9:     return 0;
10: } [2]

Pojmy spjaté se zdrojovým kódem

Assemblery - jazyky nižší úrovně, které jsou silně spjaty se strojovým jazykem. Místo fyzických adres se používají symbolické adresy. Strojové povely se zadávají skrz mnemoniksy (zkratky z písem).

Jazyky nižší úrovně - tyto jazyky se od sebe liší svou syntaxí a klíčovými slovy.
[3]

Překladač - překládá zdrojový kód programovacího jazyka do strojového kódu. V širším pojetí se zde překládá počítačový jazyk do dvojkové soustavy. Každý programovací jazyk má svůj překladač.

Kompilátor - načítá text ze zdrojového souboru a překládá jej do formy lehce spustitelného programu.
Kompilace má tři fáze :
1, slovníkovou analýzu, která se zaměřuje na klíčová slova ve zdrojovém kódu, zda tato slova patří do programovacích jazyků a kontroluje platnost výrazů (zda není někde překlep...)
2, sémantickou analýzu, kde se kontroluje platnost instrukcí a zda poskládaná slova vůbec dávají sama o sobě smysl (tak jako v klasickém jazyku jako je čestina, kde má velký význam slovosled)
3, generaci kódu, kde se hodnotí datové struktury z analýz do strojových instrukcí
[1]

Otevřený zdrojový kód

Historie otevřeného zdrojového kódu začíná v 80. letech, kdy byl nadací Free Software Foundation (FSF) vytvořen projekt GNU, který měl sloužit jako alternativa k vývoji softwaru. Pojem GNU je akronym a znamená "GNU není Unix". GNU mělo poskytovat uživatelům svobodný software, který by je neomezoval v jeho používání. Každý uživatel tohoto softwaru může získat jeho zdrojový kód a pokud bude dodržovat jeho licenci, tak s ním může zacházet dle vlastního uvážení. Proti nadaci FSF vznikla iniciativa Open Source Initiative (OSI). Této iniciativě jde o to, aby byl zdrojový kód dostupný, aby byly přes tvořeny lepší aplikace, a hlavně aby bylo možné nalézt chyby v programech.[4] Pro opravu chyb ve zdrojových kódech se používají patche (záplaty), které se zasílají původním tvůrcům. Záplaty vznikají tím, že se vygeneruje soubor patche programem diff. Ten umožňuje používat různé formáty.
[5] Otevřený zdrojový kód má mnoho aplikací a programů. Jsou to např. operační systémy Linux či Solaris, OpenOffice.org, Blender, webový prohlížeč Mozilla Firefox aj. Tyto aplikace jsou nejčastěji zdarma a slouží jako plnohodnotná náhrada za ty placené. Linux může nahradit operační systém Windows či iOS, OpenOffice.org zase Microsoft Office, Blender může nahradit software pro pro tvorbu 3D grafiky Cinema 4D. [6]

Použité zdroje

  1. 1,0 1,1 WINKLER, Peter. Velký počítačový lexikon: Co je co ve světě počítačů. První vydání. Brno: Computer Press, a.s., 2009. ISBN 978-80-251-2331-7.
  2. BÍLEK, Petr. Sally. [online]. [cit. 2013-06-12]. Dostupné z: http://www.sallyx.org/sally/c/c03.php
  3. ŠALOUN, Petr. Programovací jazyk C++ pro zelenáče. Praha: Neocortex, 2005. ISBN 80-86330-18-4.
  4. KOLEKTIV AUTORŮ. Ubuntu: Praktická příručka uživatele Linux. První vydání. Brno: Computer Press, a.s., 2008. ISBN 978-80-251-1900-6.
  5. JELÍNEK, Lukáš. Jádro systému Linux: Kompletní průvodce programátora. První vydání. Brno: Computer Press, a.s., 2008. ISBN 978-80-251-2084-2.
  6. Help.Ubuntu: Official Ubuntu Documentation [online]. [cit. 2013-06-13]. Dostupné z: https://help.ubuntu.com/community/ListOfOpenSourcePrograms