Poškrábat | |
---|---|
Sémantika | řízený událostmi |
Jazyková třída | grafické , vzdělávací |
Typ provedení | tlumočník |
Objevil se v | 2007 |
Autor | Mitchell Resnick _ _ _ |
Vývojář | MIT Media Lab |
Přípona souboru | .sb , .sb2 , .sb3 |
Uvolnění | 3.29.1 (27. února 2022 ) |
Typový systém | dynamický |
Hlavní implementace | Poškrábat |
Dialekty | Snap! |
Byl ovlivněn | Logo , Smalltalk , HyperCard, StarLogo , AgentSheets, Etoys, Tweak |
ovlivnil | Snap! , AppInventor , Catrobat |
Licence | upravená licence BSD [d] |
webová stránka | scratch.mit.edu |
OS | Windows , macOS , HTML |
Mediální soubory na Wikimedia Commons |
Scratch ( anglicky Scratch , IPA [ s k r æ ʧ ]) je vizuální blokové událostně řízené programovací prostředí vytvořené pro děti a teenagery. Název pochází ze slova scratching , což je technika používaná hip-hopovými DJs, kteří rukama roztáčí vinylové desky tam a zpět, aby míchali hudební témata [1] .
Vznikl jako pokračování myšlenek jazyka Logo a konstruktoru Lego . Scratch 1.4 byl napsán v jazyce Squeak , 2.0 a 3.0 jsou zaměřeny na online práci. Scratch 2.0 byl přepsán do Flash a ActionScriptu . Scratch 3.0 (aktuální verze) je vylepšená verze Scratch 2.0 a je vytvořena v HTML5 pomocí enginu WebGL , což umožňuje běh na mobilních zařízeních a tabletech . Scratch je vyvíjen malým týmem programátorů pro děti [2] na Massachusetts Institute of Technology . Aktuální verze je Scratch 3.0, vydaná v lednu 2019. V roce 2008 byl Scratch portován na modul mikrokontroléru Arduino . Projekt se nazývá S4A [3] .
Programy na Scratch se skládají z grafických bloků, jejichž popisky závisí na jazyku zvoleném pro rozhraní. Lze vybrat jeden z 50 jazyků rozhraní, včetně ruštiny . Pro připojení rozhraní v novém jazyce se používají standardní soubory gettext .
Hlavními součástmi škrábacího programu jsou objekty sprite . Skřítek se skládá z grafického znázornění — sady rámů- kostýmů ( angl. Kostým ) a scénáře . Pro úpravu kostýmů skřítků je do scratch zabudován grafický editor ( anglicky Paint Editor ) . Akce programu Scratch se odehrává na scéně ( anglicky stage ) o velikosti 480 × 360 (podmíněných) pixelů se souřadnicovým středem uprostřed scény.
Pro programování skriptů ve Scratch se používá přístup přetažení : bloky z palety bloků se přetahují do oblasti skriptu.
Podle funkčního účelu jsou bloky rozděleny do 10 skupin, příslušnost bloku ke konkrétní skupině je vyznačena jeho barvou.
Skupina | anglické jméno | Barva | Poznámka |
---|---|---|---|
Provoz | Pohyb | Modrý | ovládat pohyb sprajtu (neplatí na pozadí) |
Vzhled | vzhled | fialový | ovládat vzhled skřítka |
Zvuk | Zvuky | růžový | ovládat zvuk skřítka |
Vývoj | Události | žlutá | kontrola událostí, posílání signálů všem skřítkům |
Řízení | řízení | jantar | řídicí struktury, hlavičky obsluhy událostí |
Senzory | snímání | modrý | vstupní zařízení pro dotazování, časovač a jméno účastníka |
Operátoři [4] | Operátoři | světle zelená | aritmeticko-logické operace |
Proměnné | Proměnné | červené a oranžové | sekce pro manipulaci s proměnnými a seznamy |
Jiné bloky | Moje bloky | světle růžová | převést kombinaci bloků do jednoho bloku, což zjednodušuje kód,
nebo zjednoduší vytvoření vašeho osobního bloku |
Přidat
Rozšíření |
Rozšíření | zelená | rozšířit možnosti Scratche. Existují různé druhy rozšíření, jako je hudba, pero, rozpoznávání videa, text na řeč , překladač , Makey Makey , micro:bit , LEGO MINDSTORMS EV3 a LEGO Education WeDo 2.0 |
Mnoho bloků má upravitelné bílé pole pro parametry zadané programátorem scratch.
Existují tři typy bloků: bloky zásobníku , bloky záhlaví a bloky odkazů .
Stack bloky (většina bloků) ( angl. Stack Blocks ) mají nahoře zářez a dole římsu, s jejich pomocí se spojují do skupiny bloků zvané stack . Stohy lze kopírovat a přesouvat jako jeden blok. Zvláštním druhem bloků zásobníku jsou řídicí konstrukce, jako jsou smyčky – mají tvar písmene C a mohou překlenout vnořený zásobník škrábacích bloků.
Bloky záhlaví ( také nazývané klobouky) mají konvexní horní okraj a výstupek ke spojení ve spodní části - tvoří záhlaví škrábacích hromádek. Bloky záhlaví zahrnují bloky „když...“ ze skupiny „ Ovládání “, které umožňují organizovat obslužné programy zpráv: externí – z klávesnice a myši a interní – přenášené mezi sprity a umožňující objektově orientované programování ve stylu smalltalk .
Bloky odkazů ( angl. Reporters ) jsou určeny k vyplnění vnitřních polí jiných bloků.
Jazyk Scratch (jako Logo ) pracuje s čísly, textovými řetězci, booleany a seznamy , které hrají roli dynamických polí.
Přestože architektura stíracích programů ve formě sady skřítků Scratch, které si navzájem vyměňují události, připomíná objektově orientovanou architekturu , Scratch není objektově orientovaný jazyk: má (v žádné podobě) mechanismy dědičnosti (v nejnovějších verzích rozšířeného BYOB scratch dialektu, prototypová dědičnost ).
Po vydání verze 0.18.1 byl zdrojový kód Scratch otevřen za podmínek licence Scratch Source Code License – což je jednoduchá copyleft licence s dalšími omezeními na nepoužívat originální ochranné známky (v mírnější podobě jsou taková omezení zahrnuta, například v PHP License ).
Kód lze stáhnout z oficiálních stránek [5] . Podmínky pro jeho použití a distribuci jsou následující:
*(přečíst poznámky)
Distribuovaný zdrojový kód již tyto podmínky splňuje: bylo v něm nahrazeno logo a sprite s kočkou a odstraněn kód pro uložení projektu Scratch na web.
Protože je však Scratch (1.4) napsán v jazyce Squeak , existuje přístup k jeho zdrojovému kódu, aniž by byl explicitně poskytnut uživateli – jsou uloženy spolu s výsledkem jejich kompilace v obrazovém souboru systému Smalltalk.
Dne 13. května 2014 byl vydán zdrojový kód pro Scratch 2.0 pod licencí GPLv2 [6] .
Na základě zdrojového kódu Scratch 1.4 byla vytvořena řada jazykových úprav [7] , jako například:
Vyvinutý na univerzitě v Berkeley . Hlavním jazykovým rozšířením, které bylo představeno v BYOB, byla schopnost vytvářet kompozitní vlastní bloky – analoga postupů konvenčních programovacích jazyků . Jsou podporovány výrazy rekurze , uzávěry a lambda . Přidaný je také debugger a schopnost kompilovat spustitelné soubory, vnořené sprity, vícerozměrné seznamy, vylepšené posouvání a kompilace spustitelných souborů. Počínaje verzí 3.1 přidal BYOB podporu pro OOP - BYOB sprity nyní umožňují dědění na základě prototypů . Za tímto účelem jazyk zejména zavedl mechanismus pro klonování skřítků.
Panther - rozšiřuje Scratch o podporu pro správu sprite drag-n-drop , schopnost klonovat sprity (objekty) a subsystém CYOB (který stejně jako BYOB umožňuje vytvářet vlastní bloky příkazů, ale vyžaduje znalost jazyka Squeak pro toto (moderní dialekt Smalltalk , ve kterém psaný Scratch a jeho modifikace).
BYOB i Panther zahrnují podporu mechanismu mesh [14] , který umožňuje škrabacím programům interagovat po síti pomocí sdílených proměnných a posílat zprávy vysílání.
Slash rozšiřuje možnosti BYOB 3.0 o nové schopnosti Panther: klonování a přetahování spritů (objektů).
V roce 2008 vyvinul Massachusetts Institute of Technology také výukový programovací jazyk StarLogo TNG [15] , který rozšiřuje možnosti systému StarLogo o možnosti 3D grafiky a vizuální blokový programovací jazyk podobný škrábancům. Na rozdíl od původního OpenStarLogo [16] a MIT Scratch není StarLogo TNG v současnosti softwarovým produktem s otevřeným zdrojovým kódem.
V únoru 2011 byla vydána první online beta verze Scratch 2.0 [17] , která má podle plánu obsahovat některé funkce BYOB (jako je tvorba vlastních procedur), vektorová grafika, klonování sprite, možnost skupinové práce na projektech , atd. Betaverze byla oficiálně vydána 9. května 2013.
Scratch 3.0 je třetí a aktuální hlavní verze Scratch. Jedná se o kompletní přepracování a reimplementaci Scratch napsané v HTML5 a JavaScriptu . Má nový, moderní vzhled a design. Je kompatibilní s mnoha mobilními zařízeními a nevyžaduje Flash. Vydáno 2. ledna 2019.
App Inventor , experimentální vizuální programovací systém pro platformu Android , se stal dalším programovacím prostředím, které využívá skládání vizuální logiky ve stylu mozaiky .
Přímější obdobou jazyka Scratch na Androidu je jazyk Catroid, který je vyvíjen v Institutu softwarových technologií Technické univerzity v Grazu v Rakousku [18] .
V sociálních sítích | |
---|---|
Tematické stránky | |
V bibliografických katalozích |
|
Programovací jazyky | |
---|---|
|