וואלה
וואלה
וואלה
וואלה

וואלה האתר המוביל בישראל - עדכונים מסביב לשעון

שבע פעמים הספידו את יוצרי התוכנה במשך השנים, האם הפעם מנכ"ל אנבידיה צודק?

מתי הורוביץ

עודכן לאחרונה: 8.4.2024 / 9:56

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

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

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

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

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

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

ההיסטוריה של יצירת תוכנה על רגל אחת

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

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

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

שנות ה-80: שפת C
בהמשך הגיע מי שהציע ליצור שפה שתוכל לעבוד מול סוגי מחשבים שונים, והמציא שתי שפות כאלה. השפות שכונו B וC היו כבר שפות שאינן תלויות בסוג המחשב, ולכל סוג מחשב היה צריך מהדר (קומפיילר), תוכנה שידעה להמיר את השפה לאסמבלי המתאים לאותו מחשב. שפות אלה אפשרו כבר לפתח מערכות הפעלה, ניהול קבצים, יצירת קשר עם חומרה נוספת כמו מדפסת, ועוד. בשנות ה- 80, השפה הזו הפכה למובילה, מי שהיה רגיל אז לחשוב באסמבלי, וחשב ללמד את ילדיו לכתוב אסמבלי, נחל גם הוא אכזבה, מאחר ותוך זמן קצר זה הפך למיותר. האם הגיעו המתכנתים אל המנוחה והנחלה?! ובכן אף פעם לא.

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

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

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

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

רבותי, ההיסטוריה חוזרת

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

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

sheen-shitof

עוד בוואלה!

הטיפול שמאריך את חייהם של חולי סרטן ריאה

בשיתוף העמותה הישראלית לסרטן ריאה

אז מה צופן לנו העתיד?

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

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

גם בראשית האינטרנט, בניית אתר הצריכה ללמוד HTML, לעצב ב-CSS ולתכנת ב-JavaScript, אבל תוך עשור הופיעו פתרונות No-Code. בהמשך זכיתי לקחת חלק גם בזה, כמפתח מוביל בחברת "אלמנטור" שעל גבי הפלטפורמה שלה פועלים כבר מעל 10% מהאתרים באינטרנט, כשלמעשה לא ייתרנו את המקצוע של בניית אתרים, אלא להיפך - העצמנו אותו. פתרונות ה-No-Code יצרו סטנדרט לפיו כל עסק חייב אתר, מה שיצר צורך גדול יותר לאנשי מקצוע שמבינים את הדקויות והפתרונות המתאימים ביותר.

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

אז כדאי או לא כדאי ללמוד קוד?

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

1. הבינה המלאכותית עדיין מוגבלת

יוצרי המתכנת המלאכותי Devin, שכביכול מייתר את יוצרי התוכנה, בעצמם מפרסמים משרות פיתוח. כנראה ש-Devin מנסה לבצע משימות פיתוח, ומה שהוא לא מצליח עובר למפתחים האנושיים. לדבריהם הוא מצליח בכ-15% מהמשימות, אך יש עדיין 85% מהמשימות להן נדרש יוצר תוכנה אנושי.

2. פיתרון No-code מצריך מאחוריו אנשי קוד

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

3. יצירת ביקוש חדש

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

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



מתי הורוביץ הוא Senior AI Engineer בחברת אלמנטור, המפתחת את הפלטפורמה המובילה בעולם לבניית אתרי אינטרנט בקוד פתוח

טרם התפרסמו תגובות

הוסף תגובה חדשה

+
בשליחת תגובה אני מסכים/ה
    3
    walla_ssr_page_has_been_loaded_successfully