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