רעננו את הדף והקליקו למעבר לנושא הבא:

מבוא

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

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

מה זה נותן ?! – העמקה של התפיסה הלוגית, הבנה כיצד אלגוריתם עובד, שיפור הבנה במתמטיקה ואנגלית, הנאה ותוספת של פעילות משותפת של הורה וילד, וגם נושאים לשוחח עליהם בזמן שעושים ריצה או הליכה במושב. למעמיקים, קיימות אפשרויות להתקדם בפרויקטים כמו מגשימים שהוא פרויקט סייבר לאומי או לעסוק בתחום בצבא וכן להתקדם בתחום של Machin learning, Data science, Deep learning וכל מה שיהיה חשוב ואופנתי בעתיד, אפילו לעסוק בזה לפרנסה.

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

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

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

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

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