Scratch (język programowania)
Autor | MIT Media Lab – Lifelong Kindergarten Group |
---|---|
Pierwsze wydanie | 2003 |
Aktualna wersja stabilna | 3.0 (2 stycznia 2019) [±] |
Platforma sprzętowa | PC |
System operacyjny | (Windows, macOS 10.13[1]) |
Rodzaj | język programowania i środowisko programistyczne |
Licencja | MIT |
Strona internetowa |
Scratch – interpretowany wizualny język programowania. Został zaprojektowany przez Mitchela Resnicka (m.in. pomysłodawcę serii zabawek Lego Mindstorms i twórcę języka StarLogo), jest rozwijany przez zespół pracujący w Lifelong Kindergarten Group w MIT Media Lab.
Nazwa programu
[edytuj | edytuj kod]Nazwa języka wywodzi się z turntablizmu, czyli techniki miksowania muzyki (tworzenia tzw. skreczy) przez hip-hopowych didżejów.
O Scratchu
[edytuj | edytuj kod]Scratch to edukacyjny język wizualny, stworzony jako środek do nauczania dzieci i młodzieży (od 8 lat wzwyż) podstaw programowania komputerów oraz środowisko programistyczne służące do tworzenia i uruchamiania programów w tym języku. Scratch umożliwia tworzenie interaktywnych historyjek, animacji, gier, muzyki. Programowanie odbywa się w sposób wizualny – elementy języka mają kształt puzzli, a poprzez przeciąganie mogą być układane w określonym porządku. W ten sposób tworzy się kod przypisany określonemu obiektowi. Obiekty mogą reagować na zdarzenia zewnętrzne. Wygląd postaci przypisanych do obiektów można wybierać z zasobnika, tworzyć lub importować z zewnątrz.
Scratch to także społecznościowy serwis, pozwalający na umieszczanie stworzonych w tym języku programów, dyskutowanie o nich oraz oglądanie i „remiksowanie” (edytowanie) prac stworzonych przez innych użytkowników tego serwisu.
Na podstawie otwartego kodu źródłowego wersji 1.4 zbudowano pochodne Scratch[2], wprowadzające zwykle dodatkowe bloki[3] lub zmiany w interfejsie użytkownika. Niektóre pochodne, jak np. Snap!, wprowadzają bardziej znaczące zmiany do podstaw języka: funkcje pierwszoklasowe, pierwszoklasowe listy (oraz listy list), czy w pełni obiektowy paradygmat programowania umożliwiający definiowanie klas i stosowanie dziedziczenia.
Pochodna języka Scratch pod nazwą Catrobat pozwala na programowanie wizualne za pomocą urządzenia z systemem Android. Aplikacja Pocket Code umożliwia tworzenie, pobieranie i publikowanie kodu Catrobat[4]. Catrobat i Pocket Code są programami wydanymi na licencji open source.
Scratch 2.0
[edytuj | edytuj kod]W wersji 2.0 oprócz udoskonaleń dodano możliwość tworzenia procedur zwanych blokami (procedury jednak nie są typem pierwszoklasowym). Dostępna jest wersja działająca w przeglądarce internetowej w połączeniu z MIT i wersja działająca w trybie offline (Scratch 2 Offline Editor, wersja beta)[5]. Scratch 2.0 obsługuje zestaw operacji na plikach zdefiniowany w Extension Protocol, eksperymentalnym rozszerzeniu pozwalającym na komunikację Scratch’a z innymi programami. Rozszerzenie to pozwala także na komunikację z urządzeniami, np. Lego Mindstorms lub Arduino[6].
Scratch 3.0
[edytuj | edytuj kod]Scratch 3.0 został ogłoszony w 2016 roku. Wersja beta aktualizacji Scratch 3.0 została wydana 1 sierpnia 2018 r., zastępując pre-beta „preview” i jest dostępna do użytku w większości przeglądarek, z wyjątkiem Internet Explorer. Pierwsza oficjalna wersja została wydana 2 stycznia 2019 r.[7] Nazwa Scratch Offline w wersji 3.0 została zmieniona na Scratch Desktop[1].
Popularność
[edytuj | edytuj kod]Scratch od 2017 jest jednym z popularnych języków programowania (wg rankingu TIOBE z 2017 roku pozycja 20)[8]. Istnieje konwerter online pozwalający na tworzenie aplikacji na system operacyjny Android[9]. W oparciu o Scratcha stworzono część scenariuszy ogólnopolskiego programu edukacyjnego #SuperKoderzy, prowadzonego przez Fundację Orange w szkołach podstawowych.
Cenzura w innych krajach
[edytuj | edytuj kod]W sierpniu 2020 r. GreatFire ogłosił, że chiński rząd zablokował dostęp do strony internetowej Scratch. W tamtym czasie szacowano, że korzystało z niej ponad trzy miliony osób w Chinach.[potrzebne źródło] Punkt sprzedaży przytoczył fakt, że Makau, Hongkong i Tajwan były wymienione jako kraje na stronie internetowej.
Przypisy
[edytuj | edytuj kod]- ↑ a b Scratch Desktop. scratch.mit.edu. [dostęp 2019-01-05]. (pol.).
- ↑ Lifelong Kindergarten Group at the MIT Media Lab: Scratch Modification. Scratch Wiki. [dostęp 2019-01-10]. (ang.).
- ↑ Lifelong Kindergarten Group at the MIT Media Lab: Blocks. Scratch Wiki. (ang.).
- ↑ Using Catrobat, a Scratch-like visual programming language for smartphones, in a middle school physics course. [dostęp 2017-11-30].
- ↑ Scratch 2.0. en.scratch-wiki.info. [dostęp 2019-01-05]. (ang.).
- ↑ Damellis: Preliminary Scratch extension for talking to Arduino boards running Firmata. Scratch extension, GitHub. [dostęp 2019-01-05]. (ang.).
- ↑ Scratch 3.0. en.scratch-wiki.info. [dostęp 2019-01-05]. (ang.).
- ↑ Warto poznać nowe języki: Swift, Go i Scratch. www.dobreprogramy.pl. [dostęp 2017-11-26]. (pol.).
- ↑ Scratch to an Android app on Scratch. scratch.mit.edu. [dostęp 2017-11-26].
Linki zewnętrzne
[edytuj | edytuj kod]- Scratch – strona domowa (pol. • ang.)
- Snap! – strona domowa (ang. • pol.)