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

Z WikiKnihovna
 
(Není zobrazeno 26 mezilehlých verzí od stejného uživatele.)
Řádek 4: Řádek 4:
 
'''Nadřazená slova:''' zdrojový kód, strojový 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>
 
'''Podřazená slova:''' jazyky nižší úrovně, jazyky vyšší úrovně, překladač, kompilátor <br>
 
 
  
  
 
= Charakteristika =
 
= 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ů. <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".
 
 
 
 
 
 
= Pojmy spjaté se zdrojovým kódem =
 
 
 
 
 
'''Strojový kód'''<br>
 
 
 
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'''<br>
+
'''Ukázka z části zdrojového kódu v programovacím jazyce C++ '''
 
 
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ě.<br>
 
'''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 <ref>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</ref>
 
   
 
'''Zdrojový kód jazyka vyssi urovne - jazyk C'''<br>
 
 
 
  1: /*------------------------------------------------*/
 
  2: /* hello.c                                        */
 
 
 
  4: #include <stdio.h>
 
  
 
   6: int main(void)
 
   6: int main(void)
 
   7: {
 
   7: {
   8:    printf("Hello World\n");
+
   8:    std::cout << "Hello World\n";
 
   9:    return 0;
 
   9:    return 0;
  10: }
+
  10: } <ref> BÍLEK, Petr. Sally. [online]. [cit. 2013-06-12]. Dostupné z: http://www.sallyx.org/sally/c/c03.php </ref>
11: /*------------------------------------------------*/<ref>Sallyx: Jak vzniká program. [online]. [cit. 2013-05-11]. Dostupné z: http://www.sallyx.org/sally/c/c03.php</ref>
 
  
 +
= 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). <br>
  
 +
'''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>
  
= Otevřený zdrojový kód =
+
'''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>
  
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 v dalším operačním systému - UNIX. <ref>Linux [online]. [cit. 2013-05-11]. Dostupné z: http://www.linux.cz/</ref>
+
'''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 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 =
  
 +
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