1 Programování a p. jazyky Postup při tvorbě programu (systému) –strategie –analýza ( konceptuální modely) Datová Procesní –návrh (i/o, výjimky, algoritmus) –implementace (volba jazyka, realizace modelu) –testování –tvorba dokumentace –údržba a provoz
2 Programování a p. jazyky Programovací jazyky - vývoj –strojový kód –strojově orientovanéassemblery –problémově orientovanéAlgol, Cobol, Fortran –objektově orientovanéSmalltalk, Java, C++, Visual Basic –dotazovací jazyky (databáze)SQL
3 Programování a p. jazyky Technologie programování –imperativní např. strukturovaná (hodně se rozšířila v souvislosti s Pascalem) program sestaven ze základních programových struktur - sekvence (zřetězení), větvení, cyklus (iterace) zároveň návrh struktury vstupních dat, výstupních dat a struktury, v níž bude informace udržována během zpracování procedurální programování problém rozložen na podproblémy
4 Programování a p. jazyky Technologie programování –neimperativní funkcionální - řešením je množina funkcí (LISP) logické - řešením je množina logických faktů a pravidel (Prolog, využití v oblasti umělé inteligence) dotazovací jazyky objektově orientované programování (OOP)
5 Programování a p. jazyky Překladače programů zdrojový program (kód, text, source program), zapsán v prog. jazyce, přeloží se překladačem do strojového kódu vzniká relativní modul další fáze je spojování (program Linker) s moduly z programových knihoven vzniká absolutní modul
6 Programování a p. jazyky Překladače: –kompilátory –interprety Interpret –překládá pokaždé, po příkazech, které se pak ihned provádí –vhodné pro interaktivní režim Kompilátor –překládá program najednou, je víceprůchodový, větší rychlost, chyby vypíše nakonec
7 citát ladění - proces odstraňování chyb Scottův zákon: Byla-li chyba objevena a odstraněna, zjistí se, že o žádnou chybu nešlo
8 Programování a p. jazyky Progr. jazyky současnosti - O Orientace Basic - původně již od 8bitových počítačů dnes mocný OO jazyk, Visual Basic (VB) VBA (Visual Basic for Application) používá Microsoft v MS Office (Word, Access, Excel) program lze použít pouze s danou aplikací, nejde vytvořit spustitelnou aplikaci Podmnožina VB = VB Script, umožňuje psaní skriptů (jako dávky.bat v DOSu), pracuje pouze v MIExploreru
9 Programování a p. jazyky Progr. jazyky současnosti - O Orientace Pascal - dnes též OO, dříve Turbo Pascal C jazyk - C++ (Borland) Visual C++ (Microsoft)
10 Programování a p. jazyky Progr. jazyky současnosti - O Orientace Java - Sun Microsystems –jazyk pro vývoj aplikací na Internetu –platformově nezávislá (na oper. systému) –dynamický kompilátor přeloží zdrojový kód do mezikódu (bytecode), ten se dopraví po Internetu do Vašeho počítače –zde se interpretuje prohlížečem –bytecode je možné spouštět kdekoliv, kde je k dispozici JVM (Java Virtual Machine), virt. stroj
11 Programování a p. jazyky Java - je třeba rozlišovat:Java jako jazyk Javový bytecode Java jako platformově závislý kód (tj. závislý na oper. systému) Java Script - objektový, nezávislý na op sys. a prohlížeči –přinesl dynamiku do doposud statických web. stránek
12 Programování a p. jazyky –jeho vstupem i výstupem je okno prohlížeče –nemůže pracovat se soubory na disku (což zvyšuje bezpečnost programů v něm psaných) –je součástí zdrojového kódu HTML stránky –zdrojové kódy skriptů jsou interpretovány zároveň s HTML značkami na straně klienta - prohlížečem –ne každý prohlížeč mu rozumí a správně jej interpretuje –manipulace s obsahem stránky –lze vytvořit nová okna prohlížeče –je dostupný všem - nevýhoda: nelze utajit vlastní algoritmy
13 Programování a p. jazyky na Internetu 2 způsoby používání: –skryté = zpracování formulářů, kontroluje políčka a odešle nebo vrátí (činnost, kterou by prováděl jinak server) –viditelné - efekty, přeblikávající tlačítka, duhové nápisy, otevření dalšího okna
14 Programování a p. jazyky OOP - standard při tvorbě aplikací pro grafické op. systémy změna způsobu návrhu programu - „co“ se má dělat (místo „jak“) práce s objekty (= modely reálného světa) objekt obsahuje data i procedury (metody), které s nimi pracují, má vlastnosti (jim odpovídají proměnné) vše je zapouzdřené (encapsulation)
15 Programování a p. jazyky OOP objekt představuje celou třídu objektů, = typ objektu třídy sestaveny v hierarchiích knihovny tříd s objekty provázány dědičností vlastností objekty jsou funkční a aktivní, komunikují spolu zasíláním zpráv dříve byly data a procedury drženy odděleně (tradiční programování)
16 Programování a p. jazyky OOP nové pojmy: –zapouzdření - nový typ se definuje tak, že se popíše množina možných hodnot + operace s nimi –dědičnost - od jednoho typu se odvodí jiný, který zdědí vlastnosti rodiče (předka) + definujeme vlastnosti nové –polymorfismus - stejná zpráva se zpracovává různými objekty různě (různými metodami) – zprávy - mají jméno a parametry, představují požadavek na činnost
17 Programování a p. jazyky OOP klasické objekty existují pouze uvnitř jednoho programu (C++) nelze k nim přistupovat z jiných počítačů distribuované objekty - spolupracují v síťovém prostředí rozlišujeme objekty klient a server klient odesláním zprávy iniciuje komunikaci se serverem