Scratch

סקראץ' היא סביבת פיתוח המיועדת להוראת תכנות בעיקר בקרב ילדים בגילאי 8 עד 16. בסביבת פיתוח זו יוצרים ממשק משתמש גרפי (GUI) הנעזר בדמויות ובלוגיקה. בסביבה לא כותבים קוד אלא גוררים ומשחררים באופן חזותי "בלוקים", צורות ובהן בדרך כלל הוראה לדמות, ומסדרים אותם זה אחר זה, וכך יוצרים תסריט לדמות. כל בלוק מייצג פקודה או מספר פקודות בתכנות.

סביבת הפיתוח כוללת את האפשרויות לקבל עזרה בנוגע לכל הוראה או פעולה באנגלית, להוסיף הערה ולהצמיד אותה להוראה כלשהי, לצייר, להקליט או לייבא מהמחשב דמות, רקע או צליל באמצעות כלי ציור בסיסיים או מיקרופון, לשנות את הרקע תוך כדי הפעלת התוכנית בעזרת תסריטים, ולשנות את שמות הדמויות. לסביבת הפיתוח עצמה מתלווים גם קובצי תמונות של דמויות ורקעים וגם צלילים.

 היסטוריה 
התחלת פיתוח סקראץ' החלה בסביבות 2003, על ידי מעבדת המדיה של MIT בראשות מיטשל רזניק.

המטרה הייתה ליצור קידוד, שקל לילדים ומתחילים ליצור איתו פרויקטים, ללא הרבה למידה, ועם שילוב יצירתיות. הקרן הלאומית למדע, העניקה מענקים למיטשל רזניק ויסמין כפאי בשביל לפתח את סקראץ'.

ב-15 במאי 2007, סקראץ' 1.0 הושק. העורך של סקראץ' 1.0 לא היה מקוון, ולא נכלל באתר אינטרנט. משתמשים יכלו לשתף פרויקטים לאתר דרך העורך הלא מקוון, ואחרים יכלו להגיב עליהם.

בהתחלה, דף הבית היה בנוי עם כמהה שורות שונות של פרויקטים: פרויקטים מומלצים, פרויקטים אהובים, פרויקטים בהפתעה, הפרויקטים החדשים ביותר ועוד מספר שורות עם פרויקטים אחרים.

תוספות בין הגרסאות:
 בגרסאות 1.1 ו-1.2 שוחררו בלוקים חדשים.
 בגרסה 1.4, שוחרר בלוק "שאל __ והמתן", והשתדרג מסך הטעינה של הפרויקטים.
 בגרסה 2.0, סקראץ' החלו לערב פלאש בפרויקטים
 במהלך השנה לאחר פרסום 2.0, הוחלט לבחור "מנחי קהילה". מנחי הקהילה, הם סקראצ'רים שפועלים למען קהילת סקראץ', מנהלים את האתר אך הם לא מצוות סקראץ'.

תסריטים
תסריטים מיוצגים בסביבת העבודה על ידי בלוקים שמזכירים במידת מה תרשים זרימה. גם פסוקיות בשפה מיוצגות בצורה חזותית.

צורות של בלוקים
ישנן מספר צורות של בלוקים, ולכל צורה יש משמעות. אלו הצורות (הקווים התחתיים מסמלים מקום בו בוחרים אפשרות מתוך מאגר אפשרויות מתאים או כותבים באופן חופשי):

ממוזער|250px|הגרסה העברית של סביבת הפיתוח Scratch 1.4
 מלבן מפעיל (מלבן שבצלעו העליונה יש צורת גל) – כל הוראה בצורה זו היא התחלה של תסריט וגורמת לו לפעול. לדוגמה: "כאשר נלחץ מקש __".
 מלבן פקודה – כל הוראה רגילה. לדוגמה: "זוז __ צעדים" (בתוכנה זו, צעד הוא כמות כלשהי של פיקסלים במסך המחשב).
 לולאות (מעין צורה של האות כ) – כל סוג של לולאה, כלומר חזרה על הפעולות שבתוך הצורה. לדוגמה: "לעולמים".
 ערכים (אליפסה) – ערך מספרי או מילולי. לדוגמה: "מיקום על ציר Y".
 תנאים (משושה) – תנאי ששמים במקום המיועד לכך בתוך צורה אחרת. יכול להוציא נכון (True) או לא נכון (False). לדוגמה: "מיקרופון רועש?".
 עצירת המשך התסריט – בלוקים כגון "לעולמים", "עצור הכול", הם בלוקים ללא מקום לחיבור בלוק חדש אחריהם.

קבוצות של בלוקים
הבלוקים מחולקים ל-9 קבוצות. כל בלוק מותאם בצבעו לקבוצה לה הוא שייך. להלן הקבוצות וצבען:
 תנועה: בקבוצה זו נמצאים כל הבלוקים הקשורים לנקודה בה נמצאת הדמות והכיוון אליו הוא פונה. לדוגמה: "הסתובב __ מעלות נגד כיוון השעון". את קבוצה זו מייצג הצבע כחול.
 מראה: בקבוצה זו נמצאים כל הבלוקים הקשורים למראה הדמות, למה שהוא חושב או אומר ולגודלו. לדוגמה: "אמור __ למשך __ שניות". את קבוצה זו מייצג הצבע סגול.
 צלילים: בקבוצה זו נמצאים כל הבלוקים הקשורים לצלילים המופקים עקב פעולה כלשהי של הדמות. לדוגמה: "הפסק את כל הצלילים". את קבוצה זו מייצג הצבע ורוד.
 אירועים: תבניות התחלה שצורתן מלבן שבקצהו העליון גל, כמו "כאשר לוחצים על הדגל". את הקבוצה הזאת מייצג צבע צהוב.
 בקרה: בקבוצה זו נמצאים כל הבלוקים שקשה לשייך לקבוצות אחרות. לדוגמה: "חכה __ שניות" (הקו התחתי מייצג ערך מספרי או מילולי שכותבים בתוך המקום). את קבוצה זו מייצג הצבע כתום.
 חיישנים: בקבוצה זו נמצאים כל הבלוקים הקשורים לקבלת מידע ממפעיל התוכנית, וכל הבלוקים הקשורים למגע ולמרחק בין הדמות לדבר מה. לדוגמה: "המרחק אל __" (בתור ערך מספרי). את קבוצה זו מייצג הצבע תכלת.
 מפעילים: בקבוצה זו נמצאים כל הבלוקים הקשורים לערכים מספריים שאינם קשורים לקבוצה אחרת. לדוגמה: "__ + __" (בתור ערך מספרי). את קבוצה זו מייצג הצבע ירוק בהיר.
 משתנים: בקבוצה זו נמצאים כל הבלוקים הקשורים למשתנים או רשימות המשתתפים בתוכנית. צריך ליצור משתנה או רשימה וגם את ההגדרות שלה. לדוגמה: "קבע __ ל-__" (במקרה זה הקו התחתי הראשון מייצג שם של משתנה). את קבוצה זו מייצג הצבע כתום. את הרשימות מייצג הצבע כתום כהה.
 הלבנים שלי: בקבוצה הזאת יוצרים בלוקים חדשים. כשיוצרים לבנה אפשר להכניס בה מקום לערך מספרי או מקבוצת מפעילים. את ההגדרות של הלבנה מקבלים בצד בלוק שלמעלה גל שבתוכו הפקודה של הגל. דומה לנעלמים באלגברה. את הקבוצה הזאת מסמל צבע אדום פסטל.

 מבנה 
במסך העריכה יש 4 חלקים:
 אזור שבו הבלוקים נמצאים ומשם יש לגרור אותם
 אזור שבו בונים את הקוד
 אזור שבו רואים את המסך
 אזור הדמויות והרקעים

ישנן 9 קטגוריות של בלוקים:
צבעשםשימושהערותכחולתנועהבלוקים שגורמים לדמות לזוז/להסתובבסגולמראהשולט במראה של הדמות ואומר בבועות דיבורורוד-סגולשמעמאפשר לעשות בפרויקט צלילים ומוזיקהכתום בהיראירועיםמאפשר לעשות דברים כאשר משהו יקרה (כאשר x)כתום בהיר-כההבקרהמאפשר לבקר את הפרויקט בעזרת פקודות כגון "לעולמים" ופקודות "אם אז"תכלתחיישניםמאפשר להשתמש בחיישנים וגם לשאול שאלה במהלך הפרויקטירוקמפעיליםמאפשר לבצע פעולות מתמטיות, ונותן הרחבה לתנאיםכתום כההמשתניםיצירת משתנים, משתני ענן ורשימותאין דבר כזה רשימות ענן
במשתני ענן אי אפשר לכתוב אותיותאדום-פסטלהלבנים שלימאפשר ליצור לבנה המורכבת ממספר לבנים וכך לאפשר שימוש חוזר (שגרה)חייבים להגדיר את הבלוקירוק כהההרחבותניתן להוסיף אפשרויות לשימוש במוזיקה, עט, חיישן מצלמה ועודצריך להוסיף אותם לפני השימוש בהם, בשונה מהקטגוריות האחרות

 סקראץ' לילדים 
סקראץ' נועדה בראש ובראשונה לשימושם של ילדים ובני נוער בגילאי 8–16, אם כי היא פתוחה לכל גיל. הפשטות של הממשק, השפה החזותית של הבלוקים והאפשרות ליצור במהירות פרויקטים אינטראקטיביים הופכים אותה לכלי נגיש במיוחד ללמידת עקרונות תכנות בסיסיים.

באמצעות סקראץ' ילדים לומדים לחשוב באופן אלגוריתמי ולפתח חשיבה חישובית, תוך שימוש במבנים כמו לולאות, תנאים, משתנים ואירועים – אך ללא צורך בכתיבת קוד טקסטואלי. העבודה נעשית בסביבה משחקית המזכירה יצירה באמנות או בנייה ממשחק קוביות, מה שמעודד ניסוי, טעות ופתרון בעיות עצמאי.

בנוסף, סביבת הקהילה המקוונת של סקראץ' מאפשרת לילדים לשתף את היצירות שלהם, להגיב לאחרים וללמוד זה מזה. כך נוצרת מסגרת חברתית חיובית שבה הלמידה נעשית גם דרך חיקוי ושיתוף פעולה.

מחקרים חינוכיים מצביעים על כך ששימוש קבוע בסקראץ' תורם לפיתוח כישורי יצירתיות, התמדה וביטוי אישי, לצד רכישת מיומנויות תכנותיות ראשוניות. בשל כך, סקראץ' משמשת כיום בבתי ספר, חוגים ותוכניות העשרה רבות ברחבי העולם, כחלק מהכשרה במדעי המחשב לילדים.

 יתרונות בסקראץ' 
סקראץ' מציעה לילדים סביבת למידה חדשנית המשלבת בין משחק, יצירה ולמידה עצמאית. בניגוד לשפות תכנות מסורתיות, היא מאפשרת למשתמשים להתמקד ברעיונות ובחשיבה יצירתית, מבלי להסתבך בתחביר טכני. בכך היא מהווה שער כניסה נוח לעולם התכנות ולמדעי המחשב.

אחת מיתרונותיה המרכזיים של סקראץ' היא הנגישות – כל ילד יכול להתחיל ליצור פרויקטים גם ללא ניסיון קודם. השפה החזותית מבוססת הבלוקים מציגה את מבנה התוכנית באופן ברור, ומאפשרת הבנה מיידית של הקשרים בין פעולות. הדבר מעודד למידה דרך ניסוי וטעייה ומפתח יכולות חשיבה ביקורתית.

יתרון נוסף הוא הדגש על למידה שיתופית. הקהילה המקוונת של סקראץ' מעודדת ילדים לשתף, לשפר וללמוד זה מזה, תוך חשיפה לרעיונות ולתרבויות שונות. שילוב זה של למידה טכנולוגית עם אינטראקציה חברתית יוצר תהליך חינוכי עשיר ובלתי פורמלי.

בנוסף, סקראץ' מאפשרת ביטוי אישי רחב – כל ילד יכול ליצור דמויות, עולמות וסיפורים משלו, ובכך לפתח דמיון, ביטחון עצמי ויכולת התמדה. היכולת לראות תוצאה מוחשית מיד לאחר יצירה מחזקת את המוטיבציה הפנימית ומעודדת המשך למידה.

 הרחבות 
בגרסה 3.0 נוסף אפשרות להרחבות המאפשרות להוסיף חיישן מצלמה, טקסט לדיבור ועוד.
טקסט=הרחבת ״עט״ בסקראץ|ממוזער|הרחבת "עט" בסקראץ'
כל התוספים בצבע ירוק כהה.
שם התוסףשימושהערותדרישותמוזיקהמאפשר לנגן ב-18 כלי נגינהללאעטמאפשר לצייר על המסך במהלך הפרויקטללאחיישן מצלמהמאפשר לשלוט במצלמה ובחיישנים שבהלא ניתן לצלםוגם במידה ומצליחים לבצע זו, אי אפשר לשמור את התמונה.ללאחישת פניםמאפר לזהות גודל פנים, מיקומים של איפה כל איבר ועוד.עוד לא תורגם לכל השפותללאטקסט לדיבורמאפשר לדמות לדבר ב-23 שפותשיתוף פעולה עם Amazon Web Services, לא עובד על כל השפותWiFiתרגוםמאפשר לתרגם טקסט בעזרת גוגל תרגוםשיתוף פעולה עם גוגל, לא עובד על כל השפות, וכן מכיל סינון של מילים פוגעניותWiFiMakey Makeyחיבור למכשיר Makey Makeyשיתוף פעולה עם JoyLabzללאמיקרוביטמאפשר לחבר את הפרויקט למיקרוביטשיתוף פעולה עם מיקרוביטWiFi & Bluetooth

Scratch lab מאפשר לכל הציבור להשתמש בפקודות ניסיוניות של סקראץ'. כיום יש 3 קטגוריות ב-Scratch lab.
שם באנגליתשם בעבריתשימושAnimated Textטקסט מונפשמאפשר להוסיף טקסט שמחליף צבעיםVideo Spritesדמויות וידאומאפשר למלא חלל מסוים בדמות עם המצלמה
התוסף "New Block Colors", צבעים חדשים לבלוק, אשר מאפשר לאנשי בעלי ראייה לקויה לראות טוב בעזרת ניגודיות צבעים, עבר מ-Scratch lab כתכונה ניסיונית לחלק מאתר Scratch.

 התוכנה 
סקראץ' נכתבה בעזרת Squeak (מימוש של שפת התכנות Smalltalk). עד שנת 2012 קוד המקור שלה היה זמין, אך ברישיון (Scratch Source Code License) שהגביל שינויים. החל ממרץ 2012 התוכנה זמינה גם לפי תנאי רישיון ה-GPL (גרסה 2).

 צנזורה בסין 
בשנת 2020 נחסם אתר Scratch בתחומי הרפובליקה העממית של סין. החסימה בוצעה על ידי הרשויות הסיניות לאחר שבמפות, בפרויקטים ובתיאורים שפורסמו בפלטפורמה, הופיעו אזכורים לטייוואן, הונג קונג ומקאו כמדינות נפרדות או בעלות אוטונומיה נפרדת, בניגוד לעקרון „סין אחת“ הנהוג במדינה.

בעקבות החסימה, לא ניתן עוד לגשת לאתר הרשמי של Scratch מסין ללא שימוש בכלים לעקיפת צנזורה, והגישה לשירותי הקהילה ולפרויקטים מקוונים נחסמה לחלוטין. עם זאת, גרסאות מקומיות לא מקוונות של Scratch, וכן מיזמים חינוכיים המבוססים על הקוד הפתוח שלו, ממשיכים להיות בשימוש במוסדות חינוך סיניים.

החסימה עוררה דיון בינלאומי סביב השפעת הצנזורה הסינית על חופש הביטוי, על נגישות לחומרי לימוד חופשיים, ועל ההשתתפות של ילדים ומתכנתים צעירים מסין בקהילה העולמית של Scratch.

 סקראץ' ג'וניור 

סקראץ' ג'וניור (ScratchJr) היא שפת תכנות חזותית המיועדת לילדים צעירים בגילאי 5–7, המאפשרת להם ליצור סיפורים אינטראקטיביים, משחקים ואנימציות באמצעות בלוקים של קוד. התוכנה פותחה ביוזמת קבוצת Lifelong Kindergarten במכון הטכנולוגי של מסצ'וסטס (MIT), בשיתוף אוניברסיטת טאפטס (Tufts University) ו־Playful Invention Company.

הממשק של סקראץ' ג'וניור מותאם לילדים שאינם יודעים עדיין לקרוא או לכתוב היטב. במקום לכתוב פקודות, הילדים גוררים בלוקים צבעוניים המייצגים פעולות שונות — כגון תנועה, קול, מראה ושליטה. באמצעות שילוב בין בלוקים אלו, הם יכולים לגרום לדמויות לנוע, לדבר, לשנות צבעים וליצור אינטראקציות שונות.

סקראץ' ג'וניור נוצרה בהשראת סביבת Scratch, אך תוכננה כפשוטה וידידותית יותר לילדים צעירים. המטרה של המערכת היא לעודד חשיבה יצירתית, פתרון בעיות, הבעה אישית והבנה בסיסית של עקרונות תכנותיים.

האפליקציה זמינה בחינם למכשירי טאבלט (אנדרואיד ו־iOS) וגם במחשב דרך אתרים תומכים. היא משמשת כלי חינוכי במוסדות לימוד ברחבי העולם, ונחשבת לאחת הדרכים הפופולריות ביותר להכניס ילדים קטנים לעולם התכנות בצורה מהנה ובטוחה.

קישורים חיצוניים


 The Journey [History Recap] | Scratch Week on Scratch

 הערות שוליים 

קטגוריה:שפות תכנות
קטגוריה:תוכנות שהושקו ב-2003