אז החלטת להתחיל לתכנת - מה עכשיו?

Alonisser ,19/01/2012

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

 

הנה כמה נקודות שיעזרו לאוריינטציה ולהתקדמות:

 

  1. תבחרו שפה: ושתהיה שפה מודרנית, שפה אולטרא מודרנית שימושית כמו פייטון (שאנחנו אוהבים), רובי (מעריכים), php (שלום, שלום) או javascript (קשה לקרוא לה אולטרא מודרנית, אבל מצד שני - אני חושב שזו השפה שהכי רצה קדימה במהירות היום)
  2. תשתמשו בIDE : ראשי תיבות של Integrated Development Enviroment או בשפת הקודש:סביבת פיתוח משולבת.  ולא אל תאמינו למי שיגיד לכם שתכנות אמיתי עושים עם Notepad (להכניס קישור )או רק עם vim או עם בחריטה על לוחות חרס או עם פרפרים. אנחנו במאה ה21 ואנחנו רוצים לתכנת לא להיות מכונות שזוכרות בע"פ את הדקדוק של כמה שפות. מה הוא נותן? עיצוב אוטומטי של הטקסט בהתאם לשפה, השלמת פקודות, הצבעה על שגיאות סינטקס , פקודות מקוצרות ועוד.איזה IDE? יש המון, אנחנו אוהבים komodo lite (ואם לא צריך עברית טובה אז sublime ), יש גם Aptana 3, מיליון וריאציות שבנויות על eclipse ועוד.
  3. תכירו מהר את הווב: הרי בגלל זה מראש רציתם לתכנת נכון? עכדי לבנות את האתר המהמם האפליקציה החדשנית, הישום פורץ הדרך שלכם?. נכון, אי אפשר (או כרגע אי אפשר) לבנות רק בסביבת הווב. אבל הכרות מוקדמת עם הווב תבטיח תחושת הצלחה (הי אמא ! הנה האתר החדש שלי) ומגרש משחקים פורה לדברים שתתכנתו מאחורה. תלמדו Html וCss ואם לא בחרתם בjs כשפת תכנות, אז לפחות קצת בשביל צד המשתמש.
  4. תעשו מנוי: על בלוגים מקצועיים בטכנולוגיות שאתם מתעיינים בהם, על קבוצות הדיון הרלוונטיות, על אתרי מדריכים (כמו nettuts המצוין), לא תבינו הכל אבל תקבלו אוריינטציה על השדה, על מה הטכנולוגיות המאתגרות החדשות וכו'. נתקלתם במושג לא מוכר? גגלו אותו - מעניין? תנסו או תשאלו (ע"ע נקודה 8  ו7)
  5. תשתתפו בשיחה: והשיחה קוראת בקבוצות הדיון של הטכנולוגיות שאתם משתמשים, בטוויטר,פייסבוק וגוגל פלוס (ש techies להבדיל מכם כן משתמשים בו). לא בטוחים אחרי מי לעקוב? תשתכלו אחרי מי שאתם כן מכירים שבתחום עוקב ותתחילו משם.
  6. תקראו: תמצאו ספר טוב, או שניים. תלכו איתו לישון בלילה. ספר טוב נותן מבט רחב על טכנולוגיה מסויימת או ספר מבוא כללי לתכנות (ורשימה של ספרים שכל מתכנת צריך לקרוא וגם ספרים חינמיים ברשת).
  7. אל תתביישו לשאול: תשאלו הרבה ומהר, אל תתנו לבעיה לתקוע אותכם, אבל תשאלו רק אחרי שדפקתם את הראש בקיר , חיפשתם בגוגל ובפורומים וכו'.  והנה גם מדריך שכתבנו בנושא stackoverflow.
  8. תפתרו בעיה: כמו שכתבו את זה הרבה יותר טוב יותר מאיתנו - Scratch your own itch, תפתרו בעיה שמטרידה אותכם, זה יתן לכם מוטיביציה לעבור את השלבים הקשים בעקומת הלמידה (אם אני אצליח את זה אני אחסוך חצי שעה בעבודה השוטפת שלי! שווה 40 שעות תכנות) ותחושת הישג וערך אמיתית.
  9. תתנסו:  ראיתם כלי חדש, טכנולוגיה מעניינת, קטעקוד נחמד? תנסו אותו, תכתבו אותו עם שינוי קטן, תעשו את המדריך הראשוני. ככל שתכירו יותר טכנולוגיות תוכלו יותר לבחור מה הטכנולוגיה הנכונה עבורכם.
  10. תשחקו עם Framework: צמיחת הframeworks - כלים לRapid Application Development (או בקיצור RAD) אפשרו חלק ממהפכת התוכנה הנוכחית, הפיתוח ובעיקר הפרוטוטייפינג הופך למהיר בהרבה ואפשר לראות תוצאה ראשונית על המסך תוך דקות ולקבל פידבק מהיר - טוב/לא טוב? בכיוון/לא בכיוון? . בכל השפות המודרניות יש כאלו ואפשר למנות את  knockout ,asp.net, django,Ruby on rails ,grails ואחרות. ובשביל ההתחלה תתנסו עם מיקרופריימוורק (אנחנו אוהבים את bottle בפייטון) שיש בה פחות קסם מאחורי הקלעים ויותר ברור מה קורה.
  11. תציצו מאחורי מסך ההפשטה: כלי הפיתוח המודרניים מאפשרים לנו לפתח מהר, חזק, אלגנטי ויעיל. אנחנו יכולים להרים פרוטוטייפס בשעות, יישומים בימים או שבועות. כלי Orm לטפל בsql, ספריות javascript כמו jQuery,פריימוורקס לRAD שקיימות היום בכל שפות התכנות המודרניות, כלים שבונים בדיקות, כלים שיוצרים קוד, תבניות וקונפיגורציות מוכנות וחוסכות דרך. כל אלו מפשטים מאוד את הפיתוח המורכב ומפשיטים בעצם מאחוריהם פעולות שמתכנתים היו צריכים לטפל בהם לפני עשרים שנה כמו ניהול זכרון, או לפני חמש שנים (כתיבת sql ישירות) וזה כיף ומסייע (ואנחנו רוצים לתכנת כי זה כיף) וקסם אבל בסוף מגיע הרגע שההפשטה מרימה את ראשה המכוער.  שמשהו פשוט לא עובד ואתם לא מבינים למה.. וזה לא עובד כי אין הפשטות שלא נוזלות לפעמים (למשל כאלו שקשורות ליוניקוד ולניסיון לכתוב תוכנה שמדברת בלשון הקודש). אז כדאי להכיר מה מסתתר מאחורי הדפדפן, מתחת למכסה המנוע של המחשב ושאר הכלים שאנחנו משתמשים בהם.
  12. והכי חשוב - תכתבו המון קוד: בסופו של דבר הדרך היחידה ללמוד לתכנת היא לתכנת המון (ועוד קצת).
והנה רשימה בנושא איך ללמוד תכנות למתחילים ואיך ללמד את חברה שלך לתכנת (או חבר..)

יש לכם עוד טיפים למתכנתים בתחילת הדרך? זרקו לנו בהערות ונוסיף.

תגובה אחת

  1. [...] הי  כולם, קצת שיניתי את הפורמט, פיצלתי לשלושה תחומי משנה: רשימת קריאה, מצאנו ברשת ולמפתחים.  אפשר להבין מהשמות מה תחומי העניין. המטרה היא לא להתיש את מי שהוא לא מהזווית הטכנית בחומרים שירתקו מפתחים (אולי) אבל לאו דווקא את ליטרט הרשת הממוצע שלנו. גם אם אתם לא מפתחים אתם כן מוזמנים להעיף מבט - יש שם חומר מגניב והי, אולי תרצו להיות מפתחים בעצמכם. [...]

תגובה