Programovací jazyky Přehled a vývoj

Podobné dokumenty
Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita

IB111 Programování a algoritmizace. Programovací jazyky

Matematika v programovacích

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

IB111 Úvod do programování skrze Python Přednáška 13

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Úvod. Programovací paradigmata

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Úvod do tvorby internetových aplikací

C2184 Úvod do programování v Pythonu podzim Mgr. Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita.

Úvod do aplikací internetu a přehled možností při tvorbě webu

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Algoritmizace- úvod. Ing. Tomáš Otáhal

language="javascript">... </script>.

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

11. Přehled prog. jazyků

Program a životní cyklus programu

Maturitní témata Školní rok: 2015/2016

Střední odborná škola a Střední odborné učiliště, Hořovice

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Sada 1 - Základy programování

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Instalace a konfigurace web serveru. WA1 Martin Klíma

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Programové prostředky IS/IT

Programové vybavení počítačů

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

Skriptovací jazyky. Obsah

DTP Základy programování Úvod do předmětu

2002 Magister (Mgr.), studijní program: matematika, specializace matematikamanagement

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Databáze s tisíci uložených procedur. Pavel Bláhovec, DiS pavel@blahovec.cz

1.2 Operační systémy, aplikace

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Seznámení s prostředím dot.net Framework

Maturitní otázky z předmětu PROGRAMOVÁNÍ

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA

INFORMAČNÍ SYSTÉMY NA WEBU

úvod Historie operačních systémů

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG )

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

C2184 Úvod do programování v Pythonu podzim Stanislav Geidl Národní centrum pro výzkum biomolekul Masarykova univerzita. Úvod.

Programování - úvod. Programování. Proces programování. Vlastnosti dobrého programu: Kapitola seznamuje se základními pojmy programování.

TÉMATICKÝ OKRUH Softwarové inženýrství

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

1. Webový server, instalace PHP a MySQL 13

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7

Inovace výuky prostřednictvím šablon pro SŠ

Profilová část maturitní zkoušky 2017/2018

Software Základní pojmy a rozdělení. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1123_Software Základní pojmy a rozdělení_pwp

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata

Strana 1 (celkem 14) Radek Vokoun - 1 -

Softwarové komponenty a Internet

Programování a algoritmizace: úvod

Základy WWW publikování

IB111 Úvod do programování skrze Python Přednáška 13

1 - Úvod do platformy.net. IW5 - Programování v.net a C#

1 Webový server, instalace PHP a MySQL 13

Paralelní výpočty ve finančnictví

Nové jazykové brány do Caché. Daniel Kutáč

Vyřešené teoretické otázky do OOP ( )

Tabulka základních vlastností nástroje C++Builder dle edice

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Teze. Moderní WWW technologie

Webové stránky. 1. Publikování na internetu. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

Převod 4GL aplikací do webového prostředí. Ing. Jan Musil, IBM ČR Community of Practice for

Základní informace. Operační systém (OS)

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

Identifikátor materiálu: ICT-1-21

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

První kapitola úvod do problematiky

Internet 2 css, skriptování, dynamické prvky

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

1. SYSTÉMOVÉ POŽADAVKY / DOPORUČENÁ KONFIGURACE HW A SW Databázový server Webový server Stanice pro servisní modul...

CZ.1.07/1.5.00/

Server-side technologie pro webové aplikace

HIT jednotný koncept výuky NC programování

2.8 Procesory. Střední průmyslová škola strojnická Vsetín. Ing. Martin Baričák. Název šablony Název DUMu. Předmět Druh učebního materiálu

Střední odborná škola a Střední odborné učiliště, Hořovice

František Hudek. únor ročník

Název DUM: VY_32_INOVACE_2B_9_Software_-_základní_programové_vybavení_počítače

Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Vyšší odborná škola a Střední škola,varnsdorf, příspěvková organizace. Šablona 4 VY 32 INOVACE

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ , 5.1 a 5.2 8/14

Transkript:

Programovací jazyky Přehled a vývoj 1

Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2

Programování Programování = proces tvorby (psaní) programu Programátor píše program pomocí programovacího jazyka Psaní programu ¹ spuštění programu Program musí být načten v operační paměti (RAM) počítače, aby mohl být spuštěn Zajišťuje OS 3

Programovací jazyk Počítač (CPU) rozumí elektrickým signálům (bity) jazyk strojového kódu Příliš dlouhé a složité Programovací jazyk zápis instrukcí ve zkrácené podobě srozumitelné člověku Speciální program překladač (compiler) nebo interpret (interpreter) převádí instrukce programovacího jazyka do strojového kódu 4

10 PRINT HELLO 20 END 5

Překlad zdrojového kódu programu 10 PRINT HELLO Překladač 1001101 programovacího 1110101 jazyka 0010110 Zdrojový kód programu Zapsáno v BASIC, C, aj. Proces překládání zdrojového kódu Program ve strojovém kódu Obr: quantifactus.wcupa.edu/lab/mis/software.ppt 6

První generace jazyk strojového kódu Nejstarší typ programovacího jazyka Instrukce jsou tvořeny posloupností nul a jedniček (bitů) Jazyk strojového kódu je hardwarově závislý Obtížné hledání chyb 100% využití výkonu použitého procesoru (rychlost) Využití pro psaní ovladačů rychlých periferií a grafické karty 7

Druhá generace jazyk symbolických Jazyk nižší úrovně adres Obecné příkazy (např. načti data, zapiš data ) jsou zkracovány pomocí symbolických názvů Příkazy překládá do strojového kódu procesoru speciální program assembler Jazyk je také hardwarově závislý 8

Třetí generace procedurální jazyky Vyšší úroveň programování (podoba s lidskými jazykem) Příkazy odvozené z anglických slov Programátor zapisuje zdrojový kód; překladač provede interpretaci nebo překlad do objektového kódu (strojového jazyka) Interpret (interpreter): překládá jednotlivé instrukce a vykonává kód okamžitě (např. webový prohlížeč) Překladač (compiler): překládá celý program jako celek a uloží do souboru (např. exe ve Windows); program spouští operační systém později 9

Třetí generace procedurální jazyky Koncepce strukturovaného programování Příklady: Jazyk pro vědecko-technické výpočty (Fortran), hromadné zpracování dat (Cobol), univerzální jazyky (např. C, který se používá dodnes), Pascal, Basic (výuka základů programování) 10

Čtvrtá generace: problémově orientované jazyky Vyšší úroveň programovacích jazyků Využívají mnoho vestavěných funkcí, bývají často napojeny na databázi Snaha o zjednodušení a zrychlení práce programátora PowerBuilder (obecné použití), SQL (databáze), MATLAB (matematická analýza), generátory reportů, generátory aplikací, atd. 11

Porovnání programovacích jazyků Instrukce Sečti 2 a 5 a přiřaď výsledek do proměnné y Programovací jazyk Kód IBM System 370 strojový kód 00000011 00001011 00100100 01000011 00001010 00000011 00000011 00000011 00000011 00000010 00000011 00001001 00000111 00000011 00001001 00000011 00000011 00000011 00000011 00010100 00000011 00000011 00000011 00000011 IBM System 370 assembler Třetí generace FORTRAN COBOL BASIC C, C++ L R2, = F 2 A R2, = F 5 ST R2, Y y = 2 + 5 add 2, 5 giving y let y = 2 + 5; y = 2 + 5; Čtvrtá generace y = 2 + 5 Zdroj: Sawyer, Williams, Using Information Technology, 10e, 2013. 12

Pátá generace: přirozené jazyky Využití pro programování umělé inteligence (artificial intelligence, AI) a neuronových sítí Založeno na funkci běžného lidského jazyka Z části např. v osobních digitálních asistentech (Google Voice, Apple Siri, Microsoft Cortana) 13

Objektově orientované a vizuální programování 14

Objektově orientované a vizuální programování Objektově orientované programování (OOP): Data a instrukce jsou spolu v samostatném objektu, který může být opakovaně využit Objekt: samostatný modul, který obsahuje znovupoužitelný kód Zpráva: instrukce zaslaná objektu, která spustí určitou akci Metoda: instrukce, pomocí které objekt reaguje na příchozí zprávu Zdroj: Sawyer, Williams, Using Information Technology, 10e, 2013. 15

Třída a instance Každý objekt patří do určité třídy (např. dokument aplikace MS Word patří do třídy Documents) Konkrétní výskyt objektu v dané třídě se nazývá instance třídy (např. dokument aplikace MS Word s názvem domaciukol.docx je instancí třídy Documents) 16

Zapouzdření: Základní koncepty OOP Zapouzdření v objektech znamená, že k obsahu objektu se nedostane nikdo jiný, než sám vlastník. Navenek se objekt projeví jen svým rozhraním (operacemi, metodami). Private class, public class, Dědičnost: Jeden objekt může být základem pro jiné objekty; Objekty mohou být uspořádány do hierarchie tříd a podtříd Objekty mohou dědit akce a atributy vzájemně mezi sebou Zdroj: Sawyer, Williams, Using Information Technology, 10e, 201 17

Polymorfismus: Základní koncepty OOP Stejná zpráva určená různým objektům přinese různé výsledky (např. zpráva Zavři může znamenat zavření souboru, nebo ukončení okna; v závislosti na tom, který objekt tuto zprávu obdrží) Zdroj: Sawyer, Williams, Using Information Technology, 10e, 18

C++ Objektově orientovaný jazyk vyvinutý na základě jazyka C Využívá se pro psaní počítačových her a aplikací náročných na CPU a grafiku C# (.NET) Objective-C (pro ios) 19

Java Pozor! Neplést s JavaScript Nejrozšířenější OOP jazyk v praxi Od Sun Microsystems v 90. let. 20. stol., dnes Oracle Podobnost s C++ (rozdíly ve správě paměti a v syntaxi) Bankovní systémy, vývoj aplikací pro Android (nevyužívá Java VM), rozsáhlé aplikace (vysoká míra abstrakce) Využívá Virtual Machine nezávislé na platformě 20

Základy v OOP Vizuální programování Skládání programu z hotových grafických komponent Nutno doprogramovat logiku chování programu Rychlá tvorba funkčních prototypů Např. Visual Basic for Applications (součástí sady MS Office) 21

Značkovací a skriptovací jazyky 22

Značkovací jazyky Neplést s programovacími jazyky! Používá kódovací značky vkládané do textu Informace o významu a vzhledu textu Interpretované jazyky (kód načítá a vykonává interpret např. webový prohlížeč) Zdroj: Sawyer, Williams, Using Information Technology, 10e, 2013. 23

Značkovací jazyky HTML (HyperText Markup Language) Navrženo pro World Wide Web Kódy (značky) určují strukturu, rozvržení a styl stránky Standard HTML pod správou organizace W3C (World Wide Web Consortium) 24

Značkovací jazyky SGML (Structured Generalized Markup Language) Obecněji využitelný značkovací jazyk Určuje syntaxi pro vkládání značek do dokumentů Možnost tvorby vlastních sad značek (dnes např. XML) XML Vychází z SGML Zdroj: Sawyer, Williams, Using Information Technology, 10e, 2013. 25

HTML 5 Vylepšená podoba jazyka HTML Zabudované podpora multimédií (pro bohaté internetové aplikace, RIA) Otevřený standard Vhodné pro webové a mobilní aplikace 26

Skript Seznam příkazů uložených v souboru (např. webová stránka, textový soubor) Spouští se po načtení kódu v interpretu (např. webový prohlížeč, interpret příkazů v OS, aj.) Skriptovací jazyk interpretovaný programovací jazyk 27

Skriptovací jazyky - typy Skriptovací jazyky na straně klienta Skriptovací jazyky na straně serveru Jazyky interpretu příkazů (shell) Ostatní skriptovací jazyky 28

Skriptovací jazyky na straně klienta Kód se spouští v klientském počítači (obvykle webový prohlížeč) Nutnost softwarové podpory (rozšiřující moduly do prohlížeče, tzv. plug-iny) Nikoliv pro JavaScript 29

JavaScript Objektově orientovaný jazyk pro webové prohlížeče Kód se vkládá přímo do webové stránky a spouští se při výskytu příslušné události na stránce (např. klik na tlačítko) Jednotlivé objekty HTML stránky objektový model dokumentu (Document Object Model, DOM) Zdroj: Sawyer, Williams, Using Information Technology, 10e, 2013. 30

Další skriptovací jazyky na straně klienta ActionScript (aplikace v Adobe Flash) VBScript Python 31

Skriptovací jazyky na straně serveru Kód je interpretován na serveru Výsledek (např. webová stránka) se odesílá klientovi Zobrazení výsledku v klientském zařízení (nejčastěji webový prohlížeč) Příklady: Moodle, IS ČZU, Seznam.cz, atd. 32

PHP PHP (zkratka pro PHP: Hypertext Preprocessor) Pro tvorbu dynamických webových stránek napojených na databázi Od 1994 (v 2014 cca 82 % webových serverů 1 ) Obvyklá kombinace Linux + Apache + PHP + MySQL Základní interpret jazyka je freeware, vývojové nástroje mohou být placené 33

ASP (Active Server Pages) ASP.NET Pro tvorbu dynamických webových stránek napojených na databázi Skriptovací technologie od Microsoftu, komerční licence Původní technologie ASP nahrazena ASP.NET Nemají nic společného, programování pomocí C#/VisualBasic v rámci.net frameworku Možnost interpretovaného, nebo kompilovaného překladu (rychlejší), nebo kombinace 34

VBScript Skriptovací jazyk vyvinutý firmou Microsoft Odvozený z Visual Basicu Objektově orientovaný přístup Kompatibilní s OS Windows Například pro správu systému na dálku, administraci sítě, apod. 35 35

Souhrnné otázky 1. Vysvětlete rozdíl mezi algoritmizací a programováním. 2. K čemu slouží programovací jazyk? 3. Vyjmenujte vývojové generace programovacích jazyků a stručně je od sebe odlište. 4. Jaká je úloha překladače zdrojového kódu při tvorbě programu? 5. Jaký je rozdíl mezi interpretovaným a kompilovaným programovacím jazykem? Do které kategorie patří značkovací jazyky? 6. Co je skriptovací jazyk? K čemu se využívá? 7. Uveďte typy skriptovacích jazyků. 8. V čem se liší skriptovací jazyky na straně klienta a na straně serveru? Uveďte příklad. 36