• בלוג
  • C++
  • שתי דרכים ללמוד (וללמד) תכנות מאפס

שתי דרכים ללמוד (וללמד) תכנות מאפס

13/03/2017
C++

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

התחלתי לקרוא את הספר C++ Primer Plus ומסתמן בינתיים שזהו אחד מהספרים הטובים ללמוד דרכם תכנות מאפס. בכך הוא מצטרף ל Learn Python The Hard Way. אלה ההבדלים המרכזיים בין הגישות:

1. לפרקטיים: Learn Python The Hard Way

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

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

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

2. למתעמקים: הספר C++ Primer Plus

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

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

לדוגמא ההסבר על מהו משתנה בספר LPTHW מסתכם בשורה וחצי ואומר שמשתנה הוא שם של משהו. ב C++ Primer Plus ההסבר הוא ארוך בהרבה ומסביר שהמשהו הוא בעצם מקום שהוקצה בזיכרון, ולמקום הזה יש גודל וסוג מידע שמאוחסן בו, והמשתנה מספק דרך לשפר את הקריאות לעומת ציון כתובות בזיכרון כל הזמן. ואז הם ממשיכים בעוד כמה עמודים להסביר על Naming Schemes ואיזה שמות לבחור למשתנים.

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