אבולוציה של עולם התכנות

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

1979 – (אני בן 10) – כרטיסים מנוקבים

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

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

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

1982 – מחשב אישי

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

1986 – מודם

לא אשכח את הפעם הראשונה שהתחברתי למחשב אחר בעזרת קו הטלפון הביתי. המהירות של המודם הייתה 300 baud שזה בערך 30 אותיות בשנייה (מהירות קריאה). למי ששכח ככה זה נשמע.

די מהר החלטתי להקים בבית שלי BBS (שרת מארח). שכנעתי את ההורים שלי להתקין עוד קו טלפון ובגלל שגרנו בארה"ב זה הותקן תוך יומיים וגם כמעט לא עלה כסף. הצלחתי גם להתקין תוכנת BBS (לא חוקית – סליחה!) על מחשב ה Apple IIe שלי וגם הוספתי לה יכולות אחרי שחקרתי לעומק את הקוד שלה. לא הרבה אנשים התקשרו ל BBS שלי, אולי בגלל שקראתי לו  The Police Station.


1991
– Intel 486

פתאום דברים רצים ממש מהר ואפשר להריץ (ולכתוב) תוכנות גרפיות ולהפסיק להסביר שוב ושוב להורים שצריך לעשות cd c:\wordprocessor כדי להגיע לתיקיה שממנה מפעילים את מעבד התמלילים.

1995 – אינטרנט

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

1996 – מחשב עם 1 גיגה בייט זיכרון

הוא עלה $100,000 ושמו אותו בחדר מיוחד עם אזעקה. קנו אותו כי לאחד הפרויקטים בחברה היה צורך לבצע חישובים שדרשו המון זיכרון. ב 1983 קנו לי את המחשב האישי TI 99/4A והיה לו זיכרון בגודל 16 קילו בייט (שזה קטן פי 65,536 מ 1 גיגה), והסתדרנו טוב מאד. היה דגש חזק על איך לתכנת כמה שיותר יעיל. כעבור שנתיים כבר שכב לו המחשב המפלצתי כאבן שאין לה הופכין בחדר המחשבים וכיום לכל סמארט-פון פשוט יש יותר זיכרון מאותה מפלצת יקרה.

1999 – חיפוש

ב 1995 ניסיתי לכתוב שומר מסך אבל הוא לא עבד. ישבתי שעות ודפדפתי בספרים עבי כרס בכדי למצוא מה לא עשיתי נכון. שלחתי מיילים בתפוצת נאט"ו וברית וארשה ואף אחד לא ענה לי עד שלבסוף, במקרה, פגשתי במסדרון מישהו שעזר לי לפתור את הבעיה. מהרגע שהופיעו מנועי החיפוש כמו Alta Vista ואחרי זה Google, נעלמו לי הספרים מהספרייה וכל פעם שיש לי בעיה אני פשוט רושם "?…How do I".

AltaVista

2007 – מחשב וירטואלי

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

2010 – כמה זמן לוקח לשחרר מוצר?

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

1/2012 עד 1/2017 – לקחתי הפסקה של חמש שנים מתכנות

2017 – הענן, קוד פתוח  ו stack overflow

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

 

2030 – אין לי מושג מה יקרה אבל יהיה מעניין

 

חזרה למקורות

לא חשבתי שזה יקרה לי. ב 26/12/2011 כאשר הגשתי את טופס הטיולים החתום לפקידת הקבלה התחושה שלי הייתה שימי התכנות שלי נגמרו. כשאני חושב על זה לעומק באותה נקודת זמן כשעזבתי את מיקרוסופט כבר לא תכנתי בצורה רצינית קרוב לשנתיים, לכן שעושים 1 + 1 (או יותר נכון 2 + 5) מגיעים לכך שעד סוף פברואר השנה לא כתבתי קוד רציני למעלה משבע שנים.
בסוף פברואר השנה חזרתי לעבוד בתור מתכנת בחברת סטארט-אפ קטנה עם מטרה גדולה בשם Anima Biotech. זה קרה בעיקר בגלל שביולי 2016 נמכרה החברה הקודמת שעבדתי בה (SalesPredict) לחברת eBay ואני (שעבדתי באדמיניסטרציה ובדיקות תוכנה) לא נכללתי במכירה.
אחרי שלושה חודשים של בטלה (וטיול קצר לדרום קוריאה וסין), הסתיימו להם חגי תשרי ואני התחלתי לחפש עבודה (שוב בתחום האדמיניסטרציה). אבל לא מצאתי שוב דבר שיענה על הדרישות שלי (אני די פרימדונה).
המהפך החל יום אחד כשחזרה אחת מהבנות שלי מהבית ספר ושאלה אותי האם אני רוצה להיות מנטור לקבוצה של תלמידים שהולכת להתחרות באליפות הסייבר הישראלית. זה היה נראה לי משהו נחמד ומועיל לעשות בזמן שאני מובטל. חנכתי את הקבוצה ולמרות שקבוצה לא עלתה לגמר קרה לי משהו בזמן שעבדתי איתם, נדלק אצלי מחדש ניצוץ האהבה לתכנות והגעתי למסקנה שהגיע הזמן לחזור. (דרך אגב קבוצה מבית ספר בישוב שלי זכתה במקום הראשון).
אז, לפני שבע שנים, כשעזבתי רציתי לכתוב סיפורים וכתבות ובאפריל 2012 התגשם חלום הזה כשפרסמתי כתבה במגזין בלייזר בשם "ריסטארט" ובה סיפרתי למה עזבתי את עולם ההייטק. השבוע קראתי שוב את הכתבה ובפסקה הלפני אחרונה כתובה הנבואה הבאה:
"את העבודה שלי, גבירותי ורבותי, הייתי חייב לעזוב גם כדי שאוכל שוב להרגיש כמו ילד בן 14 שהרגע הצליח לגרום למחשב להדפיס את לוח הכפל. כדי שאם אחזור פעם להנדסת התוכנה, והכסף החכם ותחושת הבטן אומרים שאחזור, אהיה לא רק מהנדס טוב יותר אלא גם אדם טוב יותר".
לתכנת זה באמת כמו לרכב על אופניים כך שדי מהר חזרתי לעניינים אבל שתי תופעות הצליחו להדהים אותי אחרי התנתקות מוחלטת של חמש שנים. הראשונה זה עולם ה Open Source (קוד פתוח) שמי שרוצה ללמוד על ההיסטוריה של הנושא מומלץ להאזין לפרק 149 של הפודקאסט עושים היסטוריה: האיש שקרא לי אידיוט – על ההיסטוריה של קוד פתוח ותכנה חופשית. העובדה שאנשים כותבים קוד ומשתפים אותו בחינם עם אחרים פשוט בלתי נתפסת.
השנייה זה האתר שאלות והתשובות Stack Overflow שלכל שאלת תכנות שיש לי אני מוצא לה תשובה תוך גג עשר דקות. אני עוד שייך לדור שהיה יושב בשירותים עם ספרים עבי כרס מנסה למצוא תשובה ללמה דברים לא עובדים לי.
הבעיה היחידה בכל האידיליה הזאת שהאנרגיה שגורמת לי לכתוב קוד בהתלהבות היא אותה אנרגיה שגורמת לי לכתוב בבלוג הזה. לכן לא כתבתי פה חודשיים כי אחרי שעות של כתיבת קוד פשוט לא נשארה לי אנרגיה לכתוב פוסטים. אני חושב שהפתרון הכי טוב הוא שאני פשוט אכתוב תוכנה שכותבת פוסטים ואשנה את השם של הבלוג ל "החיים על פי התוכנה שניר כתב". אני מיד ניגש לעבודה.