Scratch (język programowania)

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj
Scratch
język programowania i środowisko programistyczne
Logo Scratch
Logo programu
Autor MIT Media Lab - Lifelong Kindergarten Group
Platforma sprzętowa PC, Mac , Linux
System operacyjny (Windows, Mac OS X Linux)
Pierwsze wydanie 2006
Aktualna wersja stabilna 1.4 i 2.0 (09.05.2013 r.)
Licencja MIT
Commons Multimedia w Wikimedia Commons
Strona internetowa

Scratchinterpretowany 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 mały 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 obiektowy, stworzony jako środek do nauczania dzieci i młodzieży (od 8 lat wzwyż) podstaw programowania oraz środowisko programistyczne służące do tworzenia i uruchamiania programów w tym języku. Scratch umożliwia łatwe 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 każdemu na umieszczanie stworzonych w tym języku programów, dyskutowanie o nich oraz oglądanie i pobieranie prac stworzonych przez innych użytkowników tego serwisu. Strona jest dostępna w języku polskim.

Scratch'a można pobrać bezpłatnie z działu download na stronie domowej programu.

Na podstawie otwartego kodu źródłowego wersji 1.4 zbudowano szereg pochodnych Scratch[1], wprowadzających zwykle dodatkowe bloki[2] 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.

Scratch 2.0[edytuj | edytuj kod]

Okno Scratcha 2.0 po uruchomieniu programu.

W wersji 2.0 oprócz wielu udoskonaleń dodano możliwość tworzenia procedur zwanych blokami (procedury jednak nie są typem pierwszoklasowym). Obecnie jest dostępna 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). 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[3].

Przypisy

  1. Lifelong Kindergarten Group at the MIT Media Lab: Scratch Modification. Scratch Wiki.
  2. Lifelong Kindergarten Group at the MIT Media Lab: Blocks. Scratch Wiki.
  3. Damellis: Preliminary Scratch extension for talking to Arduino boards running Firmata. Scratch extension, GitHub.

Linki zewnętrzne[edytuj | edytuj kod]

Kod programu
Efekt działania programu: figura Lissajous
Przykładowe okno z projektem w wersji 2.0