O Programování


Programování

  • je proces psaní instrukcí pro počítač. Tyto instrukce musí být napsané v programovacím jazyku, který zařízení dokáže přečíst a vykonat (tzv. interpretovat) nebo přeložit (kompilovat) do strojového kódu, který může být vykonán,
  • zahrnuje nejen samotné psaní kódu, ale také návrh instrukcí a postupů, testování, ladění a optimalizaci programu,
  • umožňuje automatizovat úkoly, zjednodušit procesy, analyzovat data, vývoj aplikací, her, webových stránek, desktopových programů a mnoha dalších softwarových řešení.

Programovací jazyk

  • komunikační nástroj mezi programátorem a počítačem
  • prostředek pro zápis algoritmů (přesných postupů)
  • různé verze téhož jazyka nazýváme dialekty (programovacího jazyka)

Programovací paradigma

  • je přístup nebo styl řešení problémů a psaní programů
  • určuje, jakým způsobem programátor strukturuje a organizuje kód
  • ovlivňuje, jak efektivní (rychlý) a čitelný (přehledný) bude výsledný program
  • Jednotlivé programovací jazyky využívají jeden ze stylů (paradigmat), existují ale i jazyky, které podporují více stylů.

Typy programovacích jazyků:

Podle spouštění:

  • kompilované – musí být před spuštěním přeloženy kompilátorem (překladačem) do strojového kódu a až poté je možné je spustit
    např. C++, C#, Java
  • interpretované – pouze se interpretují (čtou) za pomocí speciálního programu (interpreta),
    např. BASIC, Python, HTML, JavaScript

Podle oblasti použití:

  • univerzální
  • doménově specifické

Podle míry abstrakce:

  • vyšší (většina jazyků)
  • nižší

Vyšší jazyky se dělí na

  • Procedurální (imperativní) – popisuje výpočet pomocí posloupnosti příkazů a určuje přesný postup (algoritmus), jak danou úlohu řešit. Využívá konkrétních existujících příkazů (algoritmů)
  1. Strukturované – lepší srozumitelnost, jeden vstup a jeden výstupní bod
  2. Objektově orientované (např. Smalltalk, Java) – kód je propojen s uloženými daty, dož umožňuje snadnější přenos kódu mezi různými projekty a jeho rozvíjení pomocí dědičnosti
  • Neprocedurální (deklarativní) – vzniká popisem toho, co má být výsledkem programu (opak procedurálního, které popisuje jednotlivé kroky místo výsledku)
  1. Funkcionální – výpočet jako vyhodnocení matematických funkcí
  2. Logické – vyuužívá matematickou logiku

Proces programování:

Rozvoj myšlenky (analýza problému)

  • Co potřebuji udělat?
  • Jak mi v tom může pomoct počítač?
  • Tato fáze slouží k určení úkolu, který chceme řešit a promyšlení způsobu, jak to udělat.

Návrh řešení

  • Když už máme jasnou představu, co od programu chceme, navrhneme jeho strukturu, pořadí příkazů (algoritmů) apod. pomocí modelu ve formě diagramů, plánů a tzv. stavového automatu (model chování programu)

Psaní kódu (implementace)

  • Až v této fázi začínáme psát kód!
  • Vytváříme soubor instrukcí v daném programovacím jazyku

Testování

  • Program je potřeba vyzkoušet a prověřit. Nejlépe ho otestuje někdo jiný než autor, který se podvědomě vyhne chybám.
  • Práce testera je velice důležitá!
  • Není potřeba jen chybu najít, ale také ji umět zopakovat, zjistit, co ji vyvolává a navrhnout řešení

Ladění (debugging)

  • Pokud během testování objevíte chyby nebo problémy, musíte je opravit.
  • Nejnáročnější část práce!
  • Zabere nejvíc času

Dokumentace

  • Součástí dokumentace je dobrý popis funkcí přímo v kódu
  • U složitějších programů je dokumentace uvedena na webové stránce, nebo v dokumentu přiloženém k programu jako takzvané Reference
  • Je důležité nejen pro ostatní lidi, kteří by mohli chtít s programem pracovat, ale i pro vás jako autora, pokud se k programu vrátíte za měsíc nebo později!

Distribuce a údržba

  • Program je předán uživatelům, publikován, odevzdán…
  • Tím ale práce nekončí!
  • Program je potřeba udržovat a aktualizovat a poskytovat technickou podporu

Zdroje:

https://www.expressinfo.cz/technika/uspesny-web/zaklady-programovani-co-by-mel-vedet-kazdy-zacatecnik/4027/

, , ,