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