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