האולר השוויצרי האולטימטיבי

swiss_army_knife_thumb

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

אני עושה את זה מכל הסיבות הנ"ל, וגם בגלל שאני אוהב לתכנת.

ולפני שאתם שואלים, לא, אני לא תוצאה של ניסוי ממשלתי סודי.

איך זה התחיל, אתם רוצים לדעת?

בילדותי ניראתי מבחוץ כמו כל שאר הילדים, אבל בתוכי הסתרתי סוד אפל.

אהבתי לתכנת.

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

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

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

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

ואותו רגש פרמיטיבי, היכולת לשלוט בסביבה שלך, משך אותי לכיוון עולם המחשבים.

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

אבל יש מקום אחד שזה לא חייב להיות ככה. מציאות מקבילה שבה גם אנשים בלי הרבה כסף יכולים לשנות את הסביבה שלהם ולקבל בדיוק את מה שהם רוצים. והמציאות הזאת נקראת – "סביבת המציאות המדומה של עולם המחשבים".

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

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

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

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

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

[דוגמה לכתיבת תוכנת “שלום עולם” באסמבלר, שפת התיכנות הבסיסית ביותר]

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

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

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

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

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

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

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

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

WizardUsingComputer

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

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

[תמונה: Robin Hutton]

שתפו את הפוסט:
תגיות: , ,

זכויות יוצרים

cc88x31 תכני הבלוג המקוריים חופשיים לשימוש תחת רשיון Creative Commons מסוג ייחוס-שיתוף זהה (CC-by-share alike) (הרשיון באנגלית, עברית), אלא אם צוין אחרת.

התגובות המתפרסמות בבלוג חופשיות גם הן לשימוש תחת רשיון Creative Commons מסוג ייחוס-שיתוף זהה (CC-by-share alike). אם אינכם מעוניינים שתגובותיכם יקבלו רשיון זה – אל תגיבו כאן.

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

השארו מעודכנים

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

RSS Feed RSS - פוסטים RSS Feed RSS - תגובות

אודות האתר

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

ערן הרץ הוא היוצר של VoiceOfLogic. מתגורר בהוד השרון ועובד בתחום ההיטק בפיתוח ווב.