חפש בבלוג זה

יום שלישי, 21 ביוני 2022

איך בכלל הגעתי לעסוק במחשבים?

איך בכלל הגעתי לעסוק במחשבים?


 
הספר הזה הוא הספר שבעזרתו התחלתי את חלקי
בעולם התכנות  

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

 

 

 

 

 שפת התכנות  PL/1  שכבר נשכחה מזמן והוחלפה בדורות רבים של שפות תכנות הייתה "שפת האם" התכנותית שלי,  היא גם הייתה השפה שבה כתבתי את מרבית הקוד שכתבתי בהיותי בחיל האוויר, ובכלל.   כמו כל דבר בחיים הגעתי לתכנות במקרה, כאשר בכלל בתכנון היה לעשות משהו אחר (ראו בסוף הסיפור).  

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

ד"ר שלמה הורוביץ, מרכז החיבור השנתי בריאלי.
הבדיחה המרושעת עליו הייתה שהוא השתתף במלחמת עמלק. 


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

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


הכרטיס המנוקב היה הדרך לתקשר עם המחשב.  הוא כלל 80 עמודות כאשר
עמודות 73-80 נועדו לספרור 


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

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

דה

לעבודה צורף גם קוד המקור של כל התכניות.  הנה דף מתוך העבודה. הדפוס כבר דהה עם השנים  



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


העבודה נכרכה בכריכה עבה - וכך היא נראתה 


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

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



ומה קרה אחר כך?

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

למדתי שנה מתמטיקה בטכניון, ולאחר שצה"ל לא היה מעוניין לקבלאותי לעתודה האקדמית הגעתי לקורס תכנות בממר"מ,  ובעברי לתל-אביב עברתי ללמוד בחוג לפילוסופיה עם התמחות בנושאי לוגיקה.  בשנה שלמדתי בטכניון היה קורס שנקרא "תכנות 1"  שהיה אז גם הוא בשפת  PL/1.  בתחילת הקורס ניגשתי למרצה ואמרתי לו שאני יודע את השפה היטב, אמר לי שאם אני מוכן לקחת את הסיכון ולגשת רק לבחינה הסופית, הוא פוטר אותי מנוכחות, והגשת תרגולים.  באתי בשיעור החזרה למבחן כדי לראות מה למדו,  וקבלתי במבחן  98.   גם בקורס התכנות בממר"מ אחת השפות שנלמדו הייתה PL/1   וגם שם באתי למדריך ואמרתי לו שאני שולט היטב בשפה, ענה לי: "תמיד יהיה לך מה ללמוד".   למדתי שאני יודע את השפה טוב ממנו, וכשנחה עלי הרוח תיקנתי לו שגיאות,  הוא נטה לא להאמין לי, אבל בהפסקה בדק בספר וגילה שאני צודק.  כתבתי כבר על כך שבבחינה הסופית הוא נתן לי את הציון 64 על בסיס 16.   כתבתי בשירותי הצבאי עשרות אלפי שורות קוד, ובאיזה שהוא שלב החלטתי שמיציתי את עצמי בתכנות, ואני רוצה להתקדם לכיוונים אחרים.

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

 זאת תהיה תבנית חוזרת בחיים:  תמיד מה שקורה במציאות הוא תוצר של 

PLAN B     (או C או  D).

לעיתים בתכנית טלוויזיה צריך למצוא מנחה חליפי, ולעיתים
לחיבור השנתי צריך למצוא מנחה חליפי בנושא בלתי מתוכנן מראש 



 

אין תגובות:

הוסף רשומת תגובה