Naarmu | |
---|---|
Semantiikka | tapahtumalähtöinen |
Kieliluokka | graafinen , opettavainen |
Toteutustyyppi | tulkki |
Esiintyi | 2007 |
Tekijä | Mitchell Resnick _ _ _ |
Kehittäjä | MIT Media Lab |
Tiedostotunniste _ | .sb , .sb2 , .sb3 |
Vapauta | 3.29.1 (27. helmikuuta 2022 ) |
Tyyppijärjestelmä | dynaaminen |
Tärkeimmät toteutukset | Naarmu |
Murteet | Napsahtaa! |
Vaikutettu | Logo , Smalltalk , HyperCard, StarLogo , AgentSheets, Etoys, Tweak |
vaikutti | Napsahtaa! , AppInventor , Catrobat |
Lisenssi | muokattu BSD-lisenssi [d] |
Verkkosivusto | scratch.mit.edu |
OS | Windows , macOS , HTML |
Mediatiedostot Wikimedia Commonsissa |
Scratch ( englanniksi Scratch , IPA [ s k r æ ʧ ]) on lapsille ja nuorille luotu visuaalisten lohkojen tapahtumalähtöinen ohjelmointiympäristö . Nimi tulee sanasta scratching , tekniikasta, jota käyttävät hip-hop-DJ:t, jotka pyörittävät vinyylilevyjä käsillään edestakaisin sekoittaakseen musiikkiteemoja [1] .
Se luotiin jatkoksi logokielen ja Lego -konstruktorin ideoille . Scratch 1.4 on kirjoitettu Squeak -kielellä , 2.0 ja 3.0 keskittyvät verkkotyöhön. Scratch 2.0 on kirjoitettu uudelleen Flashiin ja ActionScriptiin . Scratch 3.0 (nykyinen versio) on parannettu versio Scratch 2.0:sta, ja se on tehty HTML5 :llä WebGL -moottorin avulla, mikä mahdollistaa sen käytön mobiililaitteissa ja tableteissa . Scratchia kehittää pieni lasten ohjelmoijatiimi [2] Massachusetts Institute of Technologyssa . Nykyinen versio on Scratch 3.0, julkaistu tammikuussa 2019. Vuonna 2008 Scratch siirrettiin Arduino - mikrokontrollerimoduuliin . Projekti on nimeltään S4A [3] .
Scratch-ohjelmat koostuvat grafiikkalohkoista, joiden kuvatekstit riippuvat käyttöliittymälle valitusta kielestä. Yksi 50 käyttöliittymäkielestä voidaan valita, mukaan lukien venäjä . Käyttöliittymän liittämiseen uudella kielellä käytetään tavallisia gettext -tiedostoja .
Scratch - ohjelman pääkomponentit ovat sprite - objektit . Sprite koostuu graafisesta esityksestä – joukosta kehyspukuja ( eng . costume ) ja käsikirjoituksesta . Sprite-asujen muokkaamista varten scratchiin on sisäänrakennettu grafiikkaeditori ( englanniksi Paint Editor ) . Scratch-ohjelman toiminta tapahtuu 480 × 360 (ehdollisen) pikselin kokoisella lavalla ( englanniksi näyttämöllä ) , jonka koordinaattikeskus on kohtauksen keskellä.
Scratch-skriptien ohjelmointiin käytetään vedä ja pudota -menetelmää: lohkopaletin lohkot vedetään komentosarjaalueelle.
Toiminnallisen tarkoituksen mukaan lohkot on jaettu 10 ryhmään, jonka väri osoittaa lohkon kuulumisen tiettyyn ryhmään.
Ryhmä | Englantilainen nimi | Väri | Merkintä |
---|---|---|---|
Liikenne | Liike | Sininen | ohjaa spriten liikettä (ei koske taustalla) |
Ulkomuoto | näyttää | violetti | hallita spriten ulkonäköä |
Ääni | Äänet | vaaleanpunainen | hallita spriten ääntä |
Kehitys | Tapahtumat | keltainen | tarkistaa tapahtumia, lähettää signaaleja kaikille spriteille |
Ohjaus | ohjata | keltainen | ohjausrakenteet, tapahtumakäsittelijän otsikot |
Anturit | aistiminen | sininen | kyselyn syöttölaitteet, ajastin ja osallistujan nimi |
Operaattorit [4] | Operaattorit | vaaleanvihreä | aritmeettis-loogiset operaatiot |
Muuttujat | Muuttujat | punainen ja oranssi | osio muuttujien ja luetteloiden käsittelyä varten |
Muut lohkot | Minun lohkoni | vaalea pinkki | muuntaa lohkojen yhdistelmän yhdeksi lohkoksi, mikä yksinkertaistaa koodia,
tai yksinkertaistaa henkilökohtaisen lohkosi luomista |
Lisätä
Laajennukset |
Laajennukset | vihreä | laajentaa Scratchin mahdollisuuksia. Laajennuksia on erilaisia, kuten musiikki, kynä, videontunnistus, teksti puheeksi , kääntäjä , Makey Makey , micro:bit , LEGO MINDSTORMS EV3 ja LEGO Education WeDo 2.0 |
Monissa lohkoissa on muokattava valkoinen kenttä scratch-ohjelmoijan syöttämille parametreille.
Lohkoja on kolmenlaisia : pinolohkot , otsikkolohkot ja linkkilohkot .
Pinolohkoissa (suurin osa lohkoista) ( eng. Stack Blocks ) on yläosassa lovi ja alareunassa reunus, joiden avulla ne yhdistetään lohkojen ryhmään nimeltä pino . Pinoja voidaan kopioida ja siirtää yhtenä kappaleena. Erityinen pinolohkot ovat ohjausrakenteita, kuten silmukoita – ne ovat C-muotoisia ja voivat kattaa sisäkkäisen pinon raaputuslohkoja.
Otsikkolohkoissa ( kutsutaan myös hatuiksi) on kupera yläreuna ja alareunaan liitettävä reunus - ne muodostavat naarmupinojen otsikot. Otsikkolohkot sisältävät " kun ..." - lohkot " Control "-ryhmästä, jotka mahdollistavat viestien käsittelijöiden järjestämisen: ulkoiset - näppäimistöstä ja hiirestä ja sisäiset - välittyvät spritien välillä ja mahdollistavat olio-ohjelmoinnin smalltalk - tyylillä.
Linkkilohkot ( eng. Reporters ) on tarkoitettu täyttämään muiden lohkojen sisäisiä kenttiä.
Scratch-kieli (kuten Logo ) toimii numeroiden, tekstijonojen, boolean-arvojen ja luetteloiden kanssa, jotka toimivat dynaamisten taulukoiden roolissa.
Vaikka scratch-ohjelmien arkkitehtuuri joukon Scratch-sprittejä, jotka vaihtavat tapahtumia keskenään, muistuttaa oliopohjaista , Scratch ei ole oliokieli: sillä (ei muodossa) on periytymismekanismeja (uusimmissa versioissa ). laajennetusta BYOB-raaputusmurteesta, prototyypin periytyminen ).
Version 0.18.1 julkaisun jälkeen Scratch-lähdekoodi avattiin Scratch Source Code License -lisenssillä - joka on yksinkertainen copyleft - lisenssi, joka sisältää lisärajoituksia alkuperäisten tavaramerkkien käyttämättä jättämiselle (lievemmässä muodossa tällaiset rajoitukset sisältyvät, esimerkiksi PHP-lisenssissä ).
Koodi voidaan ladata viralliselta sivustolta [5] . Sen käyttö- ja jakeluehdot ovat seuraavat:
*(lue muistiinpanot)
Jaettu lähdekoodi täyttää jo nämä ehdot: logo ja sprite kissalla on korvattu siinä ja koodi Scratch-projektin sivustolle tallentamisesta on poistettu.
Koska Scratch (1.4) on kuitenkin kirjoitettu Squeak -kielellä , pääsy sen lähdekoodiin on olemassa ilman, että sitä nimenomaisesti tarjotaan käyttäjälle - ne tallennetaan yhdessä käännöstulosten kanssa Smalltalk-järjestelmän kuvatiedostoon .
Scratch 2.0:n lähdekoodi julkaistiin 13. toukokuuta 2014 GPLv2 -lisenssillä [6] .
Scratch 1.4 -lähdekoodin perusteella on luotu useita kielimuutoksia [7] , kuten:
Kehitetty Berkeleyn yliopistossa . Pääasiallinen BYOB:n kielilaajennus oli kyky rakentaa mukautettuja komposiittilohkoja – perinteisten ohjelmointikielten menetelmien analogia . Rekursio- , sulkemis- ja lambda-lausekkeet ovat tuettuja . Lisätty on myös debuggeri ja kyky kääntää suoritettaviksi, sisäkkäisiksi spriteiksi, moniulotteisiksi luetteloiksi, parannettu vieritys ja suoritettavien tiedostojen kääntäminen. Versiosta 3.1 alkaen BYOB lisäsi tuen OOP -BYOB-spriteille, jotka sallivat nyt prototyyppiin perustuvan perimisen . Tätä varten kieli erityisesti esitteli mekanismin spritien kloonaamiseksi.
Panther - laajentaa Scratchia tukemalla drag-n-drop sprite-hallintaa, mahdollisuutta kloonata spritejä (objekteja) ja CYOB-alijärjestelmää (joka, kuten BYOB, mahdollistaa omien komentolohkojen luomisen, mutta vaatii Squeak -kielen tuntemusta tätä varten (moderni Smalltalkin murre , jossa Scratch on kirjoittanut ja sen muunnelmat).
Sekä BYOB että Panther sisältävät tuen mesh [14] -mekanismille , jonka avulla scratch-ohjelmat voivat olla vuorovaikutuksessa verkon yli käyttämällä jaettuja muuttujia ja lähettämällä lähetysviestejä.
Slash laajentaa BYOB 3.0:n ominaisuuksia uusilla Panther-ominaisuuksilla: kloonaamalla ja vetämällä spritejä (objekteja).
Vuonna 2008 Massachusetts Institute of Technology kehitti myös opetusohjelmointikielen StarLogo TNG [15] , joka laajentaa StarLogo- järjestelmän ominaisuuksia 3D-grafiikkaominaisuuksilla ja naarmumaisella visuaalisen lohkon ohjelmointikielellä. Toisin kuin alkuperäinen OpenStarLogo [16] ja MIT Scratch, StarLogo TNG ei ole tällä hetkellä avoimen lähdekoodin ohjelmistotuote.
Helmikuussa 2011 julkaistiin Scratch 2.0 :n ensimmäinen online -betaversio [17] , jonka on suunniteltu sisältävän joitain BYOB:n ominaisuuksia (kuten mukautettujen toimintojen luominen), vektorigrafiikkaa, sprite-kloonausta, mahdollisuuden ryhmätyöskentelyyn projekteissa. jne. Beta-versio julkaistiin virallisesti 9. toukokuuta 2013.
Scratch 3.0 on Scratchin kolmas ja nykyinen pääversio. Tämä on HTML5 :llä ja JavaScriptillä kirjoitetun Scratchin täydellinen uudistus ja uudelleentoteutus . Siinä on uusi, moderni ilme ja muotoilu. Se on yhteensopiva monien mobiililaitteiden kanssa eikä vaadi Flashia. Julkaistu 2.1.2019.
App Inventor , kokeellinen visuaalinen ohjelmointijärjestelmä Android- alustalle , on tullut toinen ohjelmointiympäristö, joka käyttää mosaiikkityylistä visuaalisen logiikan pinoamista .
Androidin Scratch-kielen suorempi analogi on Catroid-kieli, jota kehitetään Grazin teknillisen yliopiston ohjelmistotekniikan instituutissa Itävallassa [18] .
Sosiaalisissa verkostoissa | |
---|---|
Temaattiset sivustot | |
Bibliografisissa luetteloissa |
|
Ohjelmointikielet | |
---|---|
|