Scratch

סקראץ' היא סביבת פיתוח המיועדת להוראת תכנות בעיקר ילדים בגיל 8 עד 16. בסביבת פיתוח זו יוצרים ממשק משתמש גרפי (GUI) הנעזר בדמויות ובלוגיקה. בסביבה לא כותבים קוד אלא גוררים ומשחררים באופן חזותי "בלוקים", צורות ובהן בדרך כלל הוראה לדמות, ומסדרים אותם זה אחר זה, וכך יוצרים תסריט לדמות. כל בלוק מייצג פקודה או מספר פקודות בתכנות. סביבת הפיתוח כוללת את האפשרויות לקבל עזרה בנוגע לכל הוראה או פעולה באנגלית, להוסיף הערה ולהצמיד אותה להוראה כלשהי, לצייר, להקליט או לייבא מהמחשב דמות, רקע או צליל באמצעות כלי ציור בסיסיים או מיקרופון, לשנות את הרקע תוך כדי הפעלת התוכנית בעזרת תסריטים, ולשנות את שמות הדמויות. לסביבת הפיתוח עצמה מתלווים גם קובצי תמונות של דמויות ורקעים וגם צלילים. התחלת פיתוח סקראץ' החלה בסביבות 2003, על ידי מעבדת המדיה של MIT בראשות מיטשל רזניק. המטרה הייתה ליצור קידוד, שקל לילדים ומתחילים ליצור איתו פרויקטים, ללא הרבה למידה, ועם שילוב היצירתיות. הקרן הלאומית למדע, העניקה מענקים למיטשל רזניק ויסמין כפאי בשביל לפתח את סקראץ'. ב-15 במאי 2007, סקראץ' 1.0 הושק. העורך של סקראץ' 1.0 לא היה מקוון, ולא נכלל באתר אינטרנט. משתמשים יכלו לשתף פרויקטים לאתר דרך העורך הלא מקוון, ואחרים יכלו להגיב על עליהם. בהתחלה, דף הבית היה בנוי עם כמהה שורות שונות של פרויקטים: פרויקטים מומלצים, פרויקטים אהובים, פרויקטים בהפתעה, הפרויקטים החדשים ביותר ועוד מספר שורות עם פרויקטים אחרים. תוספות בין הגרסאות: בגרסאות 1.1 ו1.2 שוחררו בלוקים חדשים. בגרסה 1.4, שוחרר בלוק "שאל __ והמתן", והשתדרג מסך הטעינה של הפרויקטים. בגרסה 2.0, סקראץ' החלו לערב פלאש בפרויקטים במהלך השנה לאחר פרסום 2.0, הוחלט לבחור "מנחי קהילה". מנחי הקהילה, הם סקראצ'רים שפועלים למען קהילת סקראץ', מנהלים את האתר אך הם לא מצוות סקראץ'. תסריטים מיוצגים בסביבת העבודה על ידי בלוקים שמזכירים במידת מה תרשים זרימה. גם פסוקיות בשפה מיוצגות בצורה חזותית. ישנן מספר צורות של בלוקים, ולכל צורה יש משמעות. אלו הצורות (הקווים התחתיים מסמלים מקום בו בוחרים אפשרות מתוך מאגר אפשרויות מתאים או כותבים באופן חופשי): מלבן מפעיל (מלבן שבצלעו העליונה יש צורת גל) - כל הוראה בצורה זו היא התחלה של תסריט וגורמת לו לפעול. לדוגמה: "כאשר נלחץ מקש __". מלבן פקודה - כל הוראה רגילה. לדוגמה: "זוז __ צעדים" (בתוכנה זו, צעד הוא כמות כלשהי של פיקסלים במסך המחשב). לולאות (מעין צורה של האות כ) - כל סוג של לולאה, כלומר חזרה על הפעולות שבתוך הצורה. לדוגמה: "לעולמים". ערכים (אליפסה) - ערך מספרי או מילולי. לדוגמה: "מיקום על ציר Y". תנאים (משושה) - תנאי ששמים במקום המיועד לכך בתוך צורה אחרת. יכול להוציא נכון (True) או לא נכון (False). לדוגמה: "מיקרופון רועש?". עצירת המשך התסריט - בלוקים כגון "לעולמים", "עצור הכל", הם בלוקים ללא מקום לחיבור בלוק חדש אחריהם. הבלוקים מחולקים ל-9 קבוצות. כל בלוק מותאם בצבעו לקבוצה לה הוא שייך. להלן הקבוצות וצבען: תנועה: בקבוצה זו נמצאים כל הבלוקים הקשורים לנקודה בה נמצאת הדמות והכיוון אליו הוא פונה. לדוגמה: "הסתובב __ מעלות נגד כיוון השעון". את קבוצה זו מייצג הצבע כחול. מראה: בקבוצה זו נמצאים כל הבלוקים הקשורים למראה הדמות, למה שהוא חושב או אומר ולגודלו. לדוגמה: "אמור __ למשך __ שניות". את קבוצה זו מייצג הצבע סגול. צלילים: בקבוצה זו נמצאים כל הבלוקים הקשורים לצלילים המופקים עקב פעולה כלשהי של הדמות. לדוגמה: "הפסק את כל הצלילים". את קבוצה זו מייצג הצבע ורוד. אירועים: תבניות התחלה שצורתן מלבן שבקצהו העליון גל, כמו "כאשר לוחצים על הדגל". את הקבוצה הזאת מייצג צבע צהוב. בקרה: בקבוצה זו נמצאים כל הבלוקים שקשה לשייך לקבוצות אחרות. לדוגמה: "חכה __ שניות" (הקו התחתי מייצג ערך מספרי או מילולי שכותבים בתוך המקום). את קבוצה זו מייצג הצבע כתום. חיישנים: בקבוצה זו נמצאים כל הבלוקים הקשורים לקבלת מידע ממפעיל התוכנית, וכל הבלוקים הקשורים למגע ולמרחק בין הדמות לדבר מה. לדוגמה: "המרחק אל __" (בתור ערך מספרי). את קבוצה זו מייצג הצבע תכלת. מפעילים: בקבוצה זו נמצאים כל הבלוקים הקשורים לערכים מספריים שאינם קשורים לקבוצה אחרת. לדוגמה: "__ + __" (בתור ערך מספרי). את קבוצה זו מייצג הצבע ירוק בהיר. משתנים: בקבוצה זו נמצאים כל הבלוקים הקשורים למשתנים או רשימות המשתתפים בתוכנית. צריך ליצור משתנה או רשימה וגם את ההגדרות שלה. לדוגמה: "קבע __ ל-__" (במקרה זה הקו התחתי הראשון מייצג שם של משתנה). את קבוצה זו מייצג הצבע כתום. את הרשימות מייצג הצבע כתום כהה. הלבנים שלי: בקבוצה הזאת יוצרים בלוקים חדשים. כשיוצרים לבנה אפשר להכניס בה מקום לערך מספרי או מקבוצת מפעילים. את ההגדרות של הלבנה מקבלים בצד בלוק שלמעלה גל שבתוכו הפקודה של הגל. דומה לנעלמים באלגברה. את הקבוצה הזאת מסמל צבע אדום פסטל. במסך העריכה יש 4 חלקים. אזור שבו הבלוקים נמצאים ומשם יש לגרור אותם אזור שבו בונים את הקוד אזור שבו רואים את המסך אזור הדמויות והרקעים ישנן 9 קטגוריות של בלוקים: בגרסה 3.0 נוסף אפשרות להרחבות המאפשרות להוסיף חיישן מצלמה, טקסט לדיבור ועוד. כל התוספים בצבע ירוק כהה. scratch lab מאפשר לכל הציבור להשתמש בפקודות נסיניות של סקראץ'. כיום יש 4 קטגריות בscratch lab. סקראץ' נכתבה בעזרת Squeak (מימוש של שפת התכנות Smalltalk). עד שנת 2012 קוד המקור שלה היה זמין, אך ברישיון (Scratch Source Code License) שהגביל שינויים. החל ממרץ 2012 התוכנה זמינה גם לפי תנאי רישיון ה-GPL (גרסה 2)‏. באגוסט 2020 ממשלת סין חסמה את הגישה לאתר סקראץ', באותה תקופה מעל שלוש מיליון אנשים בסין השתמשו בסקראץ'. סקראץ' ג'וניור היא תוכנה דומה לסקראץ' שמאפשרת גם למי שלא יודע לקרוא לתכנת. אתר האינטרנט הרשמי של Scratch (בשפות מרובות) מדיה וקבצים בנושא Scratch בוויקישיתוף The Journey [History Recap] | Scratch Week on Scratch Scratch, ברשת החברתית פייסבוק Scratch, ברשת החברתית אקס (טוויטר) צבעי בלוק חדשים טקסט מונפש חישת פנים דמויות וידאו Scratch Source Code License - מתוך אתר התוכנה קוד מקור - מתור אתר התוכנה Ryan Daws, China blocks MIT’s kid-friendly programming language Scratch, Developer Tech News, ‏2020-09-08 (באנגלית בריטית)