Vizuální programování

Podobné dokumenty
Vizuální programovací jazyk

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

Úvod. Programovací paradigmata

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

IB111 Programování a algoritmizace. Programovací jazyky

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

Program a životní cyklus programu

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

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

Matematika v programovacích

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

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

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE PŘEKLADY TYPICKÝCH JAZYKOVÝCH KONSTRUKCÍ PROGRAMOVACÍCH JAZYKŮ.

11. Přehled prog. jazyků

3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda

Výstupy Učivo Průřezová témata

KOPENOGRAMY A JEJICH IMPLEMENTACE V NETBEANS

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

Úvod do počítačové grafiky

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

Vstupní požadavky, doporučení a metodické pokyny

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Seminář z Informatiky a výpočetní techniky. Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr

Objektově orientované databáze. Miroslav Beneš

IB015 Neimperativní programování. Organizace a motivace kurzu, programovací jazyk Haskell. Jiří Barnat

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Algoritmizace, základy programování, VY_32_INOVACE_PRG_ALGO_01

ANOTACE vytvořených/inovovaných materiálů

Teorie systémů TES 5. Znalostní systémy KMS

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

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

Obsah. Úvod 9 Co v knize najdete 9 Komu je kniha určena 9 Konvence užité v knize 9 Vzkaz čtenářům 10 Typografické konvence použité v knize 11

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

Programování v jazyce C a C++

Pohled do nitra mikroprocesoru Josef Horálek

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

ČÁST 1. Základy 32bitového programování ve Windows

Kde se používá počítačová grafika

MANUÁL FIREMNÍHO STYLU

Algoritmizace a programování

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

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

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

Logo manuál OC Chomutovka

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

DEFINICE BAREV FIREMNÍ PÍSMO

2D grafika. Jak pracuje grafik s 2D daty Fotografie Statické záběry Záběry s pohybem kamery PC animace. Počítačová grafika, 2D grafika 2

Osvědčené postupy pro zpracování tiskových dat s vynikající kvalitou tisku

Vývojové diagramy 1/7

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY

Common Object Request Broker Architecture

(X)HTML, CSS a jquery

Zobrazování barev Josef Pelikán CGG MFF UK Praha.

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

Comenius Logo. Princip programování. Prostředí Comenius Logo

PRAGUE PRIDE FESTIVAL

Ústav dějin umění Akademie věd České republiky, v. v. i. Manuál značky

Základy programování (C#) Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1134_Základy programování (C#) _PWP

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Obsah. 1 Úvod do Visia Práce se soubory 47. Předmluva 11 Typografická konvence použitá v knize 13

BPC 10.1 on HANA Classic. Ondra Klouček

Vizuální interpretace leteckých a družicových snímků u dospívajících

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

13 Barvy a úpravy rastrového

Kapitola 1: Úvod. Systém pro správu databáze (Database Management Systém DBMS) Účel databázových systémů

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

b) červená, zelená, modrá, c) černá, bílá, d) černá, bílá, šedá. 5. PNG je formát: a) textový,

Objektově orientovaný přístup

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

Jádrem systému je modul GSFrameWork, který je poskytovatelem zejména těchto služeb:

6 Příkazy řízení toku

Programátorská dokumentace

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

Architektura v organizaci

Disková pole (RAID) 1

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

1 Strukturované programování

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

ANOTACE nově vytvořených/inovovaných materiálů

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Předmět: Programování

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Algoritmizace. 1. Úvod. Algoritmus

Programování v Pythonu

Překladač a jeho struktura

Gymnázium Vysoké Mýto nám. Vaňorného 163, Vysoké Mýto

Webová grafika, struktura webu a navigace, použitelnost a přístupnost

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

(mini) MANUÁL LOGOTYPU 2017

Programovací jazyky Přehled a vývoj

1 1 značka proporční schéma na čtvercové síti

g r a f i c k ý m a n u á l z n a č k y

Hotelová škola, Obchodní akademie a Střední průmyslová škola Teplice, Benešovo náměstí 1, p.o. III/2 - Inovace a zkvalitnění výuky prostřednictvím ICT

Comenius Logo. Úterý 20. března. Princip programování. Prostředí Comenius Logo

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

VY_32_INOVACE_INF.10. Grafika v IT

Téma: Vektorová grafika. Určete pravdivost následujícího tvrzení: "Grafická data jsou u 2D vektorové grafiky uložena ve voxelech."

Transkript:

Vizuální programování Adam Zmrzlý Seminář LaSArIS, 28. 11. 2013

Obsah Motivace Co je vizuální programování Novost přístupu Cíle vizuálního programování Různé přístupy Jazyk Shades

Motivace Zvýrazňování syntaxe pro různé jazyky v různých IDE V praxi neexistuje jednotná norma stejný jazyk v různých IDE stejné konstrukty jednotlivých jazyků v rámci jednoho IDE

Motivace Java v Netbeans 6+

Motivace JavaScript v Netbeans 6+

Motivace JavaScript v Aptana Studio 3+

Motivace Zvýrazňování syntaxe by mělo pomáhat programátorům pracovat efektivněji subjektivní možnost úpravy nenese žádnou dodatečnou informaci, neukládá se, často ani nelze zkopírovat zvýraznění syntaxe logicky seskupuje jednotlivé tokeny kódu (velmi hrubozrnně) zkusme se na kód se zvýrazněnou syntaxí podívat z jiného úhlu

Motivace

Motivace

Co je vizuální programování Nové paradigma?

Co je vizuální programování Nové paradigma? ne, vizuální programování lze použít pro paradigma objektově orientované, funkcionální, logické, procedurální,

Co je vizuální programování Nové paradigma? ne, vizuální programování lze použít pro paradigma objektově orientované, funkcionální, logické, procedurální, Nový programovací jazyk?

Co je vizuální programování Nové paradigma? ne, vizuální programování lze použít pro paradigma objektově orientované, funkcionální, logické, procedurální, Nový programovací jazyk? ne, může existovat prakticky neomezené množství různých vizuálních jazyků

Co je vizuální programování Nové paradigma? ne, vizuální programování lze použít pro paradigma objektově orientované, funkcionální, logické, procedurální, Nový programovací jazyk? ne, může existovat prakticky neomezené množství různých vizuálních jazyků vizuální varianty stávajících jazyků

Co je vizuální programování Nové paradigma? ne, vizuální programování lze použít pro paradigma objektově orientované, funkcionální, logické, procedurální, Nový programovací jazyk? ne, může existovat prakticky neomezené množství různých vizuálních jazyků vizuální varianty stávajících jazyků, nový člen.net rodiny, Visual Java? :)

Co je vizuální programování Vizuální programování je způsob tvorby, reprezentace a zpracování zdrojového kódu. Zdrojový kód v grafické podobě důraz kladen na vizuální podobu vytvářených programů zcela odlišný přístup k programování nové možnosti, využití i výzvy

Novost přístupu Představuje vizuální programování zcela nový přístup k reprezentaci dat a jejich následnému zpracování?

Novost přístupu Představuje vizuální programování zcela nový přístup k reprezentaci dat a jejich následnému zpracování? čárové kódy pro nás nepříliš zajímavé slouží ke kódování a dekódování krátkého řetězce znaků (obvykle identifikátor) určeno pro tisk a následné optické rozpoznávání různá omezení (barevnost, délka kódované informace, )

Novost přístupu čárové kódy první snahy o estetičtější přístup k vizuálnímu uchovávání dat

Novost přístupu čárové kódy první snahy o estetičtější přístup k vizuálnímu uchovávání dat

Novost přístupu 2D čárové kódy evoluce původních čárových kódů data kódována do čtvercových obrázků zpočátku sloužily stále jen k vizuálnímu kódování a dekódování dat (odkazy, vizitky, )

Novost přístupu 2D čárové kódy využití redundance a opravných kódů přineslo původně nezamýšlené možnosti úpravy vzhledu jednotlivých kódů

Novost přístupu 2D čárové kódy využití redundance a opravných kódů přineslo původně nezamýšlené možnosti úpravy vzhledu jednotlivých kódů

Novost přístupu 2D čárové kódy využití redundance a opravných kódů přineslo původně nezamýšlené možnosti úpravy vzhledu jednotlivých kódů

Novost přístupu 2D čárové kódy využití redundance a opravných kódů přineslo původně nezamýšlené možnosti úpravy vzhledu jednotlivých kódů

Novost přístupu 2D čárové kódy High Capacity Color Barcode vytvořen společností Microsoft v samotné specifikaci využívá barev a místo čtverců trojúhelníky vyšší kapacita oproti jiným kódům existuje jediná implementace Microsoft Tag, oznámeno ukončení podpory v roce 2015

Novost přístupu 2D čárové kódy High Capacity Color Barcode

Novost přístupu 2D čárové kódy High Capacity Color Barcode

Novost přístupu 2D čárové kódy High Capacity Color Barcode

Novost přístupu Stále se ale bavíme jen o uchovávání dat ve vizuální podobě pomocí čárových kódů, kde je ono slibované vizuální programování?

Novost přístupu Stále se ale bavíme jen o uchovávání dat ve vizuální podobě pomocí čárových kódů, kde je ono slibované vizuální programování? Odpověď je blíž, než by se mohlo zdát. Spíše blíž, než bychom možná chtěli.

Novost přístupu Stále se ale bavíme jen o uchovávání dat ve vizuální podobě pomocí čárových kódů, kde je ono slibované vizuální programování? Odpověď je blíž, než by se mohlo zdát. Spíše blíž, než bychom možná chtěli. Obyčejný QR kód?

Novost přístupu Stále se ale bavíme jen o uchovávání dat ve vizuální podobě pomocí čárových kódů, kde je ono slibované vizuální programování? Odpověď je blíž, než by se mohlo zdát. Spíše blíž, než bychom možná chtěli. Obyčejný QR kód? V podstatě ano, obsahuje ale kód v JavaScriptu. Některé čtečky jej i dnes automaticky interpretují.

Novost přístupu Existují v současné době nějaké vizuální jazyky?

Novost přístupu Existují v současné době nějaké vizuální jazyky? V omezené míře ano, jejich počet je ale velmi malý (méně než 10). Autoři těchto jazyků je řadí mezi čistě ezoterické, pojem vizuální jazyk se nepoužívá. Expresivní síla těchto jazyků je obvykle nízká. Mobius prochází pixely, porovnává hodnoty RGB kanálů a na jejich základě provádí akce

Novost přístupu Nejpokročilejší z existujících jazyků je Piet interpretovaný, používá zásobníkovou architekturu, je Turing-complete pracuje s omezenou škálou 20 barev rozdělených do cyklů podle světlosti a odstínu používá dva ukazatele pro pohyb v obrázku při průchodu barevnou oblastí sčítá pixely při přechodu do jiné oblasti v závislosti na změně barvy a cyklu provede konkrétní operaci

Novost přístupu Pojmenován po Pietu Mondarianovi, jednom ze zakladatelů geometrického abstraktního umění. Programy by měly být psány tak, aby toto umění připomínaly. Kompozice se žlutou, modrou a červenou, 1937-1942. Vystaveno v Tate Gallery.

Novost přístupu Pojmenován po Pietu Mondarianovi, jednom ze zakladatelů geometrického abstraktního umění. Programy by měly být psány tak, aby toto umění připomínaly. Srovnání: Program v jazyce Piet.

Novost přístupu V současné době neexistuje žádný jazyk, který by bylo možné prohlásit za použitelný (ve smyslu složitějších aplikací) a zároveň za zástupce vizuálního programování. Chybí zejména podpora pro programování (IDE, debuggery, profilery, )

Novost přístupu V současné době neexistuje žádný jazyk, který by bylo možné prohlásit za použitelný (ve smyslu složitějších aplikací) a zároveň za zástupce vizuálního programování. Chybí zejména podpora pro programování (IDE, debuggery, profilery, ) Tedy zatím :)

Cíle vizuálního programování umožnit vytvářet obrázky s přidanou hodnotou abstrahovat od použití konkrétního přirozeného jazyka snaha o platformní nezávislost výsledných programů (u samotných obrázků zaručeno), záleží na interpretech přinést nový pohled na programování, důraz kladen na estetičnost

Cíle vizuálního programování přivést k programování designéry, grafiky, ale zároveň neodradit programátory umožnit používat běžné konstrukty (if, while, switch, ) spolu s novými možnostmi řízení toku ( 2D programování )

Různé přístupy: varianta 1 zdrojový kód zapsán (nakreslen) ve formě obrázku a následně přeložen do spustitelné podoby ztrácí se základní myšlenka vizuálního programování, spíše ezoterický přístup ztráta platformní nezávislosti, nutnost vytvořit minimálně back-endy překladačů pro více operačních systémů a platforem rychlejší běh programů, skrytý zdrojový kód

Různé přístupy: varianta 2 zdrojový kód zapsán jako text a přeložen do podoby interpretovatelného obrázku základní myšlenka vizuálního programování částečně zachována vstupní programovací jazyk může být zcela nový, lze ale použít libovolný již existující nutné řešit mapování konkrétního jazyka do podoby obrázku (anotace, metadata), poměrně složité

Různé přístupy: varianta 2 zdrojový kód zapsán jako text a přeložen do podoby interpretovatelného obrázku musí existovat překladač jazyka do obrázku pro každý takto použitý jazyk musí existovat interpret obrázků (obdoba VM), případně dekompilátor obrázku zpět do původního jazyka a jeho následné zpracování konkrétním interpretem (překladačem), podobně jako v rámci platformy.net

Různé přístupy: varianta 2 zdrojový kód zapsán jako text a přeložen do podoby interpretovatelného obrázku výhodou je možnost použít známé jazyky a již existující nástroje (IDE, profilery, ) nevýhodou je složité mapování kódu do podoby požadovaného obrázku, pomalejší zpracování než v případě první varianty

Různé přístupy: varianta 3 zdrojový kód je nakreslen přímo jako interpretovatelný obrázek plně splňuje myšlenky vizuálního programování vyžaduje vizuální programovací jazyk a interpret přináší prakticky neomezené možnosti použití v závislosti na daném jazyku zatím neexistuje žádný takový jazyk ani vývojové nástroje

Různé přístupy: varianta 3 zdrojový kód je nakreslen přímo jako interpretovatelný obrázek podobně jako varianta 2 je pomalejší (samotná režie zpracování obrázku a jeho interpretace)

Shades připravovaný vizuální programovací jazyk (momentálně uzavřené testování) spolu s ním připravována sada vývojových nástrojů programy v jazyce Shades cílí na možnost co nejvíce napodobit libovolný obrázek uplatnění např. v rámci korporátní identity využívá velké množství barev, spíše nevhodné pro tisk možnost vložit kód do existujícího obrázku

Shades pro dosažení co nejlepší aproximace existujícího obrázku použit downsampling (obdobně jako při antialisingu na GPU) možnost použít umělecké ztvárnění kódu (zvětšení jednotlivých barevných ploch bez ovlivnění sémantiky mozaikový efekt), použito v jednotlivých snímcích této prezentace

Závěr Vizuální zpracování dat a programování má budoucnost.

Děkuji za pozornost