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