» «

מתכנתים

מתכנת
איך עובד המתכנת?



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

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


הנה מתכנתים בחברות סטרטאפ שעובדים ביחד:

http://youtu.be/iAyfMSmxKoQ


זה פירושו של קוד תוכנה:

http://youtu.be/cKhVupvyhKk


וכמה חשוב הוא קוד תוכנה:

http://youtu.be/QdVFvsCWXrA
ניפוי שגיאות באמצעות ברווז גומי
איך מנפים שגיאות באמצעות ברווז גומי?



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

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

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

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

השיטה נקראת גם "מבחן ברווז הגומי" או "בִּירווּז", על משקל תכנות. היא יעילה ותורמת גם לתיעוד יעיל של התוכנה או המכשיר, לצורך כתיבת חוברת למשתמש או להוראתה. בדיקת שגיאות תוך היעזרות בברווז גומי מקבילה לבדיקה של הקוד על ידי עמיתים (שיטה שנקראת "Code Review") ולשיטה שבה מסביר המתכנת את הקוד למתכנת עמית (Software Walkthrough).


הנה סרטון על הבירווז - ניפוי השגיאות בעזרת ברווז גומי:

https://youtu.be/SJC5DAfCrHY


סיפור הניפוי של השגיאות באמצעות ברווז הגומי:

https://youtu.be/huOPVqztPdc


כך מנפים את השגיאות בעזרת ברווז גומי:

https://youtu.be/m4_depGYVkM
ביצת פסחא (מחשבים)
מה למתכנתים ולביצי פסחא?



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

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

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

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

נסו דוגמה לאיסטר אג בגוגל תרגום:
הדביקו בגוגל טרנסלייט את הרצף הבא:
pv zk pv pv zk pv zk kz zk pv pv pv zk pv zk zk pzk pzk pvzkpkzvpvzk kkkkkk bsch
ואז בחרו תרגום מגרמנית לגרמנית ולחצו על אייקון הרמקול הקטן שישמיע את התוצאה.


הנה ביצי הפסחא הגדולות של משחקי המחשב:

https://youtu.be/sirz0TnTje4


של גוגל:

https://youtu.be/tqTXSf9c1Mk


וביצי הפסחא של יוטיוב:

https://youtu.be/9VALNEwPpl0
CodeMonkey (משחק תכנות)
מהן סביבות לימוד התכנות לילדים?



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

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

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

ממש כמו בשפת הלוגו ההיסטורית, גם כאן נכתב הקוד באנגלית בסיסית, עם הוראות דוגמת turn to, step, right, left. ניתן לכתוב מהמקלדת או לבחור מילים מהמקרא שבתחתית המסך. כך התלמיד לומד לעבוד בסביבת פיתוח שמזכירה את הסביבות של המבוגרים ועדיין מקבל סיוע, שדומים לו יש למען האמת גם בסביבות פיתוח בעולם האמיתי.


האתר קוד מונקי המיועד לגיל בית ספר יסודי, מכיתה ג' ומעלה:

https://youtu.be/fXcPjdNKJdY


ומדריך ילד שמלמד:

https://youtu.be/PZFqt3KCRdk


הנה סביבת לימוד התכנות עם האובייקטים סקרץ' (Scratch) שמתאימה גם לגיל הרך:

https://youtu.be/CCaBCMADwls


וסביבת הלימוד Tynker המתחרה בה ושולטת גם בחומרה ובשפת Java Script:

https://youtu.be/XIC9tY-zkXE


אֵאוּרִיקַה - האנציקלופדיה של הסקרנות!

העולם הוא צבעוני ומופלא, אאוריקה כאן בשביל שתגלו אותו...

אלפי נושאים, תמונות וסרטונים, מפתיעים, מסקרנים וממוקדים.

ניתן לנווט בין הפריטים במגע, בעכבר, בגלגלת, או במקשי המקלדת

בואו לגלות, לחקור, ולקבל השראה!

אֵאוּרִיקַה - האנציקלופדיה של הסקרנות!

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