Manuál PB071

Podrobná dokumentácia všetkých postupov a nástrojov používaných v predmete.

Akékoľvek návrhy, chyby a iné pripomienky prijímame emailom alebo v diskusnom fóre predmetu.

Spätnú väzbu oceníme a pomôže to tiež ostatným študentom! 🙂

Začíname

Návody v tomto manuáli slúžia na to, aby sme vedeli používať a nastaviť si všetky nástroje, ktoré počas predmetu budeme používať, či už doma, alebo na fakultných počítačoch.

Kapitoly manuálu sú rozdelené podľa operačných systémov, každému OS sa totiž viaže rozdielna sada nástrojov/postupov. Pri výbere určitej cesty je vhodné dohodnúť sa s cvičiacim. Nemusí nám totiž vedieť neskôr poradiť.

V úvode kapitoly sú uvedené možnosti, ako na danom OS pracovať:

Vývoj na Linuxe

Vývoj na Windows

Vývoj na macOS

Odovzdávanie a kontrola domácich úloh prebieha na študentskom serveri Aisa, s ktorým sa na začiatku zoznámime. Na fakultných počítačoch/Aise nemusia byť vždy dostupné všetky programy, ktoré potrebujeme, programy ale môžeme pridať cez modulový systém.

Na prvej prednáške tiež budú predstavené programy na spravovanie kódu, verzovacie systémy — konkrétne git, pomocou ktorého budeme ukladať svoj kód.

Rozdiely oproti jazyku Python

Po prvých cvičeniach tiež pravdepodobne budeme dosť uvažovať nad syntaxou C a odporúčame čerstvo po absolvovaní Úvodu do programovania pozrieť rozdiely oproti jazyku Python.

Kde hľadať dokumentáciu jazyka

  • Ak vyvíjame na Linuxe alebo macOS, najlepšie sú vstavané manuálové stránky — zobrazíme ich príkazom man.

    niektoré funkcie v C sa prekrývajú s názvami príkazov a vtedy je potrebné povedať, že chceme otvoriť kapitolu 3: man printf zobrazí bash príkaz, zatiaľ čo man 3 printf nám ukáže knižničnú funkciu, ktorú hľadáme.
  • en.cppreference.com/w/c

    Veľmi presná dokumentácia C/C++. Vyhľadávanie nefunguje na približné slová — je treba hľadať cez externý vyhľadávač.

  • devdocs.io/c

    Webová aplikácia zjednocujúca veľké množstvo dokumentácií. Pre C využíva údaje z cppreference.

  • stackoverflow.com Pozor, často obsahuje chybné informácie, aj keď sú schválené komunitou. Odpovede ale niekedy odkazujú na správne miesto v dokumentácii, kde môžeme s hľadaním pokračovať.

  • tutorialspoint.com, zjednodušená forma dokumentácie pre rýchle pochopenie. Pre začiatky stačí, po čase je lepšie prejsť na plnohodnotnú dokumentáciu ako cppreference.

  • cplusplus.com, časti webu sú neaktuálne a môžu obsahovať zavádzajúce informácie

Aisa a kontr, pripojenie pomocou ssh

Aisa je náš študentský fakultný server. Funguje na ňom program kontr, ktorý hodnotí domáce úlohy.

Pro práci s Aisou se vám budou hodit tipy pro práci s bashem a Linuxem.

Nástroje

V rámci předmětu budete pracovat s mnoha nástroji na kompilaci a správu kódu, jejich přehled a návod na práci s nimi najdete zde.

git (verzovací systém)

Nástroj na zprávu kódu, bez kterého se v rámci tohoto předmětu neobejdet. Proto se bude hodit manuál pro práci s gitem.

Nastavení vlastního vývojového prostředí

Na cvičeních můžete pracovat na školních počítačích nebo vlastních noteboocích. Kromě výše zmíněných nástrojů budete potřebovat i program, ve kterém budete psát samotný kód. Jaký editor nebo IDE použijete, je čistě na vás, níže jsme vám sepsali pár návodů a triků pro jednotlivé operační systémy.

Vývoj na Windows

Na Windows máme viac možných ciest, používať budeme vývojové prostredia (viac o IDE).

Vývoj na macOS

IDE a editory

Integrated Development Environment (IDE) je softvér s grafickým rozhraním združujúci viaceré nástroje pre programátora. Bežné IDE obsahuje editor zdrojového kódu, kompilátor, integruje build a verzovacie systémy, debugger. Zvláda tiež inteligentne doplňovať kód, teda našepkáva programátorovi syntax, zvýrazňuje chyby a prípadne navrhuje opravy. Jednou z výhod sú aj jednoduché nástroje na refaktoring (zmena názvu premennej, predpisu funkcie, atp.).

Užívateľská prívetivosť je ale dvojsečná zbraň — to, že IDE pred nami skrýva viacero jednoduchých vecí, nám bráni porozumieť celému procesu, ktorý sa často, a úplne zbytočne, stane magickým. Z edukačného hľadiska odporúčame používať IDE, keď dokážeme pracovať iba v termináli.

CLion

IDE pro Windows, Linux i MacOS.

Visual Studio Code

Editor, který lze pomocí rozšíření dostat na úroveň plnohodnotného IDE, vhodný pro Windows, Linux i MacOS.

Vim

Terminálový editor pro Linux a MacOS. Dá se použít i na Windows v rámci WSL.

Xcode

IDE pouze pro MacOS.

Qt Creator

IDE pro Windows, Linux i MacOS.


Za konzultácie a korektúry patrí vďaka Romanovi Lackovi, Lukášovi Zaoralovi a Lukášovi Ručkovi. Osobitná vďaka patrí tiež Matúšovi Talčíkovi, od ktorého som prebral časti starších návodov. A rovnako ďakujem študentom, ktorí nám pošlú spätnú väzbu!

 — Marko Řeháček